From bb04125d16bc57a04123fb11eceda4bb96c49936 Mon Sep 17 00:00:00 2001 From: dphuang2 Date: Fri, 29 Mar 2024 15:59:34 -0700 Subject: [PATCH] publish rated.network, realcube, packetfabric --- .../from-custom-request_griffin.com.yaml | 2 +- .../from-custom-request_measureone.com.yaml | 2 +- .../from-custom-request_packetfabric.com.yaml | 9836 ++++ .../from-custom-request_rated.network.yaml | 2779 + .../from-custom-request_realcube.com.yaml | 11226 ++++ ...m-request_visier.com_TenantManagement.yaml | 2 +- .../postmarkapp.com_server_1.0.0.yaml | 2 +- sdks/db/category-cache.yaml | 3 + sdks/db/custom-request-last-fetched.yaml | 3 + .../packetfabric.com.yaml | 43139 +++++++++++++++ .../custom-request-specs/rated.network.yaml | 8436 +++ .../db/custom-request-specs/realcube.com.yaml | 37144 +++++++++++++ .../packet-fabric-fixed-spec.yaml | 43168 +++++++++++++++ .../fixed-specs-cache/rated-fixed-spec.yaml | 8454 +++ .../realcube-fixed-spec.yaml | 37184 +++++++++++++ .../fixed-specs/packet-fabric-fixed-spec.yaml | 43181 ++++++++++++++++ sdks/db/fixed-specs/rated-fixed-spec.yaml | 8419 +++ sdks/db/fixed-specs/realcube-fixed-spec.yaml | 38749 ++++++++++++++ .../packet-fabric.json | 3 + .../rated.json | 3 + .../realcube.json | 3 + .../packetfabric/openapi.yaml | 43139 +++++++++++++++ .../rated/openapi.yaml | 8436 +++ .../realcube/openapi.yaml | 37144 +++++++++++++ .../packetfabric.com.yaml | 107 + .../rated.network.yaml | 48 + .../realcube.com.yaml | 156 + sdks/db/progress/packet-fabric-progress.yaml | 2337 + sdks/db/progress/rated-progress.yaml | 560 + sdks/db/progress/realcube-progress.yaml | 9861 ++++ .../from-custom-request_griffin.com.json | 4 +- .../from-custom-request_measureone.com.json | 4 +- .../from-custom-request_packetfabric.com.json | 13971 +++++ .../from-custom-request_rated.network.json | 4236 ++ .../from-custom-request_realcube.com.json | 18690 +++++++ ...m-request_visier.com_TenantManagement.json | 4 +- .../postmarkapp.com_server_1.0.0.json | 4 +- sdks/db/spec-data/domainsdb.info_1.0.json | 2 +- .../from-custom-request_griffin.com.json | 2 +- .../from-custom-request_measureone.com.json | 2 +- .../from-custom-request_packetfabric.com.json | 23 + .../from-custom-request_rated.network.json | 19 + .../from-custom-request_realcube.com.json | 163 + ...m-request_visier.com_TenantManagement.json | 2 +- sdks/db/spec-data/microcks.local_1.7.0.json | 2 +- .../postmarkapp.com_server_1.0.0.json | 2 +- .../sportsdata.io_nhl-v3-scores_1.0.json | 2 +- ...local_Catalog-API-Seller-Portal_1.0.0.json | 2 +- .../vtex.local_Giftcard-API_1.0.json | 2 +- sdks/db/spec-data/wowza.com_1.json | 2 +- sdks/publish.yaml | 82 + sdks/src/assign-category-to-api.ts | 1 + sdks/src/collect-from-custom-requests.ts | 13 + 53 files changed, 430738 insertions(+), 22 deletions(-) create mode 100644 sdks/db/cached-method-objects/from-custom-request_packetfabric.com.yaml create mode 100644 sdks/db/cached-method-objects/from-custom-request_rated.network.yaml create mode 100644 sdks/db/cached-method-objects/from-custom-request_realcube.com.yaml create mode 100644 sdks/db/custom-request-specs/packetfabric.com.yaml create mode 100644 sdks/db/custom-request-specs/rated.network.yaml create mode 100644 sdks/db/custom-request-specs/realcube.com.yaml create mode 100644 sdks/db/fixed-specs-cache/packet-fabric-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs-cache/rated-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs-cache/realcube-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs/packet-fabric-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs/rated-fixed-spec.yaml create mode 100644 sdks/db/fixed-specs/realcube-fixed-spec.yaml create mode 100644 sdks/db/generate-repository-description-cache/packet-fabric.json create mode 100644 sdks/db/generate-repository-description-cache/rated.json create mode 100644 sdks/db/generate-repository-description-cache/realcube.json create mode 100644 sdks/db/intermediate-fixed-specs/packetfabric/openapi.yaml create mode 100644 sdks/db/intermediate-fixed-specs/rated/openapi.yaml create mode 100644 sdks/db/intermediate-fixed-specs/realcube/openapi.yaml create mode 100644 sdks/db/processed-custom-request-cache/packetfabric.com.yaml create mode 100644 sdks/db/processed-custom-request-cache/rated.network.yaml create mode 100644 sdks/db/processed-custom-request-cache/realcube.com.yaml create mode 100644 sdks/db/progress/packet-fabric-progress.yaml create mode 100644 sdks/db/progress/rated-progress.yaml create mode 100644 sdks/db/progress/realcube-progress.yaml create mode 100644 sdks/db/published/from-custom-request_packetfabric.com.json create mode 100644 sdks/db/published/from-custom-request_rated.network.json create mode 100644 sdks/db/published/from-custom-request_realcube.com.json create mode 100644 sdks/db/spec-data/from-custom-request_packetfabric.com.json create mode 100644 sdks/db/spec-data/from-custom-request_rated.network.json create mode 100644 sdks/db/spec-data/from-custom-request_realcube.com.json diff --git a/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml b/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml index b71e84f7a..dec357331 100644 --- a/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_griffin.com.yaml @@ -1,4 +1,4 @@ -hash: be34e7d0b6a59a0e24af220f6b57fa60237d2c4339172433040eeb6a65d19828 +hash: b061e811700ad9a082818df7e9f4964e4091984765ed311c047121d3a060c85d methodObjects: - url: /v0/index method: globalPathsFetch diff --git a/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml b/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml index 8fcd9cbb5..0aee2fc55 100644 --- a/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_measureone.com.yaml @@ -1,4 +1,4 @@ -hash: 42c10bae16e764cff84d45537f4dddfe3983bf2d622a39578998abf997dd18b7 +hash: 53f58655dfb1761005c8c0ecd4d8ff4928a31cd4321e0512265128299eed5cb7 methodObjects: - url: /v3/invitations/new method: invitation diff --git a/sdks/db/cached-method-objects/from-custom-request_packetfabric.com.yaml b/sdks/db/cached-method-objects/from-custom-request_packetfabric.com.yaml new file mode 100644 index 000000000..d8c60905c --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_packetfabric.com.yaml @@ -0,0 +1,9836 @@ +hash: 276f50c6f2194def7ac262a39a84fc362a2328ae43afe1720bf2634126808419 +methodObjects: + - url: /v2/activity-logs/{log_uuid} + method: getEntry + httpMethod: get + tag: Activity Logs + typeScriptTag: activityLogs + description: Get activity log entry + parameters: + - name: logUuid + schema: string + required: true + description: UUID of Activity Log entry + example: LOG_UUID + responses: + - statusCode: '200' + description: Holds an information about important events + - url: /v2/activity-logs + method: getActivityLogList + httpMethod: get + tag: Activity Logs + typeScriptTag: activityLogs + description: Get activity log entries + parameters: + - name: level + schema: integer + required: false + description: Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11) + example: 3 + - name: category + schema: string + required: false + description: Filter by category + - name: circuitId + schema: string + required: false + description: > + Unified circuit_id filter, supports filtering by: + + - Port - port_circuit_id (eg. PF-AP-SFO1-58) + + - VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345) + + - Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345) + + - Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345) + + - Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345) + + - Cloud Router Connection - connection_circuit_id (eg. + PF-L3-CON-12345) + + - High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345) + example: PF-BC-NYC-NYC-12345 + - name: description + schema: string + required: false + description: The description of the port to be queried + example: The user description + - name: event + schema: string + required: false + description: Filter by event + example: login + - name: offset + schema: integer + required: false + description: Number of records to skip + example: 20 + - name: pageSize + schema: integer + required: false + description: Number of records to show + example: 10 + - name: sortColumn + schema: string + required: false + description: Column to sort results on + example: time_created + - name: sortOrder + schema: string + required: false + description: Sort order + - name: timeFrom + schema: string + required: false + description: >- + Filter by time_created greater than + (https://docs.packetfabric.com/api/v2/ or equal to this time. + example: '2020-04-01T19:14:42.642Z' + - name: timeTo + schema: string + required: false + description: >- + Filter by time_created less than + (https://docs.packetfabric.com/api/v2/ or equal to this time. + example: '2020-04-30T19:14:42.642Z' + responses: + - statusCode: '200' + description: '' + - url: /v2/api-keys + method: getUserList + httpMethod: get + tag: API keys + typeScriptTag: apiKeys + description: Get the list of user's API keys + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/api-keys + method: createNewKey + httpMethod: post + tag: API keys + typeScriptTag: apiKeys + description: Add the new API key + parameters: + - name: name + schema: string + required: true + description: '' + example: Silver key + - name: expiration + schema: integer + required: false + description: '' + example: 100500 + responses: + - statusCode: '201' + description: Information about API key + - url: /v2/api-keys/{uuid} + method: deleteByKey + httpMethod: delete + tag: API keys + typeScriptTag: apiKeys + description: Deletes API key by UUID + parameters: + - name: uuid + schema: string + required: true + description: Target API key UUID + example: UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/auth/login + method: login + httpMethod: get + tag: Authentication + typeScriptTag: authentication + description: Login + parameters: + - name: sessionToken + schema: string + required: true + description: A valid session_token for the user + example: SESSION_TOKEN + - name: timeout + schema: integer + required: false + description: Timeout in minutes to set the session expiration + responses: + - statusCode: default + description: Redirect to the PacketFabric Portal dashboard + - url: /v2/auth/login + method: startSession + httpMethod: post + tag: Authentication + typeScriptTag: authentication + description: Login + parameters: + - name: login + schema: string + required: true + description: '' + example: LOGIN + - name: password + schema: string + required: true + description: '' + example: PASSWORD + responses: + - statusCode: '200' + description: User session information + - url: /v2/auth/login/mfa + method: mfa + httpMethod: post + tag: Multi-Factor Authentication + typeScriptTag: multiFactorAuthentication + description: Login into the application using a multi-factor authentication code + parameters: + - name: authentication_code + schema: string + required: true + description: '' + example: AUTHENTICATION_CODE + responses: + - statusCode: '200' + description: '' + - url: /v2/auth/logout + method: invalidateSession + httpMethod: get + tag: Authentication + typeScriptTag: authentication + description: Logout + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/auth/sessions + method: removeAllSessions + httpMethod: delete + tag: Authentication + typeScriptTag: authentication + description: Deletes all user sessions + parameters: + - name: userUuid + schema: string + description: User UUID to delete sessions for (for Admin only) + responses: + - statusCode: '200' + description: '' + - url: /v2/auth/sessions + method: getAllActiveUserSessions + httpMethod: get + tag: Authentication + typeScriptTag: authentication + description: Get all active user sessions + parameters: + - name: userUuid + schema: string + description: User UUID to get sessions for (for Admin only) + responses: + - statusCode: '200' + description: '' + - url: /v2/bgp-settings + method: getList + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: >- + Returns a list of BGP settings instances associated with the current + account. + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/bgp-settings/{bgp_settings_uuid}/prefixes + method: listPrefixes + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Returns a list of prefixes associated with a BGP settings instance. + parameters: + - name: bgpSettingsUuid + schema: string + required: true + description: UUID of BGP settings to fetch prefixes for. + example: BGP_SETTINGS_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/bgp-settings/{bgp_settings_uuid}/l3 + method: getL3IflData + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Returns the L3 IFL data associated with a BGP Session. + parameters: + - name: bgpSettingsUuid + schema: string + required: true + description: UUID of BGP settings to fetch prefixes for. + example: BGP_SETTINGS_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/services/{circuit_id} + method: order + httpMethod: get + tag: Billing + typeScriptTag: billing + description: >- + Returns billing details for the given circuit (Port, Cloud, or Virtual + Circuit) + parameters: + - name: circuitId + schema: string + required: true + description: ID of Port, Cloud, or Virtual Circuit to fetch billing data for + example: CIRCUIT_ID + - name: serviceType + schema: string + required: false + description: >- + (https://docs.packetfabric.com/api/v2/ You can specify the type of the + product to fetch the order for + example: cross-connect + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/services/{circuit_id}/modify + method: order + httpMethod: post + tag: Billing + typeScriptTag: billing + description: Modify an existing order + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the order to modify + example: CIRCUIT_ID + - name: subscription_term + schema: integer + description: '' + - name: speed + schema: string + description: '' + example: 100Gbps + - name: billing_product_type + schema: string + description: '' + - name: service_class + schema: string + description: '' + example: longhaul + - name: capacity + schema: string + description: '' + example: 100Gbps + - name: regions + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '202' + description: '' + - url: /v2/billing/services/{circuit_id}/modify/preview + method: modifyOrderPreview + httpMethod: post + tag: Billing + typeScriptTag: billing + description: >- + Preview the price of modifying an existing order. Currently only supports + renewals without speed upgrades. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the order to modify + example: CIRCUIT_ID + - name: subscription_term + schema: integer + description: '' + - name: speed + schema: string + description: '' + example: 100Gbps + - name: billing_product_type + schema: string + description: '' + - name: service_class + schema: string + description: '' + example: longhaul + - name: capacity + schema: string + description: '' + example: 100Gbps + - name: regions + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/services/{account_uuid} + method: accountOrdersGet + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Returns all orders for the given billing account + parameters: + - name: accountUuid + schema: string + required: true + description: UUID of the billing account + example: ACCOUNT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/pricing + method: pricing + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Get pricing for specific services + parameters: + - name: productType + schema: string + required: true + description: '' + example: PRODUCT_TYPE + - name: subscriptionTerm + schema: integer + required: false + description: The subscription term, in months, to retrieve pricing for + - name: locationType + schema: string + required: true + description: >- + Filter pricing info by location type. If no pricing is found, the + service will attempt to search by a broader location type. eg. site -> + pop + example: pop + - name: sideA + schema: string + required: false + description: >- + Code for the a-side location eg. SFO1. When using this paramater to + filter results, ensure location_type is also set. + example: SFO1 + - name: sideZ + schema: string + required: false + description: >- + Code for the z-side location eg. NYC1. When using this paramater to + filter results, ensure location_type is also set. + example: NYC1 + - name: networkProviderA + schema: string + required: false + description: >- + Limit results to pricing for a specific network provider on the a + side. Valid for location_type of market or region. + - name: networkProviderZ + schema: string + required: false + description: >- + Limit results to pricing for a specific network provider on the z + side. Valid for location_type of market or region. + - name: media + schema: string + required: false + description: Optic media type + example: LX + - name: provider + schema: string + required: false + description: Filter pricing by provider type + example: aws + - name: bandwidthType + schema: string + required: false + description: Filter by dedicated or usage-base pricing + example: usage + - name: serviceClass + schema: string + required: false + description: Filter by metro or longhaul connections + example: metro + - name: speed + schema: string + required: false + description: Filter by connection speed + - name: accountUuid + schema: string + required: false + description: Filter for account specific pricing + example: c25e0c64-6da7-487e-8f47-f5e744813976 + - name: addOnFeeKey + schema: string + required: false + description: >- + Filter by the add-on fee key - this is only used for add_on_fee + product types + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/services/early-termination-liability/{circuit_id} + method: earlyTerminationCost + httpMethod: get + tag: Billing + typeScriptTag: billing + description: >- + Returns cost for stopping service on a circuit with a subscription term + early + parameters: + - name: circuitId + schema: string + required: true + description: ID of circuit to get early termination liability for + example: CIRCUIT_ID + - name: terminationDate + schema: string + required: false + description: >- + Datetime (ISO-8601 format) for which to fetch the early termination + liability. Defaults to right now. User's timezone will be used if + timestamp is not timezone aware. Examples: + `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642` + example: '2020-04-01T19:14:42' + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/accounts/{account_uuid}/invoices + method: invoices + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Returns list of invoices + parameters: + - name: accountUuid + schema: string + required: true + description: uuid of the billing account to get the list of invoices for + example: ACCOUNT_UUID + - name: startDate + schema: string + required: false + description: >- + Filter invoices which created after the start_date + (https://docs.packetfabric.com/api/v2/ + example: '2020-04-01' + - name: endDate + schema: string + required: false + description: >- + Filter invoices which created before the end_date + (https://docs.packetfabric.com/api/v2/ + example: '2020-04-01' + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf + method: pdf + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Returns invoice as PDF + parameters: + - name: accountUuid + schema: string + required: true + description: uuid of the billing account to get the list of invoices for + example: ACCOUNT_UUID + - name: invoiceId + schema: integer + required: true + description: Filter invoices which created after the start_date + example: 1 + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv + method: csv + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Returns invoice as CSV + parameters: + - name: accountUuid + schema: string + required: true + description: uuid of the billing account to get the list of invoices for + example: ACCOUNT_UUID + - name: invoiceId + schema: integer + required: true + description: Filter invoices which created after the start_date + example: 1 + - name: condensed + schema: boolean + required: false + description: Get condensed CSV output + example: true + responses: + - statusCode: '200' + description: '' + - url: /v2/billing/stripe/{account_uuid}/stripe_customer_session + method: getStripeCustomerSessionUrl + httpMethod: get + tag: Billing + typeScriptTag: billing + description: Returns stripe customer portal session url + parameters: + - name: accountUuid + schema: string + required: true + description: >- + uuid of the billing account to get the stripe customer portal session + for + example: ACCOUNT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts + method: getCurrentCustomerList + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get the contacts associated with the current customer + parameters: + - name: billing + schema: boolean + required: false + description: Filter for billing contacts (`true`) or non-billing contacts (`false`) + - name: contactUuid + schema: string + required: false + description: Filter contact by UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts + method: post + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Add the contact for the current customer + parameters: + - name: first_name + schema: string + required: false + description: '' + example: James + - name: last_name + schema: string + required: false + description: '' + example: Bond + - name: email + schema: string + required: true + description: '' + example: email@example.com + - name: phone + schema: string + required: true + description: '' + example: 111-111-1111 + - name: address_1 + schema: string + required: false + description: '' + example: 1 Fake Road + - name: address_2 + schema: string + required: false + description: '' + example: Suite 112 + - name: city + schema: string + required: false + description: '' + example: Chicago + - name: state + schema: string + required: false + description: '' + example: IL + - name: postal + schema: string + required: false + description: '' + example: '12345' + - name: country + schema: string + required: false + description: '' + example: US + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: admin + schema: boolean + required: true + description: '' + example: true + - name: billing + schema: boolean + required: true + description: '' + example: true + - name: tech + schema: boolean + required: true + description: '' + example: true + - name: default_billing + schema: boolean + required: false + description: '' + - name: automatic_payments_enabled + schema: boolean + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/contacts/{contact_uuid} + method: delete + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete a single contact + parameters: + - name: contactUuid + schema: string + required: true + description: UUID of the contact to delete + example: CONTACT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts/{contact_uuid} + method: get + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get a single contact + parameters: + - name: contactUuid + schema: string + required: true + description: UUID of the contact to fetch + example: CONTACT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts/{contact_uuid} + method: update + httpMethod: patch + tag: Contacts + typeScriptTag: contacts + description: Update contact + parameters: + - name: contactUuid + schema: string + required: true + description: UUID of the contact to update + example: CONTACT_UUID + - name: first_name + schema: string + description: '' + example: James + - name: last_name + schema: string + description: '' + example: Bond + - name: email + schema: string + description: '' + example: user@example.com + - name: phone + schema: string + description: '' + example: 111-111-1111 + - name: address_1 + schema: string + description: '' + example: 1 Fake Road + - name: address_2 + schema: string + description: '' + example: Suite 112 + - name: city + schema: string + description: '' + example: Chicago + - name: state + schema: string + description: '' + example: IL + - name: postal + schema: string + description: '' + example: '12345' + - name: country + schema: string + description: '' + example: US + - name: po_number + schema: string + description: '' + example: PO-1234 + - name: admin + schema: boolean + description: '' + - name: billing + schema: boolean + description: '' + - name: tech + schema: boolean + description: '' + - name: default_billing + schema: boolean + description: '' + - name: automatic_payments_enabled + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts/{contact_uuid}/links/{circuit_id} + method: deleteLink + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete a link between a technical contact and a circuit + parameters: + - name: contactUuid + schema: string + required: true + description: UUID of the contact to unlink. + example: CONTACT_UUID + - name: circuitId + schema: string + required: true + description: Circuit to unlink. + example: PF-AP-WDC1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts/{contact_uuid}/links/{circuit_id} + method: linkCircuit + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Link a technical contact to a circuit + parameters: + - name: contactUuid + schema: string + required: true + description: UUID of the contact to link. Must be a technical contact. + example: CONTACT_UUID + - name: circuitId + schema: string + required: true + description: Circuit to link. + example: PF-AP-WDC1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/contacts/links + method: getContactCircuitLinks + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Retrieve list of contact-circuit links + parameters: + - name: contactUuid + schema: string + required: false + description: Only retrieve links associated with this contact + - name: circuitId + schema: string + required: false + description: Only retrieve links associated with this circuit + example: PF-AP-WDC1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/company-types + method: getCompanyTypes + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get list of company types + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current + method: get + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get current customer data + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current + method: update + httpMethod: patch + tag: Customers + typeScriptTag: customers + description: Update current customer data + parameters: + - name: description + schema: string + description: '' + example: Importer/exporter + - name: name + schema: string + description: '' + example: Vandelay Industries + - name: website + schema: string + description: '' + example: vandelayindustries.com + - name: aliases + schema: string + description: '' + example: DM Scranton + - name: notes + schema: string + description: '' + example: Cloud services via Amazon Direct Connect + - name: searchable + schema: boolean + description: '' + - name: customer_wide_mfa + schema: boolean + description: '' + - name: password + schema: string + description: '' + example: password111 + - name: company_type_code + schema: string + description: '' + example: LLC + - name: service_provider_types + schema: array + description: '' + - name: industries + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/images/{uuid} + method: getLogoByUuid + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Return customer logo for provided customer's UUID + parameters: + - name: uuid + schema: string + required: true + description: Customer UUID + example: UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current/image + method: uploadLogoImage + httpMethod: post + tag: Customers + typeScriptTag: customers + description: >- + Upload image file with a company logo. Supported formats are PNG, JPEG or + BMP + parameters: + - name: image + schema: string + description: '' + example: JPEG, PNG or BMP image file + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current/locations + method: getLocationList + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get location list for the current customer + parameters: + - name: pop + schema: string + required: false + description: Filter locations by the POP name + example: LAX1 + - name: city + schema: string + required: false + description: Filter locations by the city name + example: Los Angeles + - name: state + schema: string + required: false + description: Filter locations by the state + example: CA + - name: market + schema: string + required: false + description: Filter locations by the market code + example: LAX + - name: region + schema: string + required: false + description: Filter locations by the region's short name + example: US + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current/account-managers + method: getCurrentAccountManagers + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get all customer account managers for the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current/sales-team + method: getCurrentSalesTeam + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get the sales team details for the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/customers + method: customers + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Get customer list by filter params + parameters: + - name: q + schema: string + required: false + description: Search query string used to filter customers by name or description + - name: name + schema: string + required: false + description: Filter customers by exact name + - name: routingId + schema: string + required: false + description: Filter customers by Customer Routing ID + - name: market + schema: string + required: false + description: Filter customers by the market operated in + - name: pop + schema: string + required: false + description: Filter customers by POP name + - name: type + schema: array + required: false + description: >- + Filter customers by type. Accepts either a single value or an array of + values. + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/{customer_uuid}/industries + method: getIndustriesByUuid + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Return customer industries by UUID + parameters: + - name: customerUuid + schema: string + required: true + description: UUID of chosen customer + example: CUSTOMER_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/{customer_uuid}/locations + method: getLocationsByUuid + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Return customer locations by UUID + parameters: + - name: customerUuid + schema: string + required: true + description: UUID of chosen customer + example: CUSTOMER_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/{customer_uuid}/service-provider-types + method: getServiceProviderTypesByUuid + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Return customer service_provider_types by UUID + parameters: + - name: customerUuid + schema: string + required: true + description: UUID of chosen customer + example: CUSTOMER_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/current/ix-details + method: updateIxDetails + httpMethod: patch + tag: Customers + typeScriptTag: customers + description: Update IX details for the current customer + parameters: + - name: pricing_url + schema: string + description: '' + example: https://ix-example.pf/connect/guide + - name: redirect_url + schema: string + description: '' + example: https://ix-example.pf/connect/provision + - name: tiers + schema: array + description: '' + - name: order_completion_method + schema: string + description: '' + example: email + - name: email + schema: string + description: '' + example: contacts@ix-example.pf + responses: + - statusCode: '200' + description: '' + - url: /v2/customers/{customer_uuid}/ix-details + method: ixDetailsGet + httpMethod: get + tag: Customers + typeScriptTag: customers + description: Return IX details by IX customer UUID + parameters: + - name: customerUuid + schema: string + required: true + description: UUID of chosen customer + example: CUSTOMER_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/diagnostic-reports + method: reports + httpMethod: get + tag: Diagnostic Reports + typeScriptTag: diagnosticReports + description: Get diagnostic reports + parameters: + - name: pageSize + schema: integer + required: false + description: The number of results to return per page + - name: reason + schema: string + required: false + description: The reason to filter by + - name: userLogin + schema: string + required: false + description: The user login to filter by + - name: circuitId + schema: string + required: false + description: Circuit ID of the service to get the reports + - name: offset + schema: integer + required: false + description: The offset of results for this page + - name: q + schema: string + required: false + description: Search query string used to filter reports + - name: description + schema: string + required: false + description: The user provided description of the report + - name: sortColumn + schema: string + required: false + description: Column to sort results on + - name: sortOrder + schema: string + required: false + description: The offset of results for this page + responses: + - statusCode: '200' + description: '' + - url: /v2/diagnostic-reports + method: createReport + httpMethod: post + tag: Diagnostic Reports + typeScriptTag: diagnosticReports + description: Create a diagnostic report + parameters: + - name: description + schema: string + required: false + description: '' + example: User provided description + - name: circuit_ids + schema: array + required: true + description: '' + - name: start_time + schema: string + required: true + description: '' + example: START_TIME + - name: include_related + schema: boolean + required: false + description: '' + example: false + responses: + - statusCode: '200' + description: '' + - url: /v2/diagnostic-reports/{report_uuid} + method: report + httpMethod: delete + tag: Diagnostic Reports + typeScriptTag: diagnosticReports + description: Delete diagnostic report + parameters: + - name: reportUuid + schema: string + required: true + description: UUID of the diagnostic report to delete + example: REPORT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/diagnostic-reports/{report_uuid} + method: report + httpMethod: get + tag: Diagnostic Reports + typeScriptTag: diagnosticReports + description: Get diagnostic report details by UUID + parameters: + - name: reportUuid + schema: string + required: true + description: UUID of the diagnostic report to fetch + example: REPORT_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/documents + method: listFilteredByParams + httpMethod: get + tag: Documents + typeScriptTag: documents + description: Get documents list filtered by params + parameters: + - name: uuid + schema: string + description: Search documents by UUID + example: 12a30d30-20c0-4f62-a982-eb1424631094 + - name: name + schema: string + required: false + description: Search document by name + example: loa.pdf + - name: type + schema: string + description: Search document by type + example: loa + - name: portCircuitId + schema: string + description: Search LOA by port id + example: PF-AP-WDC1-1000 + - name: pop + schema: string + description: Search LOA by pop + example: WDC1 + - name: vcCircuitId + schema: string + description: Search service orders by Virtual Circuit ID + example: PF-DC-SMF-PDX-12345 + - name: cloudRouterCircuitId + schema: string + description: Search service orders by Cloud Router Circuit ID + example: PF-L3-CUST-1400 + - name: cloudRouterConnectionCircuitId + schema: string + description: Search service orders by Cloud Router Connection Circuit ID + example: PF-L3-CON-12345 + - name: hpiCircuitId + schema: string + description: Search service orders by High Performance Internet Circuit ID + example: PF-L3-TRAN-1400 + - name: aggregateCapacityId + schema: string + description: Search service orders by Flex Bandwidth Container ID + example: PF-AB-12345 + - name: flexBandwidthId + schema: string + description: Search service orders by Flex Bandwidth Container ID + example: PF-AB-12345 + - name: q + schema: string + required: false + description: Search documents by partial name + example: loa + - name: offset + schema: integer + required: false + description: Number of records to skip + example: 20 + - name: pageSize + schema: integer + required: false + description: Number of records to show + example: 10 + - name: sortColumn + schema: string + required: false + description: Column to sort results on + - name: sortOrder + schema: string + required: false + description: Sort order + responses: + - statusCode: '200' + description: '' + - url: /v2/documents + method: upload + httpMethod: post + tag: Documents + typeScriptTag: documents + description: Create/Upload a document + parameters: + - name: description + schema: string + required: true + description: '' + example: description example + - name: document + schema: string + required: true + description: '' + example: DOCUMENT + - name: type + schema: string + required: true + description: '' + example: loa + - name: port_circuit_id + schema: string + required: false + description: '' + example: PF-AP-WDC1-1000 + responses: + - statusCode: '201' + description: '' + - url: /v2/documents/{uuid} + method: download + httpMethod: get + tag: Documents + typeScriptTag: documents + description: Download the document + parameters: + - name: uuid + schema: string + required: true + description: UUID of the document to download + example: UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/events + method: createSubscription + httpMethod: post + tag: Streaming Events - Beta + typeScriptTag: streamingEventsBeta + description: Create event subscription + parameters: + - name: streams + schema: array + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/events/{uuid} + method: events + httpMethod: get + tag: Streaming Events - Beta + typeScriptTag: streamingEventsBeta + description: Stream events + parameters: + - name: uuid + schema: string + required: true + description: UUID of the subscription bundle + example: UUID + responses: + - statusCode: default + description: '' + - url: /v2/flex-bandwidth + method: getAllContainers + httpMethod: get + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Get all flex bandwidth containers for the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/flex-bandwidth + method: createContainer + httpMethod: post + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Create a flex bandwidth container + parameters: + - name: description + schema: string + required: true + description: '' + example: Flex bandwidth container description + - name: account_uuid + schema: string + required: true + description: '' + example: ACCOUNT_UUID + - name: subscription_term + schema: integer + required: true + description: '' + example: 12 + - name: capacity + schema: string + required: true + description: '' + example: 100Gbps + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/flex-bandwidth/{flex_bandwidth_id} + method: deleteContainer + httpMethod: delete + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Delete a flex bandwidth container + parameters: + - name: flexBandwidthId + schema: string + required: true + description: The ID of the flex bandwidth container + example: PF-AB-1234 + responses: + - statusCode: '200' + description: Aggregate Capacity deleted successfully + - url: /v2/flex-bandwidth/{flex_bandwidth_id} + method: getById + httpMethod: get + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Get a flex bandwidth container by ID + parameters: + - name: flexBandwidthId + schema: string + required: true + description: The ID of the flex bandwidth container + example: PF-AB-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/groups + method: get + httpMethod: get + tag: Groups + typeScriptTag: groups + description: Get the current customer's groups + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/groups/{group_name}/users + method: getUserList + httpMethod: get + tag: Groups + typeScriptTag: groups + description: Get the list of users in the group + parameters: + - name: groupName + schema: string + required: true + description: Name of the group to get the list of users in + example: regular + responses: + - statusCode: '200' + description: '' + - url: /v2/groups/{group_name}/permissions + method: listPermissions + httpMethod: get + tag: Groups + typeScriptTag: groups + description: Get the list of permissions granted for the group + parameters: + - name: groupName + schema: string + required: true + description: Name of the group to get the list of permissions in + example: regular + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/{site_code} + method: location + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get location data for specified location + parameters: + - name: siteCode + schema: string + required: true + description: Site code of the target location + example: CS-LA1 + responses: + - statusCode: '200' + description: '' + - url: /v2/locations + method: filterParamsList + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get location list by filter params + parameters: + - name: pop + schema: string + required: false + description: Filter locations by the POP name + example: LAX1 + - name: city + schema: string + required: false + description: Filter locations by the city name + example: Los Angeles + - name: state + schema: string + required: false + description: Filter locations by the state + example: CA + - name: market + schema: string + required: false + description: Filter locations by the market code + example: LAX + - name: region + schema: string + required: false + description: Filter locations by the region's short name + example: US + - name: anyType + schema: boolean + required: false + description: >- + Flag specifying should only primary locations or locations of any type + be returned + default: false + - name: ipsecCapable + schema: boolean + required: false + description: >- + Flag specifying that only locations capable of IPSec should be + returned + default: false + - name: natCapable + schema: boolean + required: false + description: Flag specifying that only locations capable of NAT should be returned + default: false + - name: nearCloudRouter + schema: boolean + required: false + description: >- + Flag specifying that only locations with a proximity to a Cloud Router + port should be returned + default: false + - name: singleArmed + schema: boolean + required: false + description: Filter locations by whether or not they are single armed + default: false + - name: devicePortType + schema: string + required: false + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + example: blue + responses: + - statusCode: '200' + description: '' + - url: /v2.1/locations + method: filterParamsList + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get location list by filter params + parameters: + - name: pop + schema: string + required: false + description: Filter locations by the POP name + example: LAX1 + - name: city + schema: string + required: false + description: Filter locations by the city name + example: Los Angeles + - name: state + schema: string + required: false + description: Filter locations by the state + example: CA + - name: market + schema: string + required: false + description: Filter locations by the market code + example: LAX + - name: region + schema: string + required: false + description: Filter locations by the region's short name + example: US + - name: anyType + schema: boolean + required: false + description: >- + Flag specifying should only primary locations or locations of any type + be returned + default: false + - name: ipsecCapable + schema: boolean + required: false + description: >- + Flag specifying that only locations capable of IPSec should be + returned + default: false + - name: natCapable + schema: boolean + required: false + description: Flag specifying that only locations capable of NAT should be returned + default: false + - name: nearCloudRouter + schema: boolean + required: false + description: >- + Flag specifying that only locations with a proximity to a Cloud Router + port should be returned + default: false + - name: cloudProvider + schema: string + required: false + description: Filter locations by the cloud provider + - name: cloudConnectionType + schema: string + required: false + description: Filter locations by the cloud connection type + - name: networkProvider + schema: string + required: false + description: Filter locations by the network provider + example: PacketFabric + - name: singleArmed + schema: boolean + required: false + description: Filter locations by whether or not they are single armed + - name: export + schema: string + required: false + description: Export the data as a CSV file + example: csv + - name: enni + schema: boolean + required: false + description: Filter locations by whether or not they support ENNI + - name: devicePortType + schema: string + required: false + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + example: blue + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/cloud + method: listCloudLocations + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get a list of cloud locations filtered by query params + parameters: + - name: pop + schema: string + required: false + description: Filter locations by the POP name + example: LAX1 + - name: city + schema: string + required: false + description: Filter locations by the city name + example: Los Angeles + - name: state + schema: string + required: false + description: Filter locations by the state + example: CA + - name: market + schema: string + required: false + description: Filter locations by the market code + example: LAX + - name: region + schema: string + required: false + description: Filter locations by the region's short name + example: US + - name: anyType + schema: boolean + required: false + description: >- + Flag specifying should only primary locations or locations of any type + be returned + default: false + - name: hasCloudRouter + schema: boolean + required: false + description: Flag to look for only cloud-router capable locations + default: false + - name: cloudProvider + schema: string + required: true + description: Filter locations by the cloud provider key + example: CLOUD_PROVIDER + - name: cloudConnectionType + schema: string + required: true + description: Filter locations by the cloud connection type + example: CLOUD_CONNECTION_TYPE + - name: natCapable + schema: boolean + required: false + description: Flag specifying that only locations capable of NAT should be returned + default: false + - name: devicePortType + schema: string + required: false + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + example: blue + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/extrametro + method: listExtrametro + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get a list of extrametro locations + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/regions + method: list + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get region list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/markets + method: getMarketList + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get market list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/{pop}/port-availability + method: getPortAvailabilityDataForPop + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get port availability data for a POP + parameters: + - name: pop + schema: string + required: true + description: POP name of the target port + example: POP + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/{pop}/zones + method: getZonesForPop + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get zones for a POP. + parameters: + - name: pop + schema: string + required: true + description: POP name of the target port + example: POP + responses: + - statusCode: '200' + description: '' + - url: /v2/locations/{pop}/image + method: getImage + httpMethod: get + tag: Locations + typeScriptTag: locations + description: Get image for a specified location + parameters: + - name: pop + schema: string + required: true + description: POP name of the target location + example: POP + responses: + - statusCode: '200' + description: '' + - url: /v2/labels/{value} + method: associatedObjectsGet + httpMethod: get + tag: Labels + typeScriptTag: labels + description: Get a list of objects associated with a label + parameters: + - name: value + schema: string + required: true + description: Label value + example: VALUE + - name: labelType + schema: string + required: false + description: >- + Label type. customer_ref by default. reseller_ref is only for the + reseller customers + responses: + - statusCode: '200' + description: '' + - url: /v2/labels/{value} + method: label + httpMethod: patch + tag: Labels + typeScriptTag: labels + description: Add to a label's circuit_ids + parameters: + - name: value + schema: string + required: true + description: Label value + example: VALUE + - name: label_type + schema: string + required: false + description: '' + - name: objects + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/labels/{value} + method: label + httpMethod: put + tag: Labels + typeScriptTag: labels + description: Update a label + parameters: + - name: value + schema: string + required: true + description: Label value + example: VALUE + - name: label_type + schema: string + required: false + description: '' + - name: objects + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/labels + method: labels + httpMethod: get + tag: Labels + typeScriptTag: labels + description: Get a list of labels associated with a customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/lags + method: post + httpMethod: post + tag: LAGs + typeScriptTag: laGs + description: Create a LAG Interface + parameters: + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: interval + schema: string + required: true + description: '' + example: INTERVAL + - name: pop + schema: string + required: true + description: '' + example: LAX1 + - name: members + schema: array + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/lags/{port_circuit_id} + method: delete + httpMethod: delete + tag: LAGs + typeScriptTag: laGs + description: Deletes a LAG Interface + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AE-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{port_circuit_id} + method: patch + httpMethod: patch + tag: LAGs + typeScriptTag: laGs + description: Updates a LAG Interface + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AE-LAX1-1234 + - name: description + schema: string + description: '' + - name: interval + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{port_circuit_id}/enable + method: enableTargetInterface + httpMethod: post + tag: LAGs + typeScriptTag: laGs + description: Enables a target LAG Interface + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AE-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{port_circuit_id}/disable + method: disableTargetInterface + httpMethod: post + tag: LAGs + typeScriptTag: laGs + description: Disables a target LAG Interface + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AE-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{lag_port_circuit_id}/members + method: listMembers + httpMethod: get + tag: LAGs + typeScriptTag: laGs + description: Lists member interfaces for a LAG + parameters: + - name: lagPortCircuitId + schema: string + required: true + description: ID of a LAG + example: PF-AE-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{lag_port_circuit_id}/members + method: addMemberInterface + httpMethod: post + tag: LAGs + typeScriptTag: laGs + description: >- + Adds a member interface to a target LAG. All members must have the same + speed and media. + parameters: + - name: lagPortCircuitId + schema: string + required: true + description: ID of a target LAG + example: PF-AE-LAX1-1234 + - name: member_port_circuit_id + schema: string + required: true + description: '' + example: PF-AE-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id} + method: removeMemberInterface + httpMethod: delete + tag: LAGs + typeScriptTag: laGs + description: Remove a member interface from a target LAG + parameters: + - name: lagPortCircuitId + schema: string + required: true + description: ID of a target LAG + example: PF-AE-LAX1-1234 + - name: memberPortCircuitId + schema: string + required: true + description: ID of the member to remove + example: PF-AE-LAX1-7890 + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services + method: customerServicesGet + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Get the collection of customers with services offered in the marketplace + parameters: + - name: routingId + schema: string + required: false + description: >- + Filters the service list to a specific service-provider customer. + Allows multiple comma-separated values. + example: GAL-OHR-I9MM + - name: pop + schema: string + required: false + description: >- + Filters the service list to a specific location. Allows multiple + comma-separated values. + example: SAC1 + - name: market + schema: string + required: false + description: >- + Filters the service list to a specific market. Allows multiple + comma-separated values. + example: SAC + - name: category + schema: string + required: false + description: Filters the service list to a specific category + example: cloud-computing + - name: industry + schema: string + required: false + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + example: telecommunications + - name: serviceProviderType + schema: string + required: false + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + example: Cloud Computing Providers + - name: serviceType + schema: string + required: false + description: >- + Filters the service list by service type. Allows multiple + comma-separated values. Defaults to port-service. + example: Port Service + - name: showUnpublished + schema: boolean + required: false + description: >- + Show unpublished services. Only returns results for the current + customer. Defaults to false. + example: true + - name: q + schema: string + required: false + description: >- + Filters services by partial name, description, service uuid, or + customer name + example: 2ab4-948d-6954-2ab4 + - name: showEmpty + schema: boolean + required: false + description: Show cloud-router services with no prefixes. + example: true + default: false + - name: offset + schema: integer + required: false + description: Number of records to skip + example: 20 + - name: pageSize + schema: integer + required: false + description: Number of records to show + example: 10 + - name: sortColumn + schema: string + required: false + description: Column to sort results on + - name: sortOrder + schema: string + required: false + description: Pagination sort order. + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services + method: createService + httpMethod: post + tag: Marketplace + typeScriptTag: marketplace + description: Create a new service + parameters: + - name: description + schema: string + required: false + description: '' + example: Example description + - name: name + schema: string + required: true + description: '' + example: Example Service + - name: state + schema: string + required: false + description: '' + example: Active + - name: sku + schema: string + required: false + description: '' + example: ddos-prot + - name: locations + schema: array + required: false + description: '' + - name: categories + schema: array + required: false + description: '' + - name: published + schema: boolean + required: true + description: '' + example: true + - name: service_type + schema: string + required: false + description: '' + example: port-service + - name: cloud_router_circuit_id + schema: string + required: false + description: '' + example: PF-L3-CUST-2001 + - name: route_set + schema: object + required: false + description: '' + - name: max_speed + schema: string + required: false + description: '' + example: 10Gbps + responses: + - statusCode: '201' + description: '' + - url: /v2/marketplace/services/quick-connect + method: quickConnectList + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Get the collection of Quick Connect services + parameters: + - name: routingId + schema: string + required: false + description: Filters the service list to a specific service-provider customer. + example: GAL-OHR-I9MM + - name: published + schema: boolean + required: false + description: >- + Indicates whether to return published services or unpublished + services, used with routing_id param. + example: true + - name: category + schema: string + required: false + description: >- + Filters the service list to a specific category. Allows multiple + comma-separated values. + example: cloud-computing + - name: industry + schema: string + required: false + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + example: telecommunications + - name: serviceProviderType + schema: string + required: false + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + example: Cloud Computing Providers + - name: l3NfId + schema: integer + required: false + description: Filters the service list by the attached cloud router id. + example: 1000 + - name: q + schema: string + required: false + description: Filters services by partial name, description or service uuid + example: 2ab4-948d-6954-2ab4 + - name: showEmpty + schema: boolean + required: false + description: Show cloud-router services with no prefixes. + example: true + default: false + - name: offset + schema: integer + required: false + description: Number of records to skip + example: 20 + - name: pageSize + schema: integer + required: false + description: Number of records to show + example: 10 + - name: sortColumn + schema: string + required: false + description: Column to sort results on + - name: sortOrder + schema: string + required: false + description: Pagination sort order. + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid} + method: deleteService + httpMethod: delete + tag: Marketplace + typeScriptTag: marketplace + description: Delete a marketplace service + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid} + method: getServiceObject + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Get a single service object + parameters: + - name: serviceUuid + schema: string + required: true + description: UUID by which to filter + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid} + method: updateService + httpMethod: patch + tag: Marketplace + typeScriptTag: marketplace + description: Update a service + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + - name: description + schema: string + description: '' + example: Example description + - name: name + schema: string + description: '' + example: Example Service + - name: state + schema: string + description: '' + example: Active + - name: sku + schema: string + description: '' + example: ddos-prot + - name: locations + schema: array + description: '' + - name: categories + schema: array + description: '' + - name: published + schema: boolean + description: '' + example: true + - name: max_speed + schema: string + description: '' + example: 10Gbps + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/image + method: deleteServiceImage + httpMethod: delete + tag: Marketplace + typeScriptTag: marketplace + description: Delete a service's image + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/image + method: serviceImageGet + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Get a service's image + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/image + method: updateServiceImage + httpMethod: post + tag: Marketplace + typeScriptTag: marketplace + description: Update a service's image + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + - name: image + schema: string + required: true + description: '' + example: IMAGE + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/thumbnail + method: serviceThumbnailGet + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Get a service's thumbnail + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/thumbnail + method: updateServiceThumbnail + httpMethod: post + tag: Marketplace + typeScriptTag: marketplace + description: Update a service's thumbnail + parameters: + - name: serviceUuid + schema: string + required: true + description: Service UUID + example: SERVICE_UUID + - name: image + schema: string + required: true + description: '' + example: IMAGE + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/services/{service_uuid}/route-set + method: serviceRouteSetGet + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Returns the Route Set associated with the Marketplace Service. + parameters: + - name: serviceUuid + schema: string + required: true + description: UUID by which to filter + example: SERVICE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/industries + method: get + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Return a list of all possible industries + parameters: + - name: active + schema: boolean + required: false + description: Only return items that are in use by at least one customer + example: true + default: true + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/service-provider-types + method: getServiceProviderTypes + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Return a list of all possible service provider types + parameters: + - name: active + schema: boolean + required: false + description: Only return items that are in use by at least one customer + example: true + default: true + responses: + - statusCode: '200' + description: '' + - url: /v2/marketplace/service-categories + method: getServiceCategories + httpMethod: get + tag: Marketplace + typeScriptTag: marketplace + description: Return a list of all possible service categories + parameters: + - name: active + schema: boolean + required: false + description: Only return items that are in use by at least one customer + example: true + default: true + responses: + - statusCode: '200' + description: '' + - url: /v2/maintenances/history + method: getListIndividualHistories + httpMethod: get + tag: Maintenance Notifications + typeScriptTag: maintenanceNotifications + description: Get list of individual maintenance histories + parameters: + - name: uuid + schema: string + required: false + description: The UUID of the target maintenance + responses: + - statusCode: '200' + description: '' + - url: /v2/maintenances/notifications + method: filterByUuidActionOrType + httpMethod: get + tag: Maintenance Notifications + typeScriptTag: maintenanceNotifications + description: Get maintenance notifications list filtered by uuid, action or type + parameters: + - name: uuid + schema: string + required: false + description: >- + The UUID of the maintenance details object that notifications were + sent in relation to. + - name: action + schema: string + required: false + description: Maintenance action + - name: type + schema: string + required: false + description: Type of maintenance + - name: start + schema: string + required: false + description: Filter by maintenance start date/time. + example: '2020-01-01T12:30:00.000Z' + - name: end + schema: string + required: false + description: Filter by maintenance end date/time. + example: '2020-01-01T14:30:00.000Z' + responses: + - statusCode: '200' + description: '' + - url: /v2/maintenances/by-location + method: getCurrentFutureByPopNameAndMarketCode + httpMethod: get + tag: Maintenance Notifications + typeScriptTag: maintenanceNotifications + description: Get current and future maintenances by pop name and/or market code + parameters: + - name: popNamesList + schema: string + required: false + description: >- + Filter to maintenances that affect this pop, or the market that + contains this pop. Can be specified multiple times to filter by + multiple pops. + example: WDC1 + - name: marketCodesList + schema: string + required: false + description: >- + Filter to maintenances that affect this market. Can be specified + multiple times to filter by multiple markets + example: WDC + responses: + - statusCode: '200' + description: '' + - url: /v2/maintenances/by-service/{circuit_id} + method: getAffectedServiceMaintenances + httpMethod: get + tag: Maintenance Notifications + typeScriptTag: maintenanceNotifications + description: Get current and future maintenances that affect a given service + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the service for which to fetch maintenances + example: PF-AP-WDC1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/ifd/errors/{port_circuit_id} + method: errors + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: List of IFD errors + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/ifd/temperature/{port_circuit_id} + method: temperature + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Optic temperature + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/ifd/optic-data/{port_circuit_id} + method: getOpticDataByPortCircuitId + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Optics light level data + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/ifd/whatcast/{port_circuit_id} + method: whatcast + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Broadcast, Multicast and Unicast data for a given IFD + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/ifd/rate/{type}/{port_circuit_id} + method: rate + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Traffic rate (https://docs.packetfabric.com/api/v2/ by IFD + parameters: + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type} + method: rate + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Traffic rate (https://docs.packetfabric.com/api/v2/ by port circuit id + parameters: + - name: vcCircuitId + schema: string + required: true + description: VC circuit id + example: PF-BC-DA1-DA1-1234567 + - name: portCircuitId + schema: string + required: true + description: Port circuit id + example: PF-AP-DAL1-12345 + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/customer/ifl/rate/{type} + method: customerRateByIfTypeGet + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: >- + Traffic rate (https://docs.packetfabric.com/api/v2/ of the current + customer by IFL + parameters: + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/customer/ifl/summary/{type} + method: customerIflSummaryGet + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: >- + Summary of all IFL traffic rate (https://docs.packetfabric.com/api/v2/ for + the current customer + parameters: + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/customer/ifd/rate/{type} + method: customerIfdRateData + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: >- + Traffic rate (https://docs.packetfabric.com/api/v2/ of the current + customer by IFD + parameters: + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/customer/ifd/summary/{type} + method: customerIfdSummaryGet + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: >- + Summary of all IFD traffic rate (https://docs.packetfabric.com/api/v2/ for + the current customer + parameters: + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/customer/longhaul-usage + method: customerLonghaulUsageGet + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Summary of all traffic per day for the current customer + parameters: + - name: vcCircuitId + schema: string + required: false + description: Virtual Circuit (https://docs.packetfabric.com/api/v2/ identifier + - name: vcCircuitIdList + schema: array + required: false + description: >- + List of Virtual Circuit (https://docs.packetfabric.com/api/v2/ + identifiers + - name: includeIflData + schema: boolean + required: false + description: >- + Boolean to indicate whether more information on the logical interface + (https://docs.packetfabric.com/api/v2/ should be returned + default: false + - name: includeVcData + schema: boolean + required: false + description: >- + Boolean to indicate whether more information on the Virtual Circuit + (https://docs.packetfabric.com/api/v2/ should be returned. + default: false + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type} + method: cloudRouterConnectionRateGet + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: >- + Traffic rate (https://docs.packetfabric.com/api/v2/ of a Layer 3 Interface + by cloud router connection + parameters: + - name: cloudConnectionCircuitId + schema: string + required: true + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + - name: type + schema: string + required: true + description: Type of data being returned (in rate form) + example: TYPE + - name: since + schema: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + schema: string + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + default: now + - name: start + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + schema: string + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + schema: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec + method: getIpsecStatisticsByCloudRouterConnectionCircuitId + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Get IPSec statistics by cloud router connection circuit id + parameters: + - name: cloudConnectionCircuitId + schema: string + required: true + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat + method: getNatStatisticsByCloudRouterConnectionCircuitId + httpMethod: get + tag: Metrics + typeScriptTag: metrics + description: Get NAT statistics by cloud router connection circuit id + parameters: + - name: cloudConnectionCircuitId + schema: string + required: true + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id} + method: port + httpMethod: delete + tag: Ports + typeScriptTag: ports + description: Delete port + parameters: + - name: portCircuitId + schema: string + required: true + description: Port to delete + example: PF-AP-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id} + method: port + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get port info + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id} + method: port + httpMethod: patch + tag: Ports + typeScriptTag: ports + description: Update a port + parameters: + - name: portCircuitId + schema: string + required: true + description: Identifier of the port to update + example: PF-AP-LAX1-1234 + - name: description + schema: string + description: '' + example: User provided description + - name: autoneg + schema: boolean + description: '' + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id}/device-info + method: getDeviceInfo + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get port device info + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id}/letter-of-authorization + method: generateLoa + httpMethod: post + tag: Ports + typeScriptTag: ports + description: Generate and email the LOA for this port + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: loa_customer_name + schema: string + required: true + description: '' + example: Not The Umbrella Corp. + - name: destination_email + schema: string + required: false + description: '' + - name: destination_emails + schema: array + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/ports/{port_circuit_id}/vlan-summary + method: getVlanSummary + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get a summary of VLANs for a specific port + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: includeLogicalInterfaces + schema: boolean + required: false + description: Include list of logical interfaces for this port + - name: minVlan + schema: integer + required: false + description: Minimum VLAN ID to include in the summary + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id}/enable + method: port + httpMethod: post + tag: Ports + typeScriptTag: ports + description: Enable this port + parameters: + - name: portCircuitId + schema: string + required: true + description: Identifier of the port to update + example: PF-AP-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id}/disable + method: port + httpMethod: post + tag: Ports + typeScriptTag: ports + description: Disable this port + parameters: + - name: portCircuitId + schema: string + required: true + description: Identifier of the port to update + example: PF-AP-LAX1-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports/{port_circuit_id}/upgrade + method: upgradeSubscriptionTerm + httpMethod: post + tag: Ports + typeScriptTag: ports + description: Upgrade subscription term on port + parameters: + - name: portCircuitId + schema: string + required: true + description: Identifier of the port to upgrade + example: PF-AP-LAX1-1234 + - name: subscription_term + schema: integer + required: true + description: '' + example: 0 + responses: + - statusCode: '202' + description: '' + - url: /v2/ports/{port_circuit_id}/router-logs + method: getRouterLogs + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get logs for this port's router + parameters: + - name: portCircuitId + schema: string + required: true + description: Port identifier + example: PF-AP-DAL1-12345 + - name: timeFrom + schema: string + required: true + description: > + The ISO 8601 formatted datetime with optional timezone information, to + filter from. Timezone defaults to UTC. + example: '2020-05-23 00:00:00' + - name: timeTo + schema: string + required: true + description: > + The ISO 8601 formatted datetime with optional timezone information, to + filter up to. Timezone defaults to UTC. + example: '2020-05-23 00:00:00' + responses: + - statusCode: '200' + description: '' + - url: /v2.1/ports/{port_circuit_id}/status + method: getServiceStatus + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get Port service status + parameters: + - name: portCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/ports + method: getList + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Get port list + parameters: + - name: q + schema: string + required: false + description: Filter ports by description/circuit id/pop/region + example: LAX + - name: networkProvider + schema: string + required: false + description: >- + Filter ports by network provider. Use "extended-network" to filter all + non-PacketFabric ports + - name: pop + schema: string + required: false + description: Filter ports by point of presence + example: LAX1 + - name: market + schema: string + required: false + description: Filter ports by market code + example: LAX + - name: nearCloudRouter + schema: boolean + required: false + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - name: natCapable + schema: boolean + required: false + description: Filter ports that are NAT capable + example: true + - name: isLag + schema: boolean + required: false + description: Filter LAG ports + example: true + - name: isLagMember + schema: boolean + required: false + description: Filter LAG member ports + example: true + - name: isPtp + schema: boolean + required: false + description: Filter PTP ports + example: true + - name: isCloud + schema: boolean + required: false + description: Filter cloud ports + example: true + - name: isNni + schema: boolean + required: false + description: Filter NNI ports + example: true + - name: pageSize + schema: integer + required: false + description: The number of results to return per page + - name: offset + schema: integer + required: false + description: The offset of results for this page + - name: sortColumn + schema: string + required: false + description: Sort the results + - name: sortOrder + schema: string + required: false + description: Order the results + - name: devicePortType + schema: string + required: false + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + example: blue + responses: + - statusCode: '200' + description: '' + - url: /v2/ports + method: post + httpMethod: post + tag: Ports + typeScriptTag: ports + description: Create a port + parameters: + - name: description + schema: string + required: false + description: '' + example: User provided description + - name: account_uuid + schema: string + required: true + description: '' + example: ACCOUNT_UUID + - name: pop + schema: string + required: true + description: '' + example: LAX1 + - name: customer_site_code + schema: string + required: false + description: '' + example: CS-LA2 + - name: speed + schema: string + required: true + description: '' + example: SPEED + - name: media + schema: string + required: true + description: '' + example: MEDIA + - name: subscription_term + schema: integer + required: true + description: '' + example: 0 + - name: zone + schema: string + required: false + description: '' + example: A + - name: autoneg + schema: boolean + required: false + description: '' + - name: nni + schema: boolean + required: false + description: '' + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/ports/export.csv + method: exportCsv + httpMethod: get + tag: Ports + typeScriptTag: ports + description: Export port list to CSV + parameters: + - name: q + schema: string + required: false + description: Filter ports by description/circuit id/pop/region + example: LAX + - name: networkProvider + schema: string + required: false + description: >- + Filter ports by network provider. Use "extended-network" to filter all + non-PacketFabric ports + - name: pop + schema: string + required: false + description: Filter ports by point of presence + example: LAX1 + - name: market + schema: string + required: false + description: Filter ports by market code + example: LAX + - name: nearCloudRouter + schema: boolean + required: false + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - name: natCapable + schema: boolean + required: false + description: Filter ports that are NAT capable + example: true + - name: isLag + schema: boolean + required: false + description: Filter LAG ports + example: true + - name: isLagMember + schema: boolean + required: false + description: Filter LAG member ports + example: true + - name: isPtp + schema: boolean + required: false + description: Filter PTP ports + example: true + - name: isCloud + schema: boolean + required: false + description: Filter cloud ports + example: true + - name: isCloudRouter + schema: boolean + required: false + description: Filter cloud router ports + example: true + - name: isNni + schema: boolean + required: false + description: Filter NNI ports + example: true + - name: pageSize + schema: integer + required: false + description: The number of results to return per page + - name: offset + schema: integer + required: false + description: The offset of results for this page + - name: sortColumn + schema: string + required: false + description: Sort the results + - name: sortOrder + schema: string + required: false + description: Order the results + - name: devicePortType + schema: string + required: false + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + example: blue + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes + method: getCustomerQuotes + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get quotes for this customer + parameters: + - name: statuses + schema: array + required: false + description: Only include quotes with the given statuses + default: + - open + - updating + - name: quoteUuid + schema: string + required: false + description: Only include the quote with this UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes + method: createNewQuote + httpMethod: post + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Create a quote + parameters: + - name: title + schema: string + required: true + description: '' + example: TITLE + - name: custom_terms + schema: string + required: false + description: '' + - name: billing_contact_uuid + schema: string + required: true + description: '' + example: BILLING_CONTACT_UUID + - name: selected_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: A quote + - url: /v2/quotes/{quote_uuid}/duplicate + method: duplicateQuote + httpMethod: post + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Duplicate a quote + parameters: + - name: quoteUuid + schema: string + required: true + description: UUID of the quote to duplicate + example: QUOTE_UUID + responses: + - statusCode: '201' + description: A quote + - url: /v2/quotes/{quote_uuid} + method: getDetails + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get a quote's details + parameters: + - name: quoteUuid + schema: string + required: true + description: UUID of the quote + example: QUOTE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes/{quote_uuid} + method: updateQuote + httpMethod: patch + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Update a quote + parameters: + - name: quoteUuid + schema: string + required: true + description: UUID of the quote to update + example: QUOTE_UUID + - name: title + schema: string + description: '' + - name: custom_terms + schema: string + description: '' + - name: status + schema: string + description: '' + - name: selected_term + schema: integer + description: '' + example: 12 + responses: + - statusCode: '200' + description: A quote + - url: /v2/quotes/{quote_uuid} + method: addQuoteLine + httpMethod: post + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Add a quote line to a quote + parameters: + - name: quoteUuid + schema: string + required: true + description: the UUID of the quote to add a line to + example: QUOTE_UUID + - name: selected_term + schema: integer + required: false + description: '' + example: 12 + - name: product_type + schema: string + required: true + description: '' + example: PRODUCT_TYPE + - name: product_definition + schema: undefined + required: true + description: '' + responses: + - statusCode: '201' + description: a single product in a quote + - url: /v2/quotes/{quote_uuid}/{quote_line_uuid} + method: deleteQuoteLine + httpMethod: delete + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Delete a quote line + parameters: + - name: quoteUuid + schema: string + required: true + description: the UUID of the quote + example: QUOTE_UUID + - name: quoteLineUuid + schema: string + required: true + description: the UUID of the quote line to delete + example: QUOTE_LINE_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes/{quote_uuid}/pdf + method: getPdf + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get quote PDF + parameters: + - name: quoteUuid + schema: string + required: true + description: Get the PDF of the quote with this UUID + example: QUOTE_UUID + responses: + - statusCode: '200' + description: PDF of the quote + - url: /v2/quotes/{quote_uuid}/csv + method: getCsv + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get quote CSV + parameters: + - name: quoteUuid + schema: string + required: true + description: Get the CSV of the quote with this UUID + example: QUOTE_UUID + responses: + - statusCode: '200' + description: CSV of the quote + - url: /v2/quotes/{quote_uuid}/publish + method: publishQuote + httpMethod: post + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Publish a quote + parameters: + - name: quoteUuid + schema: string + required: true + description: UUID of the quote to duplicate + example: QUOTE_UUID + - name: customer_uuid + schema: string + required: true + description: '' + example: CUSTOMER_UUID + responses: + - statusCode: '201' + description: A published quote + - url: /v2/quotes/published + method: getPublishedQuotes + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get published quotes created by this customer + parameters: + - name: quoteUuid + schema: string + required: false + description: Only include published quotes created from the quote with this UUID + - name: assignedCustomerUuid + schema: string + required: false + description: Only include published quotes assigned to the customer with this UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes/published/assigned + method: getAssignedQuotes + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get published quotes assigned to this customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/quotes/published/{published_quote_uuid} + method: getPublishedQuoteDetails + httpMethod: get + tag: Portal Quotes + typeScriptTag: portalQuotes + description: Get a published quote's details + parameters: + - name: publishedQuoteUuid + schema: string + required: true + description: UUID of the published quote + example: PUBLISHED_QUOTE_UUID + responses: + - statusCode: '200' + description: Published quote details + - url: /v2/request-aliases + method: getAll + httpMethod: get + tag: Request Aliases + typeScriptTag: requestAliases + description: Get request aliases associated with your account + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/request-aliases + method: addNewAlias + httpMethod: post + tag: Request Aliases + typeScriptTag: requestAliases + description: Add a new request alias to your account + parameters: + - name: name + schema: string + description: '' + - name: mappings + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/request-aliases/{request_alias_uuid} + method: deleteAlias + httpMethod: delete + tag: Request Aliases + typeScriptTag: requestAliases + description: Delete a request alias from your account + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + responses: + - statusCode: '200' + description: A message confirming the deletion of the request alias. + - url: /v2/request-aliases/{request_alias_uuid} + method: byUuid + httpMethod: get + tag: Request Aliases + typeScriptTag: requestAliases + description: Get a request alias by UUID + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/request-aliases/{request_alias_uuid} + method: updateAlias + httpMethod: patch + tag: Request Aliases + typeScriptTag: requestAliases + description: Update a request alias + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + - name: name + schema: string + description: '' + - name: mappings + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/request-aliases/{request_alias_uuid}/contacts + method: disassociateContacts + httpMethod: delete + tag: Request Aliases + typeScriptTag: requestAliases + description: Disassociates several contacts from a request alias + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + - name: contact_uuids + schema: array + description: '' + responses: + - statusCode: '200' + description: Successful disassociation of the contacts from the request alias. + - url: /v2/request-aliases/{request_alias_uuid}/contacts + method: getAllContacts + httpMethod: get + tag: Request Aliases + typeScriptTag: requestAliases + description: Get all contacts associated with a request alias + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/request-aliases/{request_alias_uuid}/contacts + method: associateContacts + httpMethod: post + tag: Request Aliases + typeScriptTag: requestAliases + description: Associate several contacts with a single request alias. + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + - name: contact_uuids + schema: array + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid} + method: disassociateContact + httpMethod: delete + tag: Request Aliases + typeScriptTag: requestAliases + description: Disassociates a contact from a request alias + parameters: + - name: requestAliasUuid + schema: string + required: true + description: The UUID of the target request alias. + example: REQUEST_ALIAS_UUID + - name: contactUuid + schema: string + required: true + description: The UUID of the contact you want to associate with the request alias. + example: CONTACT_UUID + responses: + - statusCode: '200' + description: Successful disassociation of the contact from the request alias. + - url: /v2/services + method: getCurrentCustomerServicesList + httpMethod: get + tag: Services + typeScriptTag: services + description: Get list of current customer's services + parameters: + - name: q + schema: string + required: false + description: >- + Filter VCs by description, circuit id, POP/circuit id of the + interface, or aggregate capacity container + example: lax + - name: portCircuitId + schema: string + required: false + description: Filter by port + example: PF-AP-SFO1-58 + - name: serviceType + schema: string + required: false + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + example: ptp&service_type=ix + - name: pageSize + schema: integer + required: false + description: The number of results to return per page + - name: offset + schema: integer + required: false + description: The offset of results for this page + - name: sortColumn + schema: string + required: false + description: Sort the results + - name: sortOrder + schema: string + required: false + description: Order the results + responses: + - statusCode: '200' + description: '' + - url: /v2/services/export.csv + method: exportCsvList + httpMethod: get + tag: Services + typeScriptTag: services + description: Get list of current customer's services exported in CSV + parameters: + - name: q + schema: string + required: false + description: >- + Filter VCs by description, circuit id, or POP/circuit id of the + interface + example: lax + - name: portCircuitId + schema: string + required: false + description: Filter by port + example: PF-AP-SFO1-58 + - name: serviceType + schema: string + required: false + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + example: ptp&service_type=ix + - name: pageSize + schema: integer + required: false + description: The number of results to return per page + - name: offset + schema: integer + required: false + description: The offset of results for this page + - name: sortColumn + schema: string + required: false + description: Sort the results + - name: sortOrder + schema: string + required: false + description: Order the results + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id} + method: service + httpMethod: delete + tag: Services + typeScriptTag: services + description: Delete a service + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id} + method: service + httpMethod: get + tag: Services + typeScriptTag: services + description: Get service info + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id} + method: service + httpMethod: patch + tag: Services + typeScriptTag: services + description: Update service settings + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + - name: description + schema: string + description: '' + example: DA1 to DA1 (https://docs.packetfabric.com/api/v2/ + - name: rate_limit_in + schema: integer + description: '' + example: 1000 + - name: rate_limit_out + schema: integer + description: '' + example: 1000 + - name: po_number + schema: string + description: '' + example: PO-1234 + - name: interfaces + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id}/status + method: vcCircuitStatusGet + httpMethod: get + tag: Services + typeScriptTag: services + description: Get VC service status (https://docs.packetfabric.com/api/v2/ + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2.1/services/{vc_circuit_id}/status + method: getStatus + httpMethod: get + tag: Services + typeScriptTag: services + description: Get VC service status + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id}/upgrade + method: upgradeBillingTerms + httpMethod: post + tag: Services + typeScriptTag: services + description: Upgrade service billing terms or speed + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + - name: billing_product_type + schema: string + description: '' + - name: subscription_term + schema: integer + description: '' + - name: speed + schema: string + description: '' + responses: + - statusCode: '202' + description: '' + - url: /v2/services/{vc_circuit_id}/upgrade/options + method: getUpgradeOptions + httpMethod: get + tag: Services + typeScriptTag: services + description: Get available upgrade options for a specific service + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id}/burst + method: deleteBurst + httpMethod: delete + tag: Services + typeScriptTag: services + description: Delete a speed burst, returning circuit to originally configured speed. + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/{vc_circuit_id}/burst + method: addSpeedBurst + httpMethod: post + tag: Services + typeScriptTag: services + description: Add speed burst, billed hourly, to your circuit. + parameters: + - name: vcCircuitId + schema: string + required: true + description: Target's Circuit ID. + example: PF-AP-LAX1-1002 + - name: speed + schema: string + description: '' + example: 500Mbps + responses: + - statusCode: '202' + description: '' + - url: /v2/services/backbone + method: createBackboneVc + httpMethod: post + tag: Services + typeScriptTag: services + description: Create a backbone or dedicated cloud virtual circuit + parameters: + - name: description + schema: string + required: false + description: '' + - name: bandwidth + schema: object + required: true + description: '' + - name: interfaces + schema: array + required: true + description: '' + - name: rate_limit_in + schema: integer + required: false + description: '' + example: 1000 + - name: rate_limit_out + schema: integer + required: false + description: '' + example: 1000 + - name: epl + schema: boolean + required: true + description: '' + example: true + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: aggregate_capacity_id + schema: string + required: false + description: '' + example: PF-AB-3653 + - name: flex_bandwidth_id + schema: string + required: false + description: '' + example: PF-AB-3653 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/third-party + method: create3RdPartyVc + httpMethod: post + tag: Services + typeScriptTag: services + description: Create a 3rd-party virtual circuit + parameters: + - name: description + schema: string + required: false + description: '' + example: My Third-party VC + - name: routing_id + schema: string + required: true + description: '' + example: PF-1RI-OQ85 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: rate_limit_in + schema: integer + required: false + description: '' + example: 1000 + - name: rate_limit_out + schema: integer + required: false + description: '' + example: 1000 + - name: bandwidth + schema: object + required: true + description: '' + - name: interface + schema: object + required: true + description: '' + - name: service_uuid + schema: string + required: false + description: '' + - name: aggregate_capacity_id + schema: string + required: false + description: '' + example: PF-AB-1234 + - name: flex_bandwidth_id + schema: string + required: false + description: '' + example: PF-AB-3653 + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/third-party/hosted/aws + method: requestCloudConnection + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Request a hosted AWS Marketplace Cloud connection with a third party + parameters: + - name: description + schema: string + required: false + description: '' + example: My AWS Marketplace Cloud connection + - name: routing_id + schema: string + required: true + description: '' + example: PF-1RI-OQ85 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: aws_account_id + schema: string + required: true + description: '' + example: 2345678910 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: service_uuid + schema: string + required: false + description: '' + - name: cloud_settings + schema: object + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/third-party/hosted/azure + method: requestHostedConnection + httpMethod: post + tag: Cloud Services - Azure + typeScriptTag: cloudServicesAzure + description: Request a hosted Azure Marketplace Cloud connection with a third party + parameters: + - name: description + schema: string + required: false + description: '' + example: My Azure Marketplace Cloud connection + - name: routing_id + schema: string + required: true + description: '' + example: PF-1RI-OQ85 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: azure_service_key + schema: string + required: true + description: '' + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: service_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/third-party/hosted/google + method: requestHostedConnection + httpMethod: post + tag: Cloud Services - Google Cloud + typeScriptTag: cloudServicesGoogleCloud + description: Request a hosted Google Marketplace Cloud connection with a third party + parameters: + - name: description + schema: string + required: false + description: '' + example: My Google Marketplace Cloud connection + - name: routing_id + schema: string + required: true + description: '' + example: PF-1RI-OQ85 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: google_pairing_key + schema: string + required: true + description: '' + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + - name: google_vlan_attachment_name + schema: string + required: false + description: '' + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: service_uuid + schema: string + required: false + description: '' + - name: cloud_settings + schema: undefined + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/third-party/hosted/oracle + method: requestHostedConnection + httpMethod: post + tag: Cloud Services - Oracle + typeScriptTag: cloudServicesOracle + description: Request a hosted Oracle Marketplace Cloud connection with a third party + parameters: + - name: description + schema: string + required: false + description: '' + example: My Oracle Marketplace Cloud connection + - name: routing_id + schema: string + required: true + description: '' + example: PF-1RI-OQ85 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: vc_ocid + schema: string + required: true + description: '' + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - name: region + schema: string + required: true + description: '' + example: REGION + - name: pop + schema: string + required: true + description: '' + example: WDC2 + - name: service_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/ipsec/{circuit_id} + method: get + httpMethod: get + tag: Cloud Router IPsec + typeScriptTag: cloudRouterIPsec + description: Gets IPsec-specific details for a connection. + parameters: + - name: circuitId + schema: string + required: true + description: IPsec circuit ID or its associated VC. + example: PF-IPSEC-2000 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipsec/{circuit_id} + method: patch + httpMethod: patch + tag: Cloud Router IPsec + typeScriptTag: cloudRouterIPsec + description: Updates IPsec-specific details for a connection. + parameters: + - name: circuitId + schema: string + required: true + description: IPsec circuit ID or its associated VC. + example: PF-IPSEC-2000 + - name: customer_gateway_address + schema: string + description: '' + - name: ike_version + schema: integer + description: '' + example: 1 + - name: phase1_authentication_method + schema: string + description: '' + example: pre-shared-key + - name: phase1_group + schema: string + description: '' + example: group14 + - name: phase1_encryption_algo + schema: string + description: '' + example: aes-156-cbc + - name: phase1_authentication_algo + schema: string + description: '' + example: sha-384 + - name: phase1_lifetime + schema: integer + description: '' + example: 10800 + - name: phase2_pfs_group + schema: string + description: '' + example: group14 + - name: phase2_encryption_algo + schema: string + description: '' + example: aes-156-cbc + - name: phase2_authentication_algo + schema: string + description: '' + example: sha-384 + - name: phase2_lifetime + schema: integer + description: '' + example: 28800 + - name: pre_shared_key + schema: string + description: '' + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipsec/gateway_address/uniqueness + method: checkGatewayAddressUniqueness + httpMethod: get + tag: Cloud Router IPsec + typeScriptTag: cloudRouterIPsec + description: Checks if IPsec gateway address is unique + parameters: + - name: gatewayAddress + schema: string + required: true + description: The gateway address we want to check for uniqueness. + example: 192.0.10.1 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ix + method: createIxVc + httpMethod: post + tag: Services + typeScriptTag: services + description: Create a IX VC + parameters: + - name: description + schema: string + required: false + description: '' + example: My IX VC + - name: routing_id + schema: string + required: true + description: '' + example: IX-Z76-YH87 + - name: market + schema: string + required: true + description: '' + example: ATL + - name: asn + schema: integer + required: true + description: '' + example: 4556 + - name: rate_limit_in + schema: integer + required: false + description: '' + example: 50 + - name: rate_limit_out + schema: integer + required: false + description: '' + example: 50 + - name: bandwidth + schema: object + required: true + description: '' + - name: interface + schema: object + required: true + description: '' + - name: aggregate_capacity_id + schema: string + required: false + description: '' + example: PF-AB-3653 + - name: flex_bandwidth_id + schema: string + required: false + description: '' + example: PF-AB-3653 + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/requests + method: listVcRequests + httpMethod: get + tag: Services + typeScriptTag: services + description: Get list of VC requests + parameters: + - name: type + schema: string + required: true + description: Search requests by type + example: TYPE + responses: + - statusCode: '200' + description: '' + - url: /v2/services/requests/{vc_request_uuid} + method: deleteRequest + httpMethod: delete + tag: Services + typeScriptTag: services + description: Delete service request + parameters: + - name: vcRequestUuid + schema: string + required: true + description: UUID of the service request + example: VC_REQUEST_UUID + - name: delete_reason + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/services/requests/{vc_request_uuid} + method: getByUuid + httpMethod: get + tag: Services + typeScriptTag: services + description: Get VC request by uuid + parameters: + - name: vcRequestUuid + schema: string + required: true + description: '' + example: VC_REQUEST_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/requests/{vc_request_uuid}/provision + method: service + httpMethod: post + tag: Services + typeScriptTag: services + description: Provision requested service + parameters: + - name: vcRequestUuid + schema: string + required: true + description: '' + example: VC_REQUEST_UUID + - name: description + schema: string + required: false + description: '' + example: 500Mbps connection to Vandelay Industries in SAC1 + - name: interface + schema: object + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/requests/{vc_request_uuid}/provision/hosted + method: provisionHosted + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Provision requested Marketplace cloud connection + parameters: + - name: vcRequestUuid + schema: string + required: true + description: '' + example: VC_REQUEST_UUID + - name: description + schema: string + required: false + description: '' + example: 500Mbps connection to Vandelay Industries in SAC1 + - name: provider + schema: string + required: true + description: '' + example: PROVIDER + - name: interface + schema: undefined + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection + method: provisionMarketplaceCloudRouterConnection + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Provision requested Marketplace cloud router connection + parameters: + - name: vcRequestUuid + schema: string + required: true + description: '' + example: VC_REQUEST_UUID + - name: interface + schema: object + required: true + description: '' + - name: bgp_settings + schema: object + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/requests/{vc_request_uuid}/reject + method: rejectRequest + httpMethod: post + tag: Services + typeScriptTag: services + description: Reject service request + parameters: + - name: vcRequestUuid + schema: string + required: true + description: '' + example: VC_REQUEST_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/svlan-labels + method: createLabel + httpMethod: post + tag: SVlan Labels + typeScriptTag: sVlanLabels + description: Create SVlan label + parameters: + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: svlan_id + schema: integer + required: true + description: '' + example: 1357 + - name: port_circuit_id + schema: string + required: true + description: '' + example: PF-AP-WDC1-10000 + responses: + - statusCode: '201' + description: '' + - url: /v2/svlan-labels/{port_circuit_id} + method: getLabelsForPort + httpMethod: get + tag: SVlan Labels + typeScriptTag: sVlanLabels + description: Get SVlan labels for port + parameters: + - name: portCircuitId + schema: string + required: true + description: Get the SVlan labels for this port + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/svlan-labels/mappings + method: getLabels + httpMethod: get + tag: SVlan Labels + typeScriptTag: sVlanLabels + description: Get SVlan labels for the logged-in customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/svlan-labels/{svlan_label_uuid} + method: deleteLabel + httpMethod: delete + tag: SVlan Labels + typeScriptTag: sVlanLabels + description: Delete this SVlan label + parameters: + - name: svlanLabelUuid + schema: string + required: true + description: SVlan label to delete + example: SVLAN_LABEL_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/svlan-labels/{svlan_label_uuid} + method: updateLabelByUuid + httpMethod: patch + tag: SVlan Labels + typeScriptTag: sVlanLabels + description: Update this SVlan label + parameters: + - name: svlanLabelUuid + schema: string + required: true + description: SVlan label to update + example: SVLAN_LABEL_UUID + - name: description + schema: string + description: '' + example: a label for my SVlan + responses: + - statusCode: '200' + description: '' + - url: /v2/users + method: getList + httpMethod: get + tag: Users + typeScriptTag: users + description: Get list of users + parameters: + - name: q + schema: string + description: Searches for this string in the user name or e-mail + responses: + - statusCode: '201' + description: '' + - url: /v2/users + method: post + httpMethod: post + tag: Users + typeScriptTag: users + description: Create new user + parameters: + - name: first_name + schema: string + required: true + description: '' + example: John + - name: last_name + schema: string + required: true + description: '' + example: Galt + - name: email + schema: string + required: true + description: '' + example: user@example.com + - name: phone + schema: string + required: true + description: '' + example: 111-111-1111 + - name: login + schema: string + required: true + description: '' + example: john + - name: password + schema: string + required: true + description: '' + example: '*****' + - name: timezone + schema: string + required: true + description: '' + example: MST + - name: group + schema: string + required: true + description: '' + example: admin + - name: groups + schema: array + required: false + description: '' + example: + - admin + responses: + - statusCode: '201' + description: '' + - url: /v2/users/{user_login} + method: deleteUser + httpMethod: delete + tag: Users + typeScriptTag: users + description: Deletes a user + parameters: + - name: userLogin + schema: string + required: true + description: Login of the user to delete + example: USER_LOGIN + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login} + method: getUserDetailsByLogin + httpMethod: get + tag: Users + typeScriptTag: users + description: Fetch user details by a user login + parameters: + - name: userLogin + schema: string + required: true + description: Login of the user to fetch + example: USER_LOGIN + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login} + method: patch + httpMethod: patch + tag: Users + typeScriptTag: users + description: Modify a user + parameters: + - name: userLogin + schema: string + required: true + description: The user with this login will be modified + example: USER_LOGIN + - name: first_name + schema: string + description: '' + example: John + - name: last_name + schema: string + description: '' + example: Galt + - name: email + schema: string + description: '' + example: user@example.com + - name: password + schema: string + description: '' + example: p4ssw0rd + - name: phone + schema: string + description: '' + example: 111-111-1111 + - name: login + schema: string + description: '' + example: john + - name: timezone + schema: string + description: '' + example: MST + - name: disabled + schema: boolean + description: '' + example: false + - name: group + schema: string + description: '' + example: admin + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{uuid} + method: getDetailsByUuid + httpMethod: get + tag: Users + typeScriptTag: users + description: Fetch user details by a UUID + parameters: + - name: uuid + schema: string + required: true + description: UUID of the user to fetch + example: UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login}/groups + method: listUserGroups + httpMethod: get + tag: Users + typeScriptTag: users + description: Get the list of groups of a given user + parameters: + - name: userLogin + schema: string + required: true + description: Login of the user to fetch groups for + example: USER_LOGIN + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login}/groups/{group_name} + method: deleteFromGroup + httpMethod: delete + tag: Users + typeScriptTag: users + description: Delete a user from a given group + parameters: + - name: userLogin + schema: string + required: true + description: '' + example: USER_LOGIN + - name: groupName + schema: string + required: true + description: > + Group name to delete user from. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + example: GROUP_NAME + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login}/groups/{group_name} + method: addToGroup + httpMethod: post + tag: Users + typeScriptTag: users + description: Add user to group + parameters: + - name: userLogin + schema: string + required: true + description: User login + example: USER_LOGIN + - name: groupName + schema: string + required: true + description: > + Group name to add user to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + example: GROUP_NAME + responses: + - statusCode: '200' + description: '' + - url: /v2/users/request-password-reset + method: requestPasswordReset + httpMethod: post + tag: Users + typeScriptTag: users + description: Sends the user an email with a link to reset a forgotten password + parameters: + - name: user_login + schema: string + required: true + description: '' + example: USER_LOGIN + responses: + - statusCode: '200' + description: '' + - url: /v2/users/reset-password + method: setNewPassword + httpMethod: post + tag: Users + typeScriptTag: users + description: Sets a new password for a user + parameters: + - name: new_password + schema: string + required: true + description: '' + example: p4ssw0rd + - name: rt + schema: string + required: true + description: '' + example: RT + responses: + - statusCode: '200' + description: '' + - url: /v2/users/{user_login}/password + method: updatePassword + httpMethod: patch + tag: Users + typeScriptTag: users + description: Sets a new password for a user + parameters: + - name: userLogin + schema: string + required: true + description: Password of the user with this login will be modified + example: USER_LOGIN + - name: new_password + schema: string + required: true + description: '' + example: p4ssw0rd + - name: old_password + schema: string + required: true + description: '' + example: p4ssw0rd + responses: + - statusCode: '200' + description: '' + - url: /v2/users/mfa/setup + method: generateSecretScratchCodes + httpMethod: post + tag: Multi-Factor Authentication + typeScriptTag: multiFactorAuthentication + description: Generate a user secret and scratch codes + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/users/mfa/enable + method: enableUserAuth + httpMethod: post + tag: Multi-Factor Authentication + typeScriptTag: multiFactorAuthentication + description: Enable multi-factor authentication for the user + parameters: + - name: authentication_code + schema: string + required: true + description: '' + example: 123456 + responses: + - statusCode: '200' + description: '' + - url: /v2/users/mfa/disable + method: disableUserMfa + httpMethod: post + tag: Multi-Factor Authentication + typeScriptTag: multiFactorAuthentication + description: Disable multi-factor authentication for the user + parameters: + - name: password + schema: string + required: true + description: '' + example: p4ssw0rd + responses: + - statusCode: '200' + description: '' + - url: /v2/users/mfa/qrcode + method: generateQrCodeImage + httpMethod: get + tag: Multi-Factor Authentication + typeScriptTag: multiFactorAuthentication + description: Return a QR code image used for setup + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/team-invites + method: listInvitedUsers + httpMethod: get + tag: TeamSignup + typeScriptTag: teamSignup + description: Get list of team signup invitations + parameters: [] + responses: + - statusCode: '201' + description: '' + - url: /v2/team-invites + method: sendInvitationEmails + httpMethod: post + tag: TeamSignup + typeScriptTag: teamSignup + description: >- + Sign-up and send invitation emails to a list of new users, assigned to + current customer + parameters: [] + responses: + - statusCode: '201' + description: '' + - url: /v2/team-invites/{signup_uuid} + method: getDetails + httpMethod: get + tag: TeamSignup + typeScriptTag: teamSignup + description: Get details of a team signup invitation + parameters: + - name: signupUuid + schema: string + required: true + description: UUID of the invitation + example: SIGNUP_UUID + responses: + - statusCode: '201' + description: '' + - url: /v2/team-invites/{signup_uuid}/resend + method: resendInvitation + httpMethod: post + tag: TeamSignup + typeScriptTag: teamSignup + description: Resend team invitation + parameters: + - name: signupUuid + schema: string + required: true + description: UUID of the invitation + example: SIGNUP_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/team-invites/{signup_uuid}/user + method: createUserBasedOnInvitation + httpMethod: post + tag: TeamSignup + typeScriptTag: teamSignup + description: Create a new user based on team signup invitation + parameters: + - name: signupUuid + schema: string + required: true + description: UUID of the invitation + example: SIGNUP_UUID + - name: first_name + schema: string + required: true + description: '' + example: John + - name: last_name + schema: string + required: true + description: '' + example: Galt + - name: phone + schema: string + required: true + description: '' + example: 111-111-1111 + - name: password + schema: string + required: true + description: '' + example: '*****' + - name: timezone + schema: string + required: true + description: '' + example: MST + responses: + - statusCode: '201' + description: '' + - url: /v2/objects/{circuit_id}/labels + method: getLabels + httpMethod: get + tag: Objects + typeScriptTag: objects + description: Get the Labels associated with an object + parameters: + - name: circuitId + schema: string + required: true + description: The circuit ID of the object + example: CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/objects/{circuit_id}/labels + method: object + httpMethod: patch + tag: Objects + typeScriptTag: objects + description: Add to an object's labels + parameters: + - name: circuitId + schema: string + required: true + description: The circuit ID of the object to be updated + example: CIRCUIT_ID + - name: label_type + schema: string + required: false + description: '' + - name: labels + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/objects/{circuit_id}/labels + method: object + httpMethod: put + tag: Objects + typeScriptTag: objects + description: Update an object label + parameters: + - name: circuitId + schema: string + required: true + description: The circuit ID of the object to be updated + example: CIRCUIT_ID + - name: label_type + schema: string + required: false + description: '' + - name: labels + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/outbound-cross-connects + method: list + httpMethod: get + tag: Outbound Cross Connects + typeScriptTag: outboundCrossConnects + description: Get the outbound cross connects associated with the current customer + parameters: + - name: port + schema: string + required: false + description: List OBCC by port_circuit_id + example: port-circuit-id + - name: showDeleted + schema: boolean + required: false + description: Include deleted OBCCs in list + example: true + responses: + - statusCode: '200' + description: '' + - url: /v2/outbound-cross-connects + method: createNew + httpMethod: post + tag: Outbound Cross Connects + typeScriptTag: outboundCrossConnects + description: Create a new outbound cross connect + parameters: + - name: description + schema: string + required: false + description: '' + example: Cross connect for a demo + - name: port + schema: string + required: true + description: '' + example: PF-SO-ME-111 + - name: site + schema: string + required: true + description: '' + example: DR-ATL1 + - name: document_uuid + schema: string + required: true + description: '' + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + - name: destination_name + schema: string + required: false + description: '' + example: Destination company name + - name: destination_circuit_id + schema: string + required: false + description: '' + example: Destination circuit id + - name: panel + schema: string + required: false + description: '' + example: Panel + - name: module + schema: string + required: false + description: '' + example: Module + - name: position + schema: string + required: false + description: '' + example: Position + - name: data_center_cross_connect_id + schema: string + required: false + description: '' + example: SUPER-COOL-NAME + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '202' + description: '' + - url: /v2/outbound-cross-connects/{outbound_cross_connect_id} + method: deleteCrossConnect + httpMethod: delete + tag: Outbound Cross Connects + typeScriptTag: outboundCrossConnects + description: Delete an outbound cross connect + parameters: + - name: outboundCrossConnectId + schema: string + required: true + description: id of the cross connect + example: OUTBOUND_CROSS_CONNECT_ID + responses: + - statusCode: '200' + description: Outbound Cross Connect successfully deleted + - url: /v2/outbound-cross-connects/{outbound_cross_connect_id} + method: getOne + httpMethod: get + tag: Outbound Cross Connects + typeScriptTag: outboundCrossConnects + description: Get a single outbound cross connect + parameters: + - name: outboundCrossConnectId + schema: string + required: true + description: id of the cross connect + example: OUTBOUND_CROSS_CONNECT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/outbound-cross-connects/{outbound_cross_connect_id} + method: updateSingle + httpMethod: patch + tag: Outbound Cross Connects + typeScriptTag: outboundCrossConnects + description: Patch a single outbound cross connect + parameters: + - name: outboundCrossConnectId + schema: string + required: true + description: id of the cross connect + example: OUTBOUND_CROSS_CONNECT_ID + - name: user_description + schema: string + description: '' + example: description for the cross connect + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: Outbound Cross Connect object + - url: /v2/services/point-to-point/{ptp_uuid} + method: deletePointToPoint + httpMethod: delete + tag: PTP Services + typeScriptTag: ptpServices + description: Delete a point-to-point service + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID of the point-to-point service to delete + example: PTP_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point/{ptp_uuid} + method: getServiceInfo + httpMethod: get + tag: PTP Services + typeScriptTag: ptpServices + description: Get point-to-point service info + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID or Circuit ID of the point-to-point service to fetch + example: PTP_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point/{ptp_uuid} + method: updateDescription + httpMethod: patch + tag: PTP Services + typeScriptTag: ptpServices + description: Update a point-to-point service + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID of the point-to-point service to update + example: PTP_UUID + - name: description + schema: string + description: '' + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point + method: getAll + httpMethod: get + tag: PTP Services + typeScriptTag: ptpServices + description: Get all point-to-point services + parameters: + - name: q + schema: string + required: false + description: >- + Filter PTPs by description, circuit id, or POP/circuit id/market of + the interfaces + example: LAX + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point + method: createService + httpMethod: post + tag: PTP Services + typeScriptTag: ptpServices + description: Create a point-to-point service + parameters: + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: speed + schema: string + required: true + description: '' + example: SPEED + - name: media + schema: string + required: true + description: '' + example: MEDIA + - name: endpoints + schema: array + required: true + description: '' + - name: account_uuid + schema: string + required: true + description: '' + example: ACCOUNT_UUID + - name: subscription_term + schema: integer + required: true + description: '' + example: 0 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/point-to-point/{ptp_uuid}/status + method: getServiceStatus + httpMethod: get + tag: PTP Services + typeScriptTag: ptpServices + description: Get point-to-point service status (https://docs.packetfabric.com/api/v2/ + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID of the point-to-point service to fetch status for + example: PTP_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2.1/services/point-to-point/{ptp_circuit_id}/status + method: getServiceStatus + httpMethod: get + tag: PTP Services + typeScriptTag: ptpServices + description: Get point-to-point service status + parameters: + - name: ptpCircuitId + schema: string + required: true + description: Circuit ID of the point-to-point service to fetch status for + example: PF-PD-NYC-AUS-1734406 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point/{ptp_uuid}/upgrade + method: upgradePtpUuid + httpMethod: post + tag: PTP Services + typeScriptTag: ptpServices + description: Upgrade a point-to-point service to a new subscription term + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID of the point-to-point service to upgrade + example: PTP_UUID + - name: subscription_term + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/services/point-to-point/{ptp_uuid}/upgrade/options + method: getUpgradeOptions + httpMethod: get + tag: PTP Services + typeScriptTag: ptpServices + description: >- + Get upgrade options for a point-to-point service upgrade to a new + subscription term + parameters: + - name: ptpUuid + schema: string + required: true + description: UUID of the point-to-point service to fetch upgrade options for + example: PTP_UUID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers + method: listAssociated + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Returns a list of cloud routers associated with the current account. + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers + method: createNew + httpMethod: post + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Creates a new Cloud Router and then returns it. + parameters: + - name: scope + schema: string + required: false + description: '' + example: private + - name: asn + schema: integer + required: false + description: '' + example: 4556 + default: 4556 + - name: name + schema: string + required: true + description: '' + example: Super Cool Cloud router + - name: account_uuid + schema: string + required: true + description: '' + example: ACCOUNT_UUID + - name: regions + schema: array + required: false + description: '' + - name: capacity + schema: string + required: true + description: '' + example: 10Gbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + default: 1 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/export.csv + method: downloadAsCsv + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Download customer cloud routers as csv + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id} + method: deleteRouter + httpMethod: delete + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Deletes a cloud router. Note that all connections must be deleted first. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id} + method: getByCircuitId + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Returns a cloud router associated with the circuit id. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id} + method: updateExisting + httpMethod: patch + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Update an existing Cloud Router. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: name + schema: string + description: '' + example: New Super Cool Cloud router + - name: regions + schema: array + description: '' + - name: capacity + schema: string + description: '' + example: 10Gbps + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/requests + method: listImportRequests + httpMethod: get + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Returns a list of Cloud Router Imports Requests. + parameters: + - name: requestType + schema: array + required: true + description: Type of the Cloud Router Import Request. + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/requests/{import_circuit_id} + method: deleteRequest + httpMethod: delete + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Deletes a Cloud Router Imports Request associated with the circuit id. + parameters: + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: PF-L3-IMP-15626 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/requests/{import_circuit_id} + method: importsRequestGet + httpMethod: get + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: >- + Returns a single Cloud Router Imports Request associated with the circuit + id. + parameters: + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: PF-L3-IMP-15626 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/requests/{import_circuit_id}/accept + method: acceptImportCircuit + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: >- + Accepts a single Cloud Router Imports Request associated with the circuit + id. + parameters: + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: PF-L3-IMP-15626 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/requests/{import_circuit_id}/reject + method: rejectImportCircuit + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: >- + Rejects a single Cloud Router Imports Request associated with the circuit + id. + parameters: + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: PF-L3-IMP-15626 + - name: rejection_reason + schema: string + description: '' + example: Return filters are too broad. + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp + method: listBgpSessions + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: List BGP sessions associated with a Cloud Router connection. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-AE-1234 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp + method: createL3Info + httpMethod: post + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: >- + Creates a new BGP session and associated L3 information on a cloud router + connection and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-AE-1234 + - name: md5 + schema: string + required: false + description: '' + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + - name: l3_address + schema: string + required: false + description: '' + example: 10.0.0.1/30 + - name: primary_subnet + schema: string + required: false + description: '' + example: 10.0.0.1/30 + - name: secondary_subnet + schema: string + required: false + description: '' + example: 10.0.0.1/30 + - name: address_family + schema: string + required: false + description: '' + example: v4 + - name: remote_address + schema: string + required: false + description: '' + example: 10.0.0.1 + - name: remote_asn + schema: integer + required: true + description: '' + example: 4556 + - name: multihop_ttl + schema: integer + required: false + description: '' + example: 1 + default: 1 + - name: local_preference + schema: integer + required: false + description: '' + example: 1 + - name: med + schema: integer + required: false + description: '' + example: 1 + - name: community + schema: integer + required: false + description: '' + example: 1 + - name: as_prepend + schema: integer + required: false + description: '' + example: 1 + - name: orlonger + schema: boolean + required: false + description: '' + - name: bfd_interval + schema: integer + required: false + description: '' + example: 300 + - name: bfd_multiplier + schema: integer + required: false + description: '' + example: 3 + - name: disabled + schema: boolean + required: false + description: '' + default: false + - name: prefixes + schema: array + required: false + description: '' + - name: nat + schema: undefined + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp + method: updateSessionInfo + httpMethod: put + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Updates an existing BGP session and associated L3 information. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-AE-1234 + - name: prefixes + schema: array + required: true + description: '' + - name: md5 + schema: string + required: false + description: '' + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + - name: l3_address + schema: string + required: true + description: '' + example: 10.0.0.1/30 + - name: address_family + schema: string + required: false + description: '' + example: v4 + - name: remote_address + schema: string + required: false + description: '' + example: 10.0.0.1 + - name: remote_asn + schema: integer + required: true + description: '' + example: 4556 + - name: multihop_ttl + schema: integer + required: false + description: '' + example: 1 + - name: local_preference + schema: integer + required: false + description: '' + example: 1 + - name: med + schema: integer + required: false + description: '' + example: 1 + - name: community + schema: integer + required: false + description: '' + example: 1 + - name: as_prepend + schema: integer + required: false + description: '' + example: 1 + - name: orlonger + schema: boolean + required: false + description: '' + - name: bfd_interval + schema: integer + required: false + description: '' + example: 300 + - name: bfd_multiplier + schema: integer + required: false + description: '' + example: 3 + - name: disabled + schema: boolean + required: false + description: '' + default: false + - name: bgp_settings_uuid + schema: string + required: false + description: '' + example: 862386eb-df01-436b-8346-e16c8023e4d1 + - name: nat + schema: undefined + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid} + method: deleteSingleSession + httpMethod: delete + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Delete a single BGP session from a cloud router connection. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-AE-1234 + - name: bgpSettingsUuid + schema: string + required: true + description: The UUID of the specific BGP session you want to get. + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid} + method: getSingleSession + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Get a single BGP session associated with a Cloud Router connection. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-AE-1234 + - name: bgpSettingsUuid + schema: string + required: true + description: The UUID of the specific BGP session you want to get. + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections + method: listForCircuit + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Lists all cloud router connections for a given router. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/connections/export.csv + method: downloadCsv + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Download cloud routers connections as csv + parameters: + - name: cloudRouterCircuitId + schema: string + required: false + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-1400 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/address_is_unique + method: checkBgpAddressUnique + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Checks to make sure the bgp addresses are unique + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: l3_address + schema: string + description: '' + example: 10.0.0.1/32 + - name: remote_address + schema: string + description: '' + example: 10.0.0.1 + - name: pool_prefix + schema: string + description: '' + example: 10.0.0.0/32 + - name: cloud_circuit_id + schema: string + description: '' + example: PF-L3-CON-2843831 + - name: bgp_settings_uuid + schema: string + description: '' + example: 3d78949f-1396-4163-b0ca-3eba3592efef + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/connections + method: listAll + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Lists all of the customer's cloud router connections. + parameters: + - name: portCircuitId + schema: string + required: false + description: Filter Dedicated Port connections by their Port Cicuit ID. + example: PF-AP-LAB1-123456 + - name: offset + schema: integer + required: false + description: Number of records to skip + example: 20 + - name: pageSize + schema: integer + required: false + description: Number of records to show + example: 10 + - name: sortColumn + schema: string + required: false + description: Column to sort results on + - name: sortOrder + schema: string + required: false + description: Pagination sort order. + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id} + method: deleteByCircuitConnectionId + httpMethod: delete + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Delete a cloud router connection by circuit id. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection. + example: PF-CC-1234 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id} + method: getSingleByCircuitId + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Get a single cloud router connection by circuit id. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection. + example: PF-CC-1234 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id} + method: updateConnection + httpMethod: patch + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Update a Cloud Router Connection + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionCircuitId + schema: string + required: true + description: The circuit ID of the connection to update. + example: PF-CC-1234 + - name: description + schema: string + description: '' + example: New Super Cool Cloud Router Connection + - name: cloud_settings + schema: undefined + description: '' + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/connections/{circuit_id} + method: getByCircuitId + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Get a single cloud router connection by circuit id. + parameters: + - name: circuitId + schema: string + required: true + description: The circuit ID of the connection. + example: PF-CC-1234 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid} + method: deleteConnection + httpMethod: delete + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Delete a cloud router connection. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudConnectionUuid + schema: string + required: true + description: Target cloud connection's UUID. + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/third-party + method: createRequest + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Creates a new Marketplace Cloud Router Connection request and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: false + description: '' + example: My Marketplace Cloud Router connection + - name: prefixes + schema: array + required: true + description: '' + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: service_uuid + schema: string + required: true + description: '' + example: SERVICE_UUID + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + default: 1 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/aws + method: createAwsConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new AWS connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: AWS Hosted connection for Foo Corp + - name: aws_account_id + schema: string + required: true + description: '' + example: 2345678910 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: is_public + schema: boolean + required: false + description: '' + example: true + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: cloud_settings + schema: object + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2.1/services/cloud-routers/{circuit_id}/connections/aws + method: createAwsConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new AWS connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: AWS Hosted connection for Foo Corp + - name: aws_account_id + schema: string + required: true + description: '' + example: 2345678910 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: is_public + schema: boolean + required: false + description: '' + example: true + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: cloud_settings + schema: object + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/azure + method: createAzureConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: >- + Creates a new Azure ExpressRoute connection on a cloud router and returns + it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Azure ExpressRoute Hosted connection for Foo Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: azure_service_key + schema: string + required: true + description: '' + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: is_public + schema: boolean + required: false + description: '' + example: true + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2.1/services/cloud-routers/{circuit_id}/connections/azure + method: createAzureExpressRouteConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: >- + Creates a new Azure ExpressRoute connection on a cloud router and returns + it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Azure ExpressRoute Hosted connection for Foo Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: azure_service_key + schema: string + required: true + description: '' + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: is_public + schema: boolean + required: false + description: '' + example: true + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/google + method: createGoogleConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new Google connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Test description + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: google_pairing_key + schema: string + required: false + description: '' + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + - name: google_vlan_attachment_name + schema: string + required: false + description: '' + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + - name: cloud_settings + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2.1/services/cloud-routers/{circuit_id}/connections/google + method: createGoogleConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new Google connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Test description + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: google_pairing_key + schema: string + required: false + description: '' + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + - name: google_vlan_attachment_name + schema: string + required: false + description: '' + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + - name: cloud_settings + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/ibm + method: createIbmConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new IBM connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: ibm_account_id + schema: string + required: true + description: '' + example: 57a7d05f36894e3cb9b46a43556d903e + - name: ibm_bgp_asn + schema: integer + required: true + description: '' + example: 64999 + - name: ibm_bgp_cer_cidr + schema: string + required: false + description: '' + example: 10.254.30.78/30 + - name: ibm_bgp_ibm_cidr + schema: string + required: false + description: '' + example: 10.254.30.77/30 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: speed + schema: string + required: true + description: '' + example: 1Gbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2.1/services/cloud-routers/{circuit_id}/connections/ibm + method: createIbmConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new IBM connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: ibm_account_id + schema: string + required: true + description: '' + example: 57a7d05f36894e3cb9b46a43556d903e + - name: ibm_bgp_asn + schema: integer + required: true + description: '' + example: 64999 + - name: ibm_bgp_cer_cidr + schema: string + required: false + description: '' + example: 10.254.30.78/30 + - name: ibm_bgp_ibm_cidr + schema: string + required: false + description: '' + example: 10.254.30.77/30 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: speed + schema: string + required: true + description: '' + example: 1Gbps + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/ipsec + method: createIpsecConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new IPSec connection on a cloud router. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Test description + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: ike_version + schema: integer + required: true + description: '' + example: 1 + - name: phase1_authentication_method + schema: string + required: true + description: '' + example: pre-shared-key + - name: phase1_group + schema: string + required: true + description: '' + example: group14 + - name: phase1_encryption_algo + schema: string + required: true + description: '' + example: aes-156-cbc + - name: phase1_authentication_algo + schema: string + required: true + description: '' + example: sha-384 + - name: phase1_lifetime + schema: integer + required: true + description: '' + example: 10800 + - name: phase2_pfs_group + schema: string + required: true + description: '' + example: group14 + - name: phase2_encryption_algo + schema: string + required: true + description: '' + example: 3des-cbc + - name: phase2_authentication_algo + schema: string + required: false + description: '' + example: hmac-sha-256-128 + - name: phase2_lifetime + schema: integer + required: true + description: '' + example: 28800 + - name: gateway_address + schema: string + required: true + description: '' + example: 127.0.0.1 + - name: shared_key + schema: string + required: true + description: '' + example: superCoolKey + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/oracle + method: createOracleConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new Oracle connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: vc_ocid + schema: string + required: true + description: '' + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - name: region + schema: string + required: true + description: '' + example: REGION + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2.1/services/cloud-routers/{circuit_id}/connections/oracle + method: createOracleConnection + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Creates a new Oracle connection on a cloud router and returns it. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: vc_ocid + schema: string + required: true + description: '' + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - name: region + schema: string + required: true + description: '' + example: REGION + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: zone + schema: string + required: false + description: '' + example: A + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/connections/packetfabric + method: attachPort + httpMethod: post + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Attaches a customer-owned port to a Cloud Router. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: description + schema: string + required: true + description: '' + example: Test description + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: maybe_nat + schema: boolean + required: false + description: '' + example: false + default: false + - name: maybe_dnat + schema: boolean + required: false + description: '' + example: false + default: false + - name: port_circuit_id + schema: string + required: true + description: '' + example: PF-AE-1234 + - name: untagged + schema: boolean + required: false + description: '' + example: true + - name: vlan + schema: integer + required: false + description: '' + example: 6 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: is_public + schema: boolean + required: false + description: '' + example: true + default: false + - name: public_nat_pool + schema: boolean + required: false + description: '' + example: true + default: false + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status + method: getInstanceStatus + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Get cloud connection instance status + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Target cloud connection's Circuit ID. + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options + method: getUpgradeOptions + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Get cloud connection upgrade options + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Target cloud connection's Circuit ID. + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes + method: getConnectionBgpRoutes + httpMethod: get + tag: Cloud Router BGP Session Settings + typeScriptTag: cloudRouterBgpSessionSettings + description: Get routes for the BGP session of a specific connection. + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + - name: routeType + schema: array + required: true + description: Type of the bgp routes + responses: + - statusCode: '200' + description: '' + - url: >- + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status + method: getStatus + httpMethod: get + tag: Cloud Router Connections + typeScriptTag: cloudRouterConnections + description: Get CR connection status + parameters: + - name: circuitId + schema: string + required: true + description: Target's CR Circuit ID. + example: PF-AP-LAX1-1002 + - name: connectionCircuitId + schema: string + required: true + description: Target's CR Connection Circuit ID. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/bgp-routes + method: getBgpRoutes + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Get routes for this cloud router's bgp sessions + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: routeType + schema: array + required: true + description: Type of the bgp routes + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/all-routes + method: getAllRoutes + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Get all routes for this cloud router + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud-routers/{circuit_id}/bgp-logs + method: getBgpLogs + httpMethod: get + tag: Cloud Routers + typeScriptTag: cloudRouters + description: Get logs for this cloud router's bgp sessions + parameters: + - name: circuitId + schema: string + required: true + description: Circuit ID of the target cloud router. + example: PF-L3-CUST-2 + - name: cloudCircuitId + schema: string + required: false + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + - name: timeFrom + schema: string + required: true + description: Get BGP logs starting from this time + example: '2020-04-01T19:14:42.642Z' + - name: timeTo + schema: string + required: true + description: Get BGP logs up until this time + example: '2020-04-01T19:14:42.642Z' + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party + method: listImports + httpMethod: get + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Returns a list of Cloud Router Imports applied on a Connection. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party + method: importToConnection + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Apply a new Cloud Router Import to this Cloud Router Connection. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + - name: service_uuid + schema: string + required: true + description: '' + example: SERVICE_UUID + - name: import_filters + schema: array + required: false + description: '' + - name: return_filters + schema: array + required: true + description: '' + - name: subscription_term + schema: integer + required: false + description: '' + example: 12 + responses: + - statusCode: '201' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id} + method: removeConnectionImport + httpMethod: delete + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Remove a Cloud Router Import from this Connection. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: IMPORT_CIRCUIT_ID + responses: + - statusCode: '202' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id} + method: getSingleImport + httpMethod: get + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Returns a single Cloud Router Import associated with the circuit id. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: IMPORT_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id} + method: updateImportById + httpMethod: patch + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Updates a Cloud Router Import associated with this circuit id. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + - name: importCircuitId + schema: string + required: true + description: Circuit ID of the Cloud Router third-party service import. + example: IMPORT_CIRCUIT_ID + - name: import_filters + schema: array + required: false + description: '' + - name: return_filters + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple + method: removeMultiple + httpMethod: post + tag: Cloud Router Third Party + typeScriptTag: cloudRouterThirdParty + description: Remove multiple Cloud Router Imports by Circuit Id. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: connectionCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router Connection. + example: PF-CC-123456 + - name: import_circuit_ids + schema: array + description: '' + responses: + - statusCode: '202' + description: '' + - url: /v2/services/cloud-routers/{cr_circuit_id}/route-sets + method: getList + httpMethod: get + tag: Cloud Router Route Sets + typeScriptTag: cloudRouterRouteSets + description: Returns a list of Route Sets on this Cloud Router. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id} + method: getSingleRouteSet + httpMethod: get + tag: Cloud Router Route Sets + typeScriptTag: cloudRouterRouteSets + description: Returns a single Route Set associated with the circuit id. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: routeSetCircuitId + schema: string + required: true + description: Circuit ID of the Route Set. + example: PF-L3-RS-123456 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id} + method: updateRouteSet + httpMethod: patch + tag: Cloud Router Route Sets + typeScriptTag: cloudRouterRouteSets + description: Updates a Route Set associated with this circuit id. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: routeSetCircuitId + schema: string + required: true + description: Circuit ID of the Route Set. + example: PF-L3-RS-123456 + - name: description + schema: string + description: '' + example: User entered description + - name: prefixes + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections + method: getConnections + httpMethod: get + tag: Cloud Router Route Sets + typeScriptTag: cloudRouterRouteSets + description: Returns the list of connections this Route Set is defined from. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: routeSetCircuitId + schema: string + required: true + description: Circuit ID of the Route Set. + example: PF-L3-RS-9087 + responses: + - statusCode: '200' + description: '' + - url: >- + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections + method: updateConnections + httpMethod: put + tag: Cloud Router Route Sets + typeScriptTag: cloudRouterRouteSets + description: Updates the list of connections this Route Set is defined from. + parameters: + - name: crCircuitId + schema: string + required: true + description: Circuit ID of the target Cloud Router. + example: PF-L3-CUST-2 + - name: routeSetCircuitId + schema: string + required: true + description: Circuit ID of the Route Set. + example: PF-L3-RS-9087 + - name: connection_circuit_ids + schema: array + description: '' + responses: + - statusCode: '202' + description: '' + - url: /v2/services/cloud/hosted/aws + method: requestHostedConnection + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Request a new hosted AWS connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: AWS Hosted connection for Foo Corp + - name: aws_account_id + schema: string + required: true + description: '' + example: 2345678910 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: port + schema: string + required: true + description: '' + example: PF-AP-LAX1-1002 + - name: vlan + schema: integer + required: true + description: '' + example: 6 + - name: src_svlan + schema: integer + required: false + description: '' + example: 100 + - name: zone + schema: string + required: false + description: '' + example: A + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: cloud_settings + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/dedicated/aws + method: requestConnection + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Request a new dedicated AWS connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: AWS Hosted connection for Foo Corp + - name: aws_region + schema: string + required: true + description: '' + example: us-west-1 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: zone + schema: string + required: false + description: '' + example: A + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: customer_site_code + schema: string + required: false + description: '' + example: SW-LAS8 + - name: subscription_term + schema: integer + required: true + description: '' + example: 1 + - name: service_class + schema: string + required: true + description: '' + example: longhaul + - name: autoneg + schema: boolean + required: true + description: '' + example: false + - name: speed + schema: string + required: true + description: '' + example: 1Gbps + - name: should_create_lag + schema: boolean + required: false + description: '' + example: true + - name: loa + schema: string + required: false + description: '' + example: SSBhbSBhIFBERg== + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key} + method: validateServiceKey + httpMethod: get + tag: Cloud Services - Azure + typeScriptTag: cloudServicesAzure + description: Validate an Azure service key. + parameters: + - name: azureServiceKey + schema: string + required: true + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/hosted/azure + method: requestNewExpressRoute + httpMethod: post + tag: Cloud Services - Azure + typeScriptTag: cloudServicesAzure + description: Request a new AzureExpressRoute hosted connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Azure ExpressRoute Hosted connection for Foo Corp. + - name: azure_service_key + schema: string + required: true + description: '' + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: port + schema: string + required: true + description: '' + example: PF-AP-LAX1-1002 + - name: vlan_private + schema: integer + required: false + description: '' + example: 6 + - name: vlan_microsoft + schema: integer + required: false + description: '' + example: 7 + - name: src_svlan + schema: integer + required: false + description: '' + example: 100 + - name: speed + schema: string + required: false + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/dedicated/azure + method: requestNewDedicatedConnection + httpMethod: post + tag: Cloud Services - Azure + typeScriptTag: cloudServicesAzure + description: Request a new AzureExpressRoute dedicated connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Azure Dedicated connection for Foo Corp + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: zone + schema: string + required: false + description: '' + example: A + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: customer_site_code + schema: string + required: false + description: '' + example: SW-LAS8 + - name: subscription_term + schema: integer + required: true + description: '' + example: 1 + - name: service_class + schema: string + required: true + description: '' + example: longhaul + - name: speed + schema: string + required: true + description: '' + example: 10Gbps + - name: loa + schema: string + required: false + description: '' + example: SSBhbSBhIFBERg== + - name: encapsulation + schema: string + required: true + description: '' + example: ENCAPSULATION + - name: port_category + schema: string + required: true + description: '' + example: PORT_CATEGORY + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/hosted/google + method: requestNewConnection + httpMethod: post + tag: Cloud Services - Google Cloud + typeScriptTag: cloudServicesGoogleCloud + description: Request a new hosted Google connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Test description + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: google_pairing_key + schema: string + required: false + description: '' + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + - name: google_vlan_attachment_name + schema: string + required: true + description: '' + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + - name: port + schema: string + required: true + description: '' + example: PF-AP-LAX1-1002 + - name: vlan + schema: integer + required: true + description: '' + example: 6 + - name: src_svlan + schema: integer + required: false + description: '' + example: 100 + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: cloud_settings + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/dedicated/google + method: requestDedicatedConnection + httpMethod: post + tag: Cloud Services - Google Cloud + typeScriptTag: cloudServicesGoogleCloud + description: Request a new dedicated Google connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Google Dedicated connection for Foo Corp + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: zone + schema: string + required: false + description: '' + example: A + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: customer_site_code + schema: string + required: false + description: '' + example: SW-LAS8 + - name: subscription_term + schema: integer + required: true + description: '' + example: 1 + - name: service_class + schema: string + required: true + description: '' + example: longhaul + - name: autoneg + schema: boolean + required: false + description: '' + example: false + - name: speed + schema: string + required: true + description: '' + example: 10Gbps + - name: loa + schema: string + required: false + description: '' + example: SSBhbSBhIFBERg== + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/hosted/ibm + method: requestNewConnection + httpMethod: post + tag: Cloud Services - IBM + typeScriptTag: cloudServicesIbm + description: Request a new hosted IBM connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: ibm_account_id + schema: string + required: true + description: '' + example: 57a7d05f36894e3cb9b46a43556d903e + - name: ibm_bgp_asn + schema: integer + required: true + description: '' + example: 64999 + - name: ibm_bgp_cer_cidr + schema: string + required: false + description: '' + example: 10.254.30.78/30 + - name: ibm_bgp_ibm_cidr + schema: string + required: false + description: '' + example: 10.254.30.77/30 + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: DAL1 + - name: port + schema: string + required: true + description: '' + example: PF-AP-LAX1-1002 + - name: vlan + schema: integer + required: false + description: '' + example: 6 + - name: src_svlan + schema: integer + required: false + description: '' + example: 100 + - name: zone + schema: string + required: false + description: '' + example: A + - name: speed + schema: string + required: true + description: '' + example: 1Gbps + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/hosted/oracle + method: requestConnection + httpMethod: post + tag: Cloud Services - Oracle + typeScriptTag: cloudServicesOracle + description: Request a new hosted Oracle connection. + parameters: + - name: description + schema: string + required: true + description: '' + example: Hosted-connection-Foo_Corp + - name: vc_ocid + schema: string + required: true + description: '' + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - name: region + schema: string + required: true + description: '' + example: REGION + - name: account_uuid + schema: string + required: true + description: '' + example: a2115890-ed02-4795-a6dd-c485bec3529c + - name: pop + schema: string + required: true + description: '' + example: WDC2 + - name: port + schema: string + required: true + description: '' + example: PF-AP-LAX1-1002 + - name: zone + schema: string + required: false + description: '' + example: A + - name: vlan + schema: integer + required: true + description: '' + example: 6 + - name: src_svlan + schema: integer + required: false + description: '' + example: 100 + - name: published_quote_line_uuid + schema: string + required: false + description: '' + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + - name: subscription_term + schema: integer + required: false + description: '' + default: 1 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid} + method: getStatus + httpMethod: get + tag: Cloud Services - Oracle + typeScriptTag: cloudServicesOracle + description: Get current status of Oracle side VC + parameters: + - name: vcOcid + schema: string + required: true + description: Oracle side VC identifier + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - name: region + schema: string + required: false + description: Oracle region for this VC OCID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync + method: syncChanges + httpMethod: post + tag: Cloud Services - Oracle + typeScriptTag: cloudServicesOracle + description: >- + Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted + connection. + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-CC-DAL-NYC-2009-PF + responses: + - statusCode: '202' + description: '' + - url: /v2/services/cloud/{cloud_circuit_id} + method: deleteConnection + httpMethod: delete + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Delete a cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + responses: + - statusCode: '200' + description: Cloud connection successfully deleted + - url: /v2/services/cloud/hosted/{cloud_circuit_id} + method: updateHostedConnection + httpMethod: patch + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Update a hosted cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + - name: description + schema: string + description: '' + example: Cloud Connection Foo Corp + - name: cloud_settings + schema: undefined + description: '' + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade + method: upgradeHostedConnection + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Upgrade a hosted cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + - name: speed + schema: string + required: true + description: '' + example: 100Mbps + responses: + - statusCode: '202' + description: '' + - url: /v2/services/cloud/dedicated/{cloud_circuit_id} + method: updateDedicatedCloudConnection + httpMethod: patch + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Update a dedicated cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade + method: upgradeDedicatedCloudConnection + httpMethod: post + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Upgrade a dedicated cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + - name: subscription_term + schema: integer + description: '' + - name: service_class + schema: string + description: '' + example: longhaul + responses: + - statusCode: '202' + description: '' + - url: /v2/services/cloud/ibm/{cloud_circuit_id} + method: updateIbmCloudConnection + httpMethod: patch + tag: Cloud Services - IBM + typeScriptTag: cloudServicesIbm + description: Update an IBM hosted cloud connection + parameters: + - name: cloudCircuitId + schema: string + required: true + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + - name: description + schema: string + description: '' + example: Hosted-connection-Foo_Corp + - name: po_number + schema: string + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/connections/{cloud_circuit_id} + method: connection + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get cloud connection info + parameters: + - name: cloudCircuitId + schema: string + required: true + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/{cloud_circuit_id}/status + method: getConnectionStatus + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: >- + Get cloud connection instance status + (https://docs.packetfabric.com/api/v2/ + parameters: + - name: cloudCircuitId + schema: string + required: true + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options + method: getConnectionUpgradeOptions + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get cloud connection instance upgrade options + parameters: + - name: cloudCircuitId + schema: string + required: true + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/hosted + method: listHostedConnections + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: >- + Get list of current customer's hosted cloud connections. Output is only + paginated if at least one pagination argument is given. + parameters: + - name: q + schema: string + description: Filter by circuit id or description + - name: sortColumn + schema: string + description: '' + - name: sortOrder + schema: string + description: '' + default: asc + - name: offset + schema: integer + description: '' + default: 0 + - name: pageSize + schema: integer + description: '' + default: 100 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/hosted/export.csv + method: listHostedConnectionsCsv + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: >- + Get CSV with the list of current customer's hosted cloud connections. + Output is only paginated if at least one pagination argument is given. + parameters: + - name: q + schema: string + description: Filter by circuit id or description + - name: sortColumn + schema: string + description: '' + - name: sortOrder + schema: string + description: '' + default: asc + - name: offset + schema: integer + description: '' + default: 0 + - name: pageSize + schema: integer + description: '' + default: 100 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/dedicated + method: getCurrentDedicatedConnections + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get list of current customer's dedicated cloud connections + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/dedicated/export.csv + method: getCurrentCustomerDedicatedConnectionsCsv + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get CSV with the list of current customer's dedicated cloud connections + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2.1/services/cloud/connections/{ident}/status + method: getStatus + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get Cloud status + parameters: + - name: ident + schema: string + required: true + description: Cloud UUID + example: 2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/connections/{cloud_circuit_id}/router-config + method: getRouterConfig + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get router configuration + parameters: + - name: cloudCircuitId + schema: string + required: true + description: Target connection's Cloud Circuit ID. + example: PF-CC-GOG-NYC-1234567 + - name: routerType + schema: string + required: true + description: Router Type Identifier. + example: CiscoSystemsInc-2900SeriesRouters-IOS124 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/aws/resources/{credentials_uuid}/regions + method: getAvailableRegions + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get available AWS regions + parameters: + - name: credentialsUuid + schema: string + required: true + description: The UUID of the credentials that should be used for this request. + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name} + method: getResourcesInRegion + httpMethod: get + tag: Cloud Services - AWS + typeScriptTag: cloudServicesAws + description: Get AWS resources in the given region + parameters: + - name: credentialsUuid + schema: string + required: true + description: The UUID of the credentials that should be used for this request. + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + - name: regionName + schema: string + required: true + description: Name of the chosen AWS region. + example: us-east-1 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/google/resources/{credentials_uuid}/regions + method: availableRegionsGet + httpMethod: get + tag: Cloud Services - Google Cloud + typeScriptTag: cloudServicesGoogleCloud + description: Get available Google regions + parameters: + - name: credentialsUuid + schema: string + required: true + description: The UUID of the credentials that should be used for this request. + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/google/resources/{credentials_uuid}/{region_name} + method: getResourcesByRegion + httpMethod: get + tag: Cloud Services - Google Cloud + typeScriptTag: cloudServicesGoogleCloud + description: Get Google resources in the given region + parameters: + - name: credentialsUuid + schema: string + required: true + description: The UUID of the credentials that should be used for this request. + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + - name: regionName + schema: string + required: true + description: Name of the chosen AWS region. + example: us-east1 + - name: projectId + schema: string + required: false + description: >- + Name of the chosen project_id. Defaults to the project_id of the + credentials. + example: example-project + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/credentials + method: getAll + httpMethod: get + tag: Cloud Provider Credentials + typeScriptTag: cloudProviderCredentials + description: Get all cloud provider credentials + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/credentials + method: createNewCredential + httpMethod: post + tag: Cloud Provider Credentials + typeScriptTag: cloudProviderCredentials + description: Create a new Cloud Provider Credential. + parameters: + - name: description + schema: string + required: false + description: '' + example: Example Description + - name: cloud_provider + schema: string + required: true + description: '' + example: CLOUD_PROVIDER + - name: cloud_credentials + schema: undefined + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/cloud/credentials/{credential_uuid} + method: deleteCredential + httpMethod: delete + tag: Cloud Provider Credentials + typeScriptTag: cloudProviderCredentials + description: Delete a Cloud Provider Credential. + parameters: + - name: credentialUuid + schema: string + required: true + description: UUID of the target Cloud Provider Credential. + example: 0379ef74-c326-4f0d-a906-c56da712e536 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/credentials/{credential_uuid} + method: updateCredential + httpMethod: patch + tag: Cloud Provider Credentials + typeScriptTag: cloudProviderCredentials + description: Update a Cloud Provider Credential. + parameters: + - name: credentialUuid + schema: string + required: true + description: UUID of the target Cloud Provider Credential. + example: 0379ef74-c326-4f0d-a906-c56da712e536 + - name: description + schema: string + description: '' + example: Example Description + - name: cloud_credentials + schema: undefined + description: '' + responses: + - statusCode: '200' + description: '' + - url: /v2/services/cloud/credentials/{credential_uuid}/connections + method: getAllConnections + httpMethod: get + tag: Cloud Provider Credentials + typeScriptTag: cloudProviderCredentials + description: Get all connections tied to this cloud provider credential + parameters: + - name: credentialUuid + schema: string + required: true + description: UUID of the target Cloud Provider Credential. + example: 0379ef74-c326-4f0d-a906-c56da712e536 + responses: + - statusCode: '200' + description: '' + - url: /v2/signup/email-validation + method: emailValidationCheck + httpMethod: get + tag: Signup + typeScriptTag: signup + description: Check email address + parameters: + - name: email + schema: string + required: true + description: The email address to be checked + example: email@email.com + responses: + - statusCode: '200' + description: A valid email address was checked + - statusCode: '400' + description: The email address was either missing or invalid + - url: /v2/aggregated-capacity + method: getAllContainers + httpMethod: get + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Get all flex bandwidth containers for the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/aggregated-capacity + method: createFlexContainer + httpMethod: post + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Create a flex bandwidth container + parameters: + - name: description + schema: string + required: true + description: '' + example: Flex bandwidth container description + - name: account_uuid + schema: string + required: true + description: '' + example: ACCOUNT_UUID + - name: subscription_term + schema: integer + required: true + description: '' + example: 12 + - name: capacity + schema: string + required: true + description: '' + example: 100Gbps + - name: po_number + schema: string + required: false + description: '' + example: PO-1234 + responses: + - statusCode: '201' + description: '' + - url: /v2/aggregated-capacity/{aggregate_capacity_id} + method: deleteContainer + httpMethod: delete + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Delete a flex bandwidth container + parameters: + - name: aggregateCapacityId + schema: string + required: true + description: The ID of the flex bandwidth container + example: PF-AB-1234 + responses: + - statusCode: '200' + description: Aggregate Capacity deleted successfully + - url: /v2/aggregated-capacity/{aggregate_capacity_id} + method: getById + httpMethod: get + tag: Flex Bandwidth + typeScriptTag: flexBandwidth + description: Get a flex bandwidth container by ID + parameters: + - name: aggregateCapacityId + schema: string + required: true + description: The ID of the flex bandwidth container + example: PF-AB-1234 + responses: + - statusCode: '200' + description: '' + - url: /v2/announcements + method: getCurrentCustomerList + httpMethod: get + tag: Announcements + typeScriptTag: announcements + description: Get all active announcements for the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/contacts + method: getCurrentCustomerContacts + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get the IPAM contacts associated with the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/contacts + method: addContact + httpMethod: post + tag: IPAM + typeScriptTag: ipam + description: Add the contact for the current customer + parameters: + - name: name + schema: string + required: true + description: '' + example: NAME + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: phone + schema: string + required: true + description: '' + example: PHONE + - name: address + schema: string + required: true + description: '' + example: ADDRESS + - name: country_code + schema: string + required: true + description: '' + example: US + - name: apnic_org_id + schema: string + required: false + description: '' + - name: ripe_org_id + schema: string + required: false + description: '' + - name: apnic_ref + schema: string + required: false + description: '' + - name: ripe_ref + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/ipam/contacts/{ipam_contact_uuid} + method: deleteByUuid + httpMethod: delete + tag: IPAM + typeScriptTag: ipam + description: Delete an IPAM contact by UUID + parameters: + - name: ipamContactUuid + schema: string + required: true + description: The UUID of the IPAM contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/contacts/{ipam_contact_uuid} + method: getByUuid + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get an IPAM contact by UUID + parameters: + - name: ipamContactUuid + schema: string + required: true + description: The UUID of the IPAM contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/prefixes + method: getPrefixes + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get the IPAM prefixes associated with the current customer + parameters: + - name: market + schema: string + required: false + description: The market code to filter by. + example: NYC + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/prefixes + method: allocatePrefix + httpMethod: post + tag: IPAM + typeScriptTag: ipam + description: Allocate a new IPAM prefix + parameters: + - name: length + schema: integer + required: true + description: '' + example: 0 + - name: market + schema: string + required: false + description: '' + - name: address_family + schema: string + required: false + description: '' + - name: admin_ipam_contact_uuid + schema: string + required: false + description: '' + - name: tech_ipam_contact_uuid + schema: string + required: false + description: '' + - name: address + schema: string + required: false + description: '' + - name: city + schema: string + required: false + description: '' + - name: postal_code + schema: string + required: false + description: '' + - name: org_id + schema: string + required: false + description: '' + - name: ipj_details + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /v2/services/ipam/prefixes/{prefix_circuit_id} + method: deleteByCircuitId + httpMethod: delete + tag: IPAM + typeScriptTag: ipam + description: Delete an IPAM prefix by Circuit Id + parameters: + - name: prefixCircuitId + schema: string + required: true + description: The Circuit Id of the IPAM Prefix. + example: PF-IP-12345 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/prefixes/{prefix_circuit_id} + method: getByCircuitId + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get an IPAM Prefix by Circuit Id + parameters: + - name: prefixCircuitId + schema: string + required: true + description: The Circuit Id of the IPAM Prefix. + example: PF-IP-12345 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/asns + method: getAsns + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get the IPAM ASNs associated with the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/asns + method: allocateNewAsn + httpMethod: post + tag: IPAM + typeScriptTag: ipam + description: Allocate a new IPAM ASN + parameters: + - name: asn_byte_type + schema: integer + description: '' + default: 2 + responses: + - statusCode: '201' + description: '' + - url: /v2/services/ipam/asns/{asn} + method: deleteAsnByAsn + httpMethod: delete + tag: IPAM + typeScriptTag: ipam + description: Delete an IPAM ASN by the ASN + parameters: + - name: asn + schema: integer + required: true + description: The ASN. + example: 65367 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/ipam/asns/{asn} + method: getAsnById + httpMethod: get + tag: IPAM + typeScriptTag: ipam + description: Get an IPAM ASN by the ASN + parameters: + - name: asn + schema: integer + required: true + description: The ASN. + example: 65367 + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet + method: getCurrentCustomerHpIs + httpMethod: get + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Get HPIs associated with the current customer + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet + method: post + httpMethod: post + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Create a new HPI + parameters: + - name: description + schema: string + required: true + description: '' + example: HPI for customer A + - name: port_circuit_id + schema: string + required: true + description: '' + example: PF-AP-12345 + - name: speed + schema: string + required: true + description: '' + example: 1Gbps + - name: vlan + schema: integer + required: true + description: '' + example: 4 + - name: account_uuid + schema: string + required: true + description: '' + example: 12345678-1234-1234-1234-123456789012 + - name: routing_configuration + schema: object + required: true + description: '' + responses: + - statusCode: '202' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id} + method: delete + httpMethod: delete + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Delete a HPI by hpi_circuit_id + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id} + method: get + httpMethod: get + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Get a HPI by hpi_circuit_id + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id} + method: put + httpMethod: put + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Update a HPI + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + - name: description + schema: string + required: true + description: '' + example: HPI for customer A + - name: routing_configuration + schema: object + required: true + description: '' + responses: + - statusCode: '202' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id}/bgp + method: getBgpConfig + httpMethod: get + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Get the bgp routing configurations for this HPI + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id}/static + method: getStaticConfigurations + httpMethod: get + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Get the static routing configurations for this HPI + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' + - url: /v2/services/high-performance-internet/{hpi_circuit_id}/status + method: getStatus + httpMethod: get + tag: High Performance Internet + typeScriptTag: highPerformanceInternet + description: Get HPI status + parameters: + - name: hpiCircuitId + schema: string + required: true + description: The circuit id of the HPI. + example: HPI_CIRCUIT_ID + responses: + - statusCode: '200' + description: '' +numberOfSchemas: 452 +apiDescription: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H "On-Behalf: + 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` diff --git a/sdks/db/cached-method-objects/from-custom-request_rated.network.yaml b/sdks/db/cached-method-objects/from-custom-request_rated.network.yaml new file mode 100644 index 000000000..85d9e06aa --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_rated.network.yaml @@ -0,0 +1,2779 @@ +hash: 9f4015b2eb8221b4c57e55734b5351fdd8c346656b7e7e5c842541b8c5d407e5 +methodObjects: + - url: /v0/pricingPlans + method: getPlans + httpMethod: get + tag: Pricing + typeScriptTag: pricing + description: Get Pricing Plans + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/validators/{validator_index_or_pubkey}/effectiveness + method: getEffectivenessAggregation + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Effectiveness + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: from + schema: undefined + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: granularity + schema: string + required: false + description: '' + - name: filterType + schema: string + required: false + description: '' + - name: include + schema: array + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '307' + description: Validator requested by a valid PubKey + - statusCode: '400' + description: '' + - url: /v0/eth/validators/effectiveness + method: getEffectivenessAggregation + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Effectiveness Aggregation + parameters: + - name: pubkeys + schema: array + required: false + description: '' + - name: indices + schema: array + required: false + description: '' + - name: from + schema: undefined + required: false + description: '' + - name: to + schema: undefined + required: false + description: '' + - name: filterType + schema: string + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: granularity + schema: string + required: false + description: '' + - name: groupBy + schema: string + required: false + description: '' + - name: include + schema: array + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '307' + description: Validators aggregation requested by valid PubKeys + - statusCode: '400' + description: '' + - url: /v0/eth/validators + method: listGet + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Metadata List + parameters: + - name: from + schema: integer + required: false + description: '' + default: 0 + - name: size + schema: integer + required: false + description: '' + default: 100 + - name: operatorsIds + schema: array + required: false + description: '' + - name: withdrawalAddress + schema: string + required: false + description: '' + - name: idType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/validators/{validator_index_or_pubkey} + method: getMetadata + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Metadata + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '307' + description: Validator requested by a valid PubKey + - statusCode: '400' + description: '' + - url: /v0/eth/validators/{validator_index_or_pubkey}/apr + method: getApr + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Apr + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: aprType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '307' + description: Validator requested by a valid PubKey + - statusCode: '400' + description: '' + - url: /v0/eth/operators + method: getSummaries + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Summaries + parameters: + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: poolType + schema: string + required: false + description: '' + - name: idType + schema: string + required: false + description: '' + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 15 + - name: parentId + schema: string + required: false + description: '' + - name: parentEntity + schema: string + required: false + description: Use parentId + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/percentiles + method: getPercentiles + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Percentiles + parameters: + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: idType + schema: string + required: true + description: '' + example: IDTYPE + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id} + method: getOperatorById + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Operator + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: idType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id}/effectiveness + method: getEffectiveness + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Effectiveness + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: idType + schema: string + required: false + description: '' + - name: from + schema: undefined + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: granularity + schema: string + required: false + description: '' + - name: filterType + schema: string + required: false + description: '' + - name: include + schema: array + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id}/relayers + method: getRelayerStats + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Relayer Stats + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: idType + schema: string + required: false + description: '' + - name: window + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id}/apr + method: getApr + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Operator Apr + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: idType + schema: string + required: false + description: '' + - name: aprType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id}/summary + method: getSummary + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Operator Summary + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: idType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/operators/{operator_id}/stakeMovement + method: getStakeMovement + httpMethod: get + tag: Operators + typeScriptTag: operators + description: Get Activations Exits Aggregate + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: stakeAction + schema: string + required: false + description: '' + - name: window + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/stats + method: getStats + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Network Stats + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/overview + method: getOverview + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Network Overview + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/capacity + method: getChurnCapacity + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Network Churn Capacity + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/capacity/pool + method: getChurnCapacityPool + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Network Churn Capacity Pool + parameters: + - name: window + schema: string + required: false + description: '' + - name: stakeAction + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/dailyRewards + method: getDailyRewards + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Network Daily Rewards + parameters: + - name: from + schema: undefined + required: false + description: >- + The starting date + (https://api-docs.rated.network/rated-api/api-reference to return. For + example, 2024-01-01. + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/network/dailyRewards/{date} + method: dailyRewardsByDayGet + httpMethod: get + tag: Network + typeScriptTag: network + description: Get Daily Rewards By Day + parameters: + - name: date + schema: undefined + required: true + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/withdrawals/predicted/operators/{operator_id} + method: predictedOperatorsGet + httpMethod: get + tag: Withdrawals + typeScriptTag: withdrawals + description: Get Withdrawals Predicted By Operator + parameters: + - name: operatorId + schema: string + required: true + description: '' + example: OPERATOR_ID + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/withdrawals/predicted/slot/{withdrawal_slot} + method: getPredictedBySlot + httpMethod: get + tag: Withdrawals + typeScriptTag: withdrawals + description: Get Withdrawals Predicted By Slot + parameters: + - name: withdrawalSlot + schema: integer + required: true + description: '' + example: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/selfReports/validators + method: createReportValidators + httpMethod: post + tag: Self Reports + typeScriptTag: selfReports + description: Report Validators + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + - name: validators + schema: array + required: true + description: '' + - name: poolTag + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings/overview + method: overviewGet + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Overview + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings/leaderboard + method: getLeaderboard + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Leaderboard + parameters: + - name: from + schema: integer + required: false + description: '' + default: 0 + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: slashingRole + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings/cohortAnalysis + method: getCohortAnalysis + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Cohort Analysis + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings/timeseries + method: getTimeSeries + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Time Series + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings + method: getAll + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Penalties All + parameters: + - name: from + schema: undefined + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/slashings/{validator_index_or_pubkey} + method: penaltyGet + httpMethod: get + tag: Slashings + typeScriptTag: slashings + description: Get Slashing Penalties + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/p2p/geographical + method: getGeographicalDistribution + httpMethod: get + tag: P2P (https://api-docs.rated.network/rated-api/api-reference + typeScriptTag: p2PHttps:ApiDocsRatedNetworkRatedApiApiReference + description: Get P2P Geographical Distribution + parameters: + - name: distType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/p2p/hostingProvider + method: getP2PHostingProviderDistribution + httpMethod: get + tag: P2P (https://api-docs.rated.network/rated-api/api-reference + typeScriptTag: p2PHttps:ApiDocsRatedNetworkRatedApiApiReference + description: Get P2P Hosting Provider Distribution + parameters: + - name: from + schema: integer + required: false + description: '' + default: 0 + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: distType + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/blocks + method: listGet + httpMethod: get + tag: Blocks + typeScriptTag: blocks + description: Get Blocks + parameters: + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 10 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/eth/blocks/{consensus_slot} + method: bySlotGet + httpMethod: get + tag: Blocks + typeScriptTag: blocks + description: Get Blocks By Slot + parameters: + - name: consensusSlot + schema: integer + required: true + description: '' + example: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/validators/{validator_id}/effectiveness + method: getEffectiveness + httpMethod: get + tag: Polygon Validators + typeScriptTag: polygonValidators + description: Validator Checkpoint Effectiveness + parameters: + - name: validatorId + schema: integer + required: true + description: '' + example: 0 + - name: from + schema: undefined + required: false + description: >- + The starting checkpoint or date + (https://api-docs.rated.network/rated-api/api-reference to return. For + example, 41100 or 2021-01-01. + - name: granularity + schema: string + required: false + description: Checkpoint or UTC day + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/validators/{validator_id} + method: getMetadata + httpMethod: get + tag: Polygon Validators + typeScriptTag: polygonValidators + description: Validator Metadata + parameters: + - name: validatorId + schema: integer + required: true + description: '' + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/validators + method: listGet + httpMethod: get + tag: Polygon Validators + typeScriptTag: polygonValidators + description: Validator Summaries + parameters: + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: delegatorAddress + schema: string + required: false + description: The delegator address to filter by. + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/validators/{validator_id}/summary + method: getSummary + httpMethod: get + tag: Polygon Validators + typeScriptTag: polygonValidators + description: Validator Summary + parameters: + - name: validatorId + schema: integer + required: true + description: '' + example: 0 + - name: window + schema: string + required: true + description: '' + example: WINDOW + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/network/overview + method: getOverview + httpMethod: get + tag: Polygon Network + typeScriptTag: polygonNetwork + description: Get Network Overview + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/delegators + method: getSummaries + httpMethod: get + tag: Polygon Delegators + typeScriptTag: polygonDelegators + description: Delegator Summaries + parameters: + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/delegators/{delegator_address}/summary + method: getSummary + httpMethod: get + tag: Polygon Delegators + typeScriptTag: polygonDelegators + description: Delegator Summary + parameters: + - name: delegatorAddress + schema: string + required: true + description: '' + example: DELEGATOR_ADDRESS + - name: window + schema: string + required: true + description: '' + example: WINDOW + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/polygon/delegators/{delegator_address}/rewards + method: getRewards + httpMethod: get + tag: Polygon Delegators + typeScriptTag: polygonDelegators + description: Delegator Rewards + parameters: + - name: delegatorAddress + schema: string + required: true + description: '' + example: DELEGATOR_ADDRESS + - name: from + schema: undefined + required: false + description: >- + The starting (https://api-docs.rated.network/rated-api/api-reference + checkpoint or date + (https://api-docs.rated.network/rated-api/api-reference to return. For + example, 41100 or 2021-01-01. + - name: to + schema: undefined + required: false + description: >- + The ending (https://api-docs.rated.network/rated-api/api-reference + checkpoint or date + (https://api-docs.rated.network/rated-api/api-reference to return. For + example, 41100 or 2021-01-01. + - name: granularity + schema: string + required: false + description: Checkpoint or UTC day + - name: size + schema: integer + required: false + description: Maximum number of time periods (days or checkpoint) in the results. + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/network/overview + method: getOverview + httpMethod: get + tag: Solana Network + typeScriptTag: solanaNetwork + description: Get Network Overview + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/network/validatorDistributions + method: validatorDistributionsGet + httpMethod: get + tag: Solana Network + typeScriptTag: solanaNetwork + description: Get Validator Distributions + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators/{validator_id}/rewards + method: getValidatorRewards + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Rewards + parameters: + - name: validatorId + schema: string + required: true + description: '' + example: VALIDATOR_ID + - name: from + schema: undefined + required: false + description: UTC day or slot multiple of 3k + - name: granularity + schema: string + required: false + description: UTC day or 3k block interval + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators/{validator_id}/performance + method: getPerformance + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Performance + parameters: + - name: validatorId + schema: string + required: true + description: '' + example: VALIDATOR_ID + - name: from + schema: undefined + required: false + description: UTC day or slot multiple of 3k + - name: granularity + schema: string + required: false + description: UTC day or 3k block interval + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators/{validator_id}/performance/latency + method: getValidatorLatency + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Latency + parameters: + - name: validatorId + schema: string + required: true + description: '' + example: VALIDATOR_ID + - name: from + schema: integer + required: false + description: Slot to get vote latency from. + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators/{validator_id} + method: metadataGet + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Metadata + parameters: + - name: validatorId + schema: string + required: true + description: '' + example: VALIDATOR_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators + method: getSummaries + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Summaries + parameters: + - name: window + schema: string + required: true + description: '' + example: WINDOW + - name: from + schema: integer + required: false + description: '' + - name: size + schema: integer + required: false + description: '' + default: 15 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v0/solana/validators/{validator_id}/summary + method: getSummaryById + httpMethod: get + tag: Solana Validators + typeScriptTag: solanaValidators + description: Validator Summary + parameters: + - name: validatorId + schema: string + required: true + description: '' + example: VALIDATOR_ID + - name: window + schema: string + required: true + description: '' + example: WINDOW + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags + method: getAll + httpMethod: get + tag: Tags + typeScriptTag: tags + description: Get Tags + parameters: + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags + method: createTag + httpMethod: post + tag: Tags + typeScriptTag: tags + description: Create Tag + parameters: + - name: xRatedNetwork + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags/{id} + method: getById + httpMethod: get + tag: Tags + typeScriptTag: tags + description: Get Tag + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags/{id} + method: updateById + httpMethod: patch + tag: Tags + typeScriptTag: tags + description: Update Tag + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: xRatedNetwork + schema: string + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: NAME + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - statusCode: '422' + description: '' + - url: /v1/tags/{id}/validators + method: getTag + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Tag Validators + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags/{id}/validators + method: add + httpMethod: post + tag: Validators + typeScriptTag: validators + description: Add Validators + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: xRatedNetwork + schema: string + required: false + description: '' + - name: pubkeys + schema: array + required: true + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: '' + - url: /v1/tags/{id}/validators/{pubkey} + method: removeValidator + httpMethod: delete + tag: Validators + typeScriptTag: validators + description: Remove Validator + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + - name: pubkey + schema: string + required: true + description: '' + example: PUBKEY + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '204' + description: Successful Response + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/effectiveness + method: getEffectiveness + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Effectiveness + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/attestations + method: getAttestations + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Attestations + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/proposals + method: getProposals + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Proposals + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/effectiveness + method: getEffectiveness + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validators Effectiveness + parameters: + - name: pubkeys + schema: array + required: false + description: '' + - name: indices + schema: array + required: false + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: groupBy + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/attestations + method: getAttestations + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validators Attestations + parameters: + - name: pubkeys + schema: array + required: false + description: '' + - name: indices + schema: array + required: false + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: groupBy + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/proposals + method: getProposals + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validators Proposals + parameters: + - name: pubkeys + schema: array + required: false + description: '' + - name: indices + schema: array + required: false + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: groupBy + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey}/effectiveness + method: getEffectiveness + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator Effectiveness + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey}/attestations + method: getAttestations + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator Attestations + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey}/proposals + method: getProposalsByValidatorIndexOrPubkey + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator Proposals + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/sets/{set_id}/effectiveness + method: getSetEffectiveness + httpMethod: get + tag: Effectiveness + typeScriptTag: effectiveness + description: Get Set Effectiveness + parameters: + - name: setId + schema: string + required: true + description: '' + example: SET_ID + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/sets/{set_id}/attestations + method: getAttestations + httpMethod: get + tag: Attestation + typeScriptTag: attestation + description: Get Set Attestations + parameters: + - name: setId + schema: string + required: true + description: '' + example: SET_ID + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/sets/{set_id}/proposals + method: listGet + httpMethod: get + tag: Proposal + typeScriptTag: proposal + description: Get Set Proposals + parameters: + - name: setId + schema: string + required: true + description: '' + example: SET_ID + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/rewards + method: getRewards + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Rewards + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/penalties + method: getPenalties + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Penalties + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey}/rewards + method: getRewards + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator Rewards + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey}/penalties + method: getPenalties + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator Penalties + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/sets/{set_id}/rewards + method: privateSetRewardsGet + httpMethod: get + tag: Reward + typeScriptTag: reward + description: Get Private Set Rewards + parameters: + - name: setId + schema: string + required: true + description: '' + example: SET_ID + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/sets/{set_id}/penalties + method: privateSetPenaltiesGet + httpMethod: get + tag: Penalty + typeScriptTag: penalty + description: Get Private Set Penalties + parameters: + - name: setId + schema: string + required: true + description: '' + example: SET_ID + - name: fromDate + schema: string + required: false + description: '' + - name: fromDay + schema: integer + required: false + description: '' + - name: toDate + schema: string + required: false + description: '' + - name: toDay + schema: integer + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: granularity + schema: string + required: false + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/summaries + method: getSummaries + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entities Summaries + parameters: + - name: entityType + schema: string + required: false + description: '' + - name: window + schema: string + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id}/summaries + method: getSummaries + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity Summaries + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: false + description: '' + - name: window + schema: string + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities + method: listGet + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entities + parameters: + - name: entityType + schema: string + required: false + description: '' + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/entities/{entity_id} + method: getById + httpMethod: get + tag: Entity + typeScriptTag: entity + description: Get Entity + parameters: + - name: entityId + schema: string + required: true + description: '' + example: ENTITY_ID + - name: entityType + schema: string + required: true + description: '' + example: ENTITYTYPE + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators + method: getAll + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validators + parameters: + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: limit + schema: integer + required: false + description: '' + default: 10 + - name: offset + schema: integer + required: false + description: '' + default: 0 + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' + - url: /v1/eth/validators/{validator_index_or_pubkey} + method: getValidator + httpMethod: get + tag: Validators + typeScriptTag: validators + description: Get Validator + parameters: + - name: validatorIndexOrPubkey + schema: undefined + required: true + description: '' + - name: xRatedNetwork + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: '' +numberOfSchemas: 133 +apiDescription: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators and + individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) diff --git a/sdks/db/cached-method-objects/from-custom-request_realcube.com.yaml b/sdks/db/cached-method-objects/from-custom-request_realcube.com.yaml new file mode 100644 index 000000000..fee982fea --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_realcube.com.yaml @@ -0,0 +1,11226 @@ +hash: e5af2fc0287311a4cd8a19d171d1cd0f3727114e26e7466b72899b124379eb4e +methodObjects: + - url: /v1/platform_configs + method: showAllConfigs + httpMethod: get + tag: platform_configs + typeScriptTag: platformConfigs + description: Shows the platform_configs + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/platform_configs + method: createNewConfig + httpMethod: post + tag: platform_configs + typeScriptTag: platformConfigs + description: Creates a platform_config within the current organisation + parameters: [] + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/platform_configs/{platform_config_id} + method: markAsDeleted + httpMethod: delete + tag: platform_configs + typeScriptTag: platformConfigs + description: Marks a platform_config as deleted within the current organisation. + parameters: + - name: platformConfigId + schema: string + required: true + description: ID of the platform_config you want to delete + example: PLATFORM_CONFIG_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/platform_configs/{platform_config_id} + method: updateWithinOrganisation + httpMethod: put + tag: platform_configs + typeScriptTag: platformConfigs + description: Updates an platform_config within the current organisation. + parameters: + - name: platformConfigId + schema: string + required: true + description: ID of the platform_config you want to update + example: PLATFORM_CONFIG_ID + - name: landing_page_marketing + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users + method: getAll + httpMethod: get + tag: users + typeScriptTag: users + description: Returns all users within the given account. + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID customer account to filter the users. + - name: page + schema: string + required: false + description: The page to paginate the users. + - name: perPage + schema: string + required: false + description: The number of users for a page + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users + method: createNewUser + httpMethod: post + tag: users + typeScriptTag: users + description: Creates a user. + parameters: [] + responses: + - statusCode: '201' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/log_in + method: authenticateUser + httpMethod: post + tag: users + typeScriptTag: users + description: Login + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: password + schema: string + required: true + description: '' + example: PASSWORD + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/refresh_token + method: refreshToken + httpMethod: get + tag: users + typeScriptTag: users + description: Refresh token + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/{user_id} + method: deleteUser + httpMethod: delete + tag: users + typeScriptTag: users + description: Delete the user. + parameters: + - name: userId + schema: integer + required: true + description: The ID of the user to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/{user_id} + method: updateUser + httpMethod: put + tag: users + typeScriptTag: users + description: Updates the user. + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID customer account + - name: userId + schema: integer + required: true + description: The ID of the user to update + example: 0 + - name: resetPasswordToken + schema: string + description: The reset token of the user + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/log_out + method: invalidateApiToken + httpMethod: delete + tag: users + typeScriptTag: users + description: Invalidates the current api token + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/reset_password_instructions + method: sendResetInstructions + httpMethod: put + tag: users + typeScriptTag: users + description: >- + Sends reset password instructions to the user's email address (in german & + english). + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: redirect_url + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/users/send_invitation + method: sendInvitation + httpMethod: put + tag: users + typeScriptTag: users + description: Sends invitation to the user's email address (in german & english). + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: redirect_url + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/roles + method: getAllRoles + httpMethod: get + tag: roles + typeScriptTag: roles + description: Returns all roles + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/roles + method: createRole + httpMethod: post + tag: roles + typeScriptTag: roles + description: Creates a Role + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/roles/{role_id} + method: removeRole + httpMethod: delete + tag: roles + typeScriptTag: roles + description: Deletes the Role + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: roleId + schema: integer + required: true + description: The ID of the Role to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/roles/{role_id} + method: showRole + httpMethod: get + tag: roles + typeScriptTag: roles + description: Shows a Role + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: roleId + schema: integer + required: true + description: The ID of the Role to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/roles/{role_id} + method: updateRole + httpMethod: put + tag: roles + typeScriptTag: roles + description: Updates a Role + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: roleId + schema: integer + required: true + description: The ID of the Role to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: role_policy_maps_attributes + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/role_policies + method: getAll + httpMethod: get + tag: role_policies + typeScriptTag: rolePolicies + description: Returns all Role Policies + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/role_policies + method: createPolicy + httpMethod: post + tag: role_policies + typeScriptTag: rolePolicies + description: Creates a Role Policy + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/role_policies/{role_policy_id} + method: deletePolicy + httpMethod: delete + tag: role_policies + typeScriptTag: rolePolicies + description: Deletes the Role Policy + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: rolePolicyId + schema: integer + required: true + description: The ID of the Role Policy to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/role_policies/{role_policy_id} + method: showRolePolicy + httpMethod: get + tag: role_policies + typeScriptTag: rolePolicies + description: Shows a Role Policy + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: rolePolicyId + schema: integer + required: true + description: The ID of the Role Policy to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/role_policies/{role_policy_id} + method: updatePolicy + httpMethod: put + tag: role_policies + typeScriptTag: rolePolicies + description: Updates a Role Policy + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: rolePolicyId + schema: integer + required: true + description: The ID of the Role Policy to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: role_policy_maps_attributes + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tenants/{boarding_type} + method: listForBoardingType + httpMethod: get + tag: tenants + typeScriptTag: tenants + description: Shows all tenants + parameters: + - name: boardingType + schema: string + required: true + description: 'The type of boarding: onboarding or offboarding' + example: BOARDING_TYPE + - name: customerAccountId + schema: integer + required: true + description: The id of the customer account + example: 0 + - name: startDate + schema: string + description: The starting date for new tenant + example: '2024-03-29' + - name: endDate + schema: string + description: The ending date for new tenant + example: '2024-03-30' + - name: searchBy + schema: string + description: Search by object type + - name: itemId + schema: integer + description: Search by object id + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_translations + method: getAllTranslations + httpMethod: get + tag: customer_account_translations + typeScriptTag: customerAccountTranslations + description: >- + Returns all customer_account's translations within the given customer + account + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_translations + method: createTranslation + httpMethod: post + tag: customer_account_translations + typeScriptTag: customerAccountTranslations + description: Creates a customer_account_translation + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: language + schema: string + description: '' + - name: value + schema: string + description: '' + - name: field + schema: string + description: '' + - name: parent_id + schema: string + description: '' + - name: parent_type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_translations/{customer_account_translation_id} + method: deleteTranslation + httpMethod: delete + tag: customer_account_translations + typeScriptTag: customerAccountTranslations + description: >- + Deletes the customer_account_translation within the current customer + account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountTranslationId + schema: integer + required: true + description: The ID of the customer_account_translation to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_translations/{customer_account_translation_id} + method: showTranslation + httpMethod: get + tag: customer_account_translations + typeScriptTag: customerAccountTranslations + description: Shows a customer_account_translation + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountTranslationId + schema: integer + required: true + description: The ID of the customer_account_translation to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_translations/{customer_account_translation_id} + method: updateTranslation + httpMethod: put + tag: customer_account_translations + typeScriptTag: customerAccountTranslations + description: Updates an customer_account_translation + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountTranslationId + schema: integer + required: true + description: The ID of the customer_account_translation to update + example: 0 + - name: language + schema: string + description: '' + - name: value + schema: string + description: '' + - name: field + schema: string + description: '' + - name: parent_id + schema: string + description: '' + - name: parent_type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_attribute_groups + method: getAllTranslations + httpMethod: get + tag: customer_account_attribute_groups + typeScriptTag: customerAccountAttributeGroups + description: >- + Returns all customer_account's translations within the given customer + account + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: searchField + schema: string + description: Filter by field + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_attribute_groups + method: createGroup + httpMethod: post + tag: customer_account_attribute_groups + typeScriptTag: customerAccountAttributeGroups + description: Creates a customer_account_attribute_group + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: name + schema: string + description: '' + - name: fields + schema: array + description: '' + - name: read_only + schema: boolean + description: '' + - name: parent_type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: >- + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id} + method: deleteGroup + httpMethod: delete + tag: customer_account_attribute_groups + typeScriptTag: customerAccountAttributeGroups + description: >- + Deletes the customer_account_attribute_group within the current customer + account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountAttributeGroupId + schema: integer + required: true + description: The ID of the customer_account_attribute_group to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: >- + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id} + method: showGroup + httpMethod: get + tag: customer_account_attribute_groups + typeScriptTag: customerAccountAttributeGroups + description: Shows a customer_account_attribute_group + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountAttributeGroupId + schema: integer + required: true + description: The ID of the customer_account_attribute_group to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: >- + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id} + method: update + httpMethod: put + tag: customer_account_attribute_groups + typeScriptTag: customerAccountAttributeGroups + description: Updates an customer_account_attribute_group + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: customerAccountAttributeGroupId + schema: integer + required: true + description: The ID of the customer_account_attribute_group to update + example: 0 + - name: name + schema: string + description: '' + - name: fields + schema: array + description: '' + - name: read_only + schema: boolean + description: '' + - name: parent_type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/ep_code_combinations + method: getAll + httpMethod: get + tag: ep_code_combinations + typeScriptTag: epCodeCombinations + description: Returns all ep_code_combinations + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/credentials/me + method: getUserByOAuth + httpMethod: get + tag: credentials + typeScriptTag: credentials + description: Returns user if logged via OAuth + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/credentials/auth + method: returnToken + httpMethod: post + tag: credentials + typeScriptTag: credentials + description: Returns EstateOs token + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboard_configs + method: createNewConfig + httpMethod: post + tag: dashboard_configs + typeScriptTag: dashboardConfigs + description: Creates a dashboard_config within the current organisation + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account to show + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboard_configs/{customer_account_id} + method: markAsDeleted + httpMethod: delete + tag: dashboard_configs + typeScriptTag: dashboardConfigs + description: Marks a dashboard_config as deleted within the current organisation. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboard_configs/{customer_account_id} + method: show + httpMethod: get + tag: dashboard_configs + typeScriptTag: dashboardConfigs + description: Shows the dashboard_configs + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboard_configs/{customer_account_id} + method: updateWithinOrganisation + httpMethod: put + tag: dashboard_configs + typeScriptTag: dashboardConfigs + description: Updates an dashboard_config within the current organisation. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: aws_settings + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards + method: getCustomerAccount + httpMethod: get + tag: dashboards + typeScriptTag: dashboards + description: Return customer account dashboards + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: filters + schema: string + required: false + description: | + Filter dashboard with filters
+ { key1: "value1", key2: "value2" } + - name: locale + schema: string + required: true + description: Locale + example: LOCALE + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/{dashboard_id} + method: showDashboard + httpMethod: get + tag: dashboards + typeScriptTag: dashboards + description: Shows a dashboard + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: dashboardId + schema: integer + required: true + description: The ID of the dashboard + example: 0 + - name: filters + schema: string + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/{dashboard_id} + method: updateDashboard + httpMethod: put + tag: dashboards + typeScriptTag: dashboards + description: Updates a dashboard + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: dashboardId + schema: integer + required: true + description: The ID of the dashboard + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/synchronise + method: synchronise + httpMethod: get + tag: dashboards + typeScriptTag: dashboards + description: Synchronise dashboards + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: Return status ok + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/session_expire + method: expireSessions + httpMethod: get + tag: dashboards + typeScriptTag: dashboards + description: Expire all sessions for the current user + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: locale + schema: string + required: true + description: The locale of the user + example: LOCALE + responses: + - statusCode: '200' + description: Return status ok + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/{dashboard_id}/copy + method: copyOnFolder + httpMethod: put + tag: dashboards + typeScriptTag: dashboards + description: Copy a dashboard on looker + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: dashboardId + schema: integer + required: true + description: The ID of the dashboard + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/order + method: orderDashboards + httpMethod: put + tag: dashboards + typeScriptTag: dashboards + description: Order dashboards + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/dashboards/explore + method: returnCustomerAccountExploreWithUrl + httpMethod: get + tag: dashboards + typeScriptTag: dashboards + description: Return customer account explore with url + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: filters + schema: string + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps + method: getAllApps + httpMethod: get + tag: apps + typeScriptTag: apps + description: Returns all apps + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps + method: createApp + httpMethod: post + tag: apps + typeScriptTag: apps + description: Creates a app + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps/{app_id} + method: deleteApp + httpMethod: delete + tag: apps + typeScriptTag: apps + description: Deletes the app + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appId + schema: integer + required: true + description: The ID of the app to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps/{app_id} + method: showApp + httpMethod: get + tag: apps + typeScriptTag: apps + description: Shows a app + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appId + schema: integer + required: true + description: The ID of the app to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps/{app_id} + method: updateApp + httpMethod: put + tag: apps + typeScriptTag: apps + description: Updates a app + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appId + schema: integer + required: true + description: The ID of the app to update + example: 0 + - name: name + schema: string + description: '' + - name: currency + schema: string + description: '' + - name: short_name + schema: string + description: '' + - name: logo_base64 + schema: string + description: '' + - name: logo_filename_with_extension + schema: string + description: '' + - name: data_partner_interface + schema: string + description: '' + - name: default_retail_price + schema: integer + description: '' + - name: default_retail_currency + schema: string + description: '' + - name: default_realcube_price + schema: integer + description: '' + - name: default_realcube_currency + schema: string + description: '' + - name: default_price_category + schema: string + description: '' + - name: default_data_lifetime + schema: integer + description: '' + - name: catalog_update_frequency + schema: integer + description: '' + - name: data_partner_base_url + schema: string + description: '' + - name: data_partner_score_url + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_categories + method: getAllCategories + httpMethod: get + tag: app_categories + typeScriptTag: appCategories + description: Returns all app's categories + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_subscriptions + method: getAllSubs + httpMethod: get + tag: app_subscriptions + typeScriptTag: appSubscriptions + description: Returns all app's subscriptions + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_subscriptions + method: createSubscription + httpMethod: post + tag: app_subscriptions + typeScriptTag: appSubscriptions + description: Creates an app's subscription. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_subscriptions/{app_subscription_id} + method: deleteSubscription + httpMethod: delete + tag: app_subscriptions + typeScriptTag: appSubscriptions + description: Deletes the subscription + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appSubscriptionId + schema: integer + required: true + description: The ID of the subscription to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_subscriptions/{app_subscription_id} + method: showSubscription + httpMethod: get + tag: app_subscriptions + typeScriptTag: appSubscriptions + description: Shows an app's subscription + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appSubscriptionId + schema: integer + required: true + description: The ID of the subscription to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_subscriptions/{app_subscription_id} + method: updateSubscription + httpMethod: put + tag: app_subscriptions + typeScriptTag: appSubscriptions + description: Updates a app's subscription + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appSubscriptionId + schema: integer + required: true + description: The ID of the subscription to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: periodicity + schema: string + description: '' + - name: price + schema: number + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_configs + method: getAllConfigs + httpMethod: get + tag: app_configs + typeScriptTag: appConfigs + description: Returns all app's configs. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: appSubscriptionId + schema: integer + required: false + description: The ID of the app_subscription + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_configs + method: createConfig + httpMethod: post + tag: app_configs + typeScriptTag: appConfigs + description: Creates an app's config. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: organisation_ids + schema: array + description: '' + - name: app_subscription_id + schema: integer + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_configs/{app_config_id} + method: deleteConfig + httpMethod: delete + tag: app_configs + typeScriptTag: appConfigs + description: Deletes the config. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appConfigId + schema: integer + required: true + description: The ID of the config to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_configs/{app_config_id} + method: showConfig + httpMethod: get + tag: app_configs + typeScriptTag: appConfigs + description: Shows an app's config. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appConfigId + schema: integer + required: true + description: The ID of the config to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_configs/{app_config_id} + method: updateConfig + httpMethod: put + tag: app_configs + typeScriptTag: appConfigs + description: Updates a app's config. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appConfigId + schema: integer + required: true + description: The ID of the config to update + example: 0 + - name: organisation_ids + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps/{app_id}/memberships + method: deleteCategoryMembership + httpMethod: delete + tag: apps + typeScriptTag: apps + description: Deletes the app category membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appCategoryMembershipId + schema: integer + required: true + description: The ID of the app category membership to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/apps/{app_id}/memberships + method: createMembershipToCategory + httpMethod: post + tag: apps + typeScriptTag: apps + description: Creates a app membership to category + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appCategoryMembershipId + schema: integer + required: true + description: The ID of the app membership to create + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_data_repositories + method: getAllDataRepositories + httpMethod: get + tag: app_data_repositories + typeScriptTag: appDataRepositories + description: Returns all subscription's data_repositories. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + - name: appSubscriptionId + schema: integer + required: false + description: The ID of the app_subscription + - name: parentId + schema: integer + required: false + description: The ID of the parent + - name: parentType + schema: string + required: false + description: The Type of the parent + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_data_repositories + method: createNewRepository + httpMethod: post + tag: app_data_repositories + typeScriptTag: appDataRepositories + description: Creates a app_data_repository + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: app_data + schema: object + description: '' + - name: app_subscription_id + schema: integer + description: '' + - name: parent_id + schema: integer + description: '' + - name: parent_type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_data_repositories/latest_version + method: showRepository + httpMethod: get + tag: app_data_repositories + typeScriptTag: appDataRepositories + description: Shows an app_data_repository. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: parentId + schema: integer + required: false + description: The ID of the parent + - name: parentType + schema: string + required: false + description: The Type of the parent + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_data_repositories/{app_data_repository_id} + method: deleteRepository + httpMethod: delete + tag: app_data_repositories + typeScriptTag: appDataRepositories + description: Deletes the app_data_repository. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appDataRepositoryId + schema: integer + required: true + description: The ID of the app_data_repository + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/app_data_repositories/{app_data_repository_id} + method: updateRepository + httpMethod: put + tag: app_data_repositories + typeScriptTag: appDataRepositories + description: Updates an app_data_repository + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: appDataRepositoryId + schema: integer + required: true + description: The ID of the app_data_repository + example: 0 + - name: app_data + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plans + method: getAllInBuilding + httpMethod: get + tag: plans + typeScriptTag: plans + description: Returns all plans within the given building + parameters: + - name: buildingId + schema: integer + required: true + description: The ID of the building of the plan + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plans + method: createNewPlan + httpMethod: post + tag: plans + typeScriptTag: plans + description: Creates a plan + parameters: + - name: buildingId + schema: integer + required: true + description: The ID of the building of the plan + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plans/{plan_id} + method: deletePlanWithinBuilding + httpMethod: delete + tag: plans + typeScriptTag: plans + description: Deletes the plan within the current building + parameters: + - name: buildingId + schema: integer + required: true + description: The ID of the building of the plan + example: 0 + - name: planId + schema: integer + required: true + description: The ID of the plan to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plans/{plan_id} + method: showPlan + httpMethod: get + tag: plans + typeScriptTag: plans + description: Shows a plan + parameters: + - name: buildingId + schema: integer + required: true + description: The ID of the building of the plan + example: 0 + - name: planId + schema: integer + required: true + description: The ID of the plan to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plans/{plan_id} + method: updatePlan + httpMethod: put + tag: plans + typeScriptTag: plans + description: Updates a plan + parameters: + - name: buildingId + schema: integer + required: true + description: The ID of the building of the plan + example: 0 + - name: planId + schema: integer + required: true + description: The ID of the plan to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: trade + schema: string + description: '' + - name: plan_type + schema: string + description: '' + - name: planning_phase + schema: string + description: '' + - name: presentation + schema: string + description: '' + - name: plan_content + schema: string + description: '' + - name: floor + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plan_configs + method: getAllConfigs + httpMethod: get + tag: plan_configs + typeScriptTag: planConfigs + description: Returns all plan's configs. + parameters: + - name: parentId + schema: integer + required: false + description: The ID of the parent + - name: parentType + schema: string + required: false + description: | + The type of the parent + Allowed parent_types: ["Organisation", "Building", "Building::Unit"] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plan_versions + method: createPlanVersion + httpMethod: post + tag: plan_versions + typeScriptTag: planVersions + description: Creates a plan + parameters: + - name: planId + schema: integer + required: true + description: The ID of the plan of the plan version + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plan_versions/{id} + method: deleteWithinCurrentPlan + httpMethod: delete + tag: plan_versions + typeScriptTag: planVersions + description: Deletes the plan version within the current plan + parameters: + - name: planId + schema: integer + required: true + description: The ID of the plan of the version + example: 0 + - name: id + schema: integer + required: true + description: The ID of the plan version to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/plan_versions/{id} + method: updateVersion + httpMethod: put + tag: plan_versions + typeScriptTag: planVersions + description: Updates a plan version + parameters: + - name: planId + schema: integer + required: true + description: The ID of the plan of the plan version + example: 0 + - name: id + schema: integer + required: true + description: The ID of the plan version to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisations + method: listMemberRoles + httpMethod: get + tag: organisations + typeScriptTag: organisations + description: >- + Returns all organisations the authenticated user is member of including + her membership role within each organisation + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID customer account to filter the users. + - name: page + schema: string + required: false + description: The page to paginate the users. + - name: perPage + schema: string + required: false + description: The number of users for a page + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisations + method: createUserForCustomer + httpMethod: post + tag: organisations + typeScriptTag: organisations + description: Creates a organisation of the user for a customer account + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID customer account of organisation. + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisations/{organisation_id} + method: deleteOrganisation + httpMethod: delete + tag: organisations + typeScriptTag: organisations + description: Deletes the organisation. + parameters: + - name: organisationId + schema: integer + required: true + description: The ID of the organisation to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisations/{organisation_id} + method: updateOrganisation + httpMethod: put + tag: organisations + typeScriptTag: organisations + description: Updates an organisation. + parameters: + - name: organisationId + schema: integer + required: true + description: The ID of the organisation to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: comment + schema: string + description: '' + - name: street + schema: string + description: '' + - name: street_number + schema: string + description: '' + - name: zip_code + schema: string + description: '' + - name: city + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_configs + method: createConfigForUser + httpMethod: post + tag: organisation_configs + typeScriptTag: organisationConfigs + description: Creates a config in an organisation for a user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: building + schema: object + description: '' + - name: building_unit + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_configs/{organisation_config_id} + method: delete + httpMethod: delete + tag: organisation_configs + typeScriptTag: organisationConfigs + description: Deletes the organisation configs. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: organisationConfigId + schema: integer + required: true + description: ID of the organisation config to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_configs/{organisation_config_id} + method: getConfig + httpMethod: get + tag: organisation_configs + typeScriptTag: organisationConfigs + description: Returns the config for the current organisation of the user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: organisationConfigId + schema: integer + required: true + description: ID of the organisation config + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_configs/{organisation_config_id} + method: updateUserConfig + httpMethod: put + tag: organisation_configs + typeScriptTag: organisationConfigs + description: Update a configs in an organisation for a user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: organisationConfigId + schema: integer + required: true + description: ID of the organisation config + example: 0 + - name: building + schema: object + description: '' + - name: building_unit + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_memberships + method: getAll + httpMethod: get + tag: organisation_memberships + typeScriptTag: organisationMemberships + description: Returns all memberships within the given organisation. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: currentOrganisationId + schema: integer + required: false + description: ID of the organisation + - name: userId + schema: integer + required: false + description: ID of the user + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_memberships + method: createUserMembership + httpMethod: post + tag: organisation_memberships + typeScriptTag: organisationMemberships + description: Creates a membership in an organisation for a user. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_memberships/{organisations_membership_id} + method: deleteMembership + httpMethod: delete + tag: organisation_memberships + typeScriptTag: organisationMemberships + description: Deletes the organisation membership. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: organisationsMembershipId + schema: integer + required: true + description: ID of the organisation membership to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/organisation_memberships/{organisations_membership_id} + method: updateMembership + httpMethod: put + tag: organisation_memberships + typeScriptTag: organisationMemberships + description: Updates the organisation membership. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: organisationsMembershipId + schema: integer + required: true + description: ID of the organisation membership to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_accounts/{id}/time_attribute_schema + method: updateTimeAttributeSchema + httpMethod: put + tag: customer_accounts + typeScriptTag: customerAccounts + description: Updates a customer_account's time_attribute_schema. + parameters: + - name: id + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: time_attribute_schema + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_accounts + method: getAllUserAccounts + httpMethod: get + tag: customer_accounts + typeScriptTag: customerAccounts + description: Gets all user's customer_accounts. + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_accounts/{id} + method: getCustomerAccount + httpMethod: get + tag: customer_accounts + typeScriptTag: customerAccounts + description: Gets a customer_account. + parameters: + - name: id + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_attributes_schemas + method: getAll + httpMethod: get + tag: customer_attributes_schemas + typeScriptTag: customerAttributesSchemas + description: Returns all customer attributes schemas. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_attributes_schemas + method: createSchema + httpMethod: post + tag: customer_attributes_schemas + typeScriptTag: customerAttributesSchemas + description: Creates a customer attributes schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_attributes_schemas/{customer_attributes_schema_id} + method: showSchema + httpMethod: get + tag: customer_attributes_schemas + typeScriptTag: customerAttributesSchemas + description: Shows a customer attributes schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAttributesSchemaId + schema: integer + required: true + description: ID of the customer attributes schema to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_attributes_schema_memberships + method: getAll + httpMethod: get + tag: customer_attributes_schema_memberships + typeScriptTag: customerAttributesSchemaMemberships + description: Returns all customer attributes schema memberships. + parameters: + - name: organisationIds + schema: array + required: true + description: IDs of organisations + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_attributes_schema_memberships + method: createMembership + httpMethod: post + tag: customer_attributes_schema_memberships + typeScriptTag: customerAttributesSchemaMemberships + description: Creates a customer attributes schema membership. + parameters: + - name: organisation_id + schema: integer + required: true + description: '' + example: 0 + - name: customer_attributes_schema_id + schema: integer + required: true + description: '' + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_configs + method: getConfiguration + httpMethod: get + tag: customer_account_configs + typeScriptTag: customerAccountConfigs + description: Return customer account configuration of customer_account + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: locale + schema: string + required: false + description: Locale + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_configs + method: createConfiguration + httpMethod: post + tag: customer_account_configs + typeScriptTag: customerAccountConfigs + description: Create customer account configuration. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_configs/{customer_account_config_id} + method: updateConfiguration + httpMethod: put + tag: customer_account_configs + typeScriptTag: customerAccountConfigs + description: Updates a customer account configuration. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountConfigId + schema: integer + required: true + description: The ID of the customer account to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_schemas + method: getAll + httpMethod: get + tag: customer_account_schemas + typeScriptTag: customerAccountSchemas + description: Returns all customer account schemas. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_schemas + method: createNewSchema + httpMethod: post + tag: customer_account_schemas + typeScriptTag: customerAccountSchemas + description: Create a customer account schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: name + schema: string + description: '' + - name: comment + schema: string + description: '' + - name: attributes_type + schema: string + description: '' + - name: json_schema_de + schema: object + description: '' + - name: json_schema_en + schema: object + description: '' + - name: json_schema_gsw + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_schemas/{customer_account_schema_id} + method: showSchema + httpMethod: get + tag: customer_account_schemas + typeScriptTag: customerAccountSchemas + description: Shows a customer account schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountSchemaId + schema: integer + required: true + description: ID of the customer account schema to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_schemas/{customer_account_schema_id} + method: updateSchema + httpMethod: put + tag: customer_account_schemas + typeScriptTag: customerAccountSchemas + description: Update a customer account schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountSchemaId + schema: integer + required: true + description: ID of the customer account schema to show + example: 0 + - name: name + schema: string + description: '' + - name: comment + schema: string + description: '' + - name: json_schema_de + schema: object + description: '' + - name: json_schema_en + schema: object + description: '' + - name: json_schema_gsw + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_categories + method: getCategories + httpMethod: get + tag: customer_account_categories + typeScriptTag: customerAccountCategories + description: Return customer account categories of customer_account + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: categoryId + schema: integer + required: false + description: Filter customer account categories based on category id + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_categories + method: createAccountCategory + httpMethod: post + tag: customer_account_categories + typeScriptTag: customerAccountCategories + description: Creates a customer account category + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: label + schema: string + description: '' + - name: grouping + schema: string + description: '' + - name: subgrouping + schema: string + description: '' + - name: display_sort_order + schema: integer + description: '' + - name: default + schema: boolean + description: '' + - name: conversion_factor + schema: integer + description: '' + - name: customer_editable + schema: boolean + description: '' + - name: external_conversion + schema: boolean + description: '' + - name: category + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_categories/{customer_account_category_id} + method: deleteCategory + httpMethod: delete + tag: customer_account_categories + typeScriptTag: customerAccountCategories + description: Delete the customer account category + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountCategoryId + schema: string + required: true + description: ID of the customer account category you want to delete + example: CUSTOMER_ACCOUNT_CATEGORY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_categories/{customer_account_category_id} + method: updateCategory + httpMethod: put + tag: customer_account_categories + typeScriptTag: customerAccountCategories + description: Update the customer account category + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountCategoryId + schema: string + required: true + description: ID of the customer account category you want to update + example: CUSTOMER_ACCOUNT_CATEGORY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contracts + method: getAllContracts + httpMethod: get + tag: contracts + typeScriptTag: contracts + description: Returns all contracts within the given customer account + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: organisationId + schema: integer + required: false + description: ID of the organisation + - name: ids + schema: array + required: false + description: IDs of the contract + - name: buildingId + schema: integer + required: false + description: ID of the building related with contract + - name: unitId + schema: integer + required: false + description: ID of the unit related with contract + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contracts + method: createNewContract + httpMethod: post + tag: contracts + typeScriptTag: contracts + description: Creates a contract + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contracts/{contract_id} + method: deleteContract + httpMethod: delete + tag: contracts + typeScriptTag: contracts + description: Deletes the contract + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: contractId + schema: integer + required: true + description: The ID of the contract to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contracts/{contract_id} + method: showContract + httpMethod: get + tag: contracts + typeScriptTag: contracts + description: Shows a contract + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: contractId + schema: integer + required: true + description: The ID of the contract to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contracts/{contract_id} + method: updateContract + httpMethod: put + tag: contracts + typeScriptTag: contracts + description: Updates an contract + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: contractId + schema: integer + required: true + description: The ID of the contract to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_memberships/{contract_membership_id} + method: destroyMembership + httpMethod: delete + tag: contract_memberships + typeScriptTag: contractMemberships + description: Destroys the contract membership. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership to be destroyed + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_memberships + method: createMembershipIn + httpMethod: post + tag: contract_memberships + typeScriptTag: contractMemberships + description: Creates a membership in contract. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: contract_id + schema: integer + required: true + description: '' + example: 0 + - name: member_id + schema: integer + required: true + description: '' + example: 0 + - name: member_type + schema: string + required: true + description: '' + example: MEMBER_TYPE + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_membership_costs + method: getAllForMember + httpMethod: get + tag: contract_membership_costs + typeScriptTag: contractMembershipCosts + description: Returns all contract membership costs for current contract membership + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of contract membership + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_membership_costs + method: createNewMembershipCost + httpMethod: post + tag: contract_membership_costs + typeScriptTag: contractMembershipCosts + description: Create contract membership cost + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of contract membership + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_membership_costs/{contract_membership_cost_id} + method: deleteMembershipCost + httpMethod: delete + tag: contract_membership_costs + typeScriptTag: contractMembershipCosts + description: Delete the contract membership cost + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of contract membership + example: 0 + - name: contractMembershipCostId + schema: integer + required: true + description: ID of contract membership cost + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_membership_costs/{contract_membership_cost_id} + method: showMembershipCost + httpMethod: get + tag: contract_membership_costs + typeScriptTag: contractMembershipCosts + description: Shows a contract membership cost + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of contract membership + example: 0 + - name: contractMembershipCostId + schema: integer + required: true + description: ID of contract membership cost + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_membership_costs/{contract_membership_cost_id} + method: updateMembershipCost + httpMethod: put + tag: contract_membership_costs + typeScriptTag: contractMembershipCosts + description: Update a contract membership cost + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of contract membership + example: 0 + - name: contractMembershipCostId + schema: integer + required: true + description: ID of contract membership cost + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_additions + method: getAllForCurrentContract + httpMethod: get + tag: contract_additions + typeScriptTag: contractAdditions + description: Returns all contract additions for current contract + parameters: + - name: contractId + schema: integer + required: true + description: ID of the contract + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_additions + method: createNewAddition + httpMethod: post + tag: contract_additions + typeScriptTag: contractAdditions + description: Create contract addition + parameters: + - name: contractId + schema: integer + required: true + description: ID of the contract + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_additions/{contract_addition_id} + method: deleteContractAddition + httpMethod: delete + tag: contract_additions + typeScriptTag: contractAdditions + description: Delete the contract addition + parameters: + - name: contractId + schema: integer + required: true + description: ID of the contract + example: 0 + - name: contractAdditionId + schema: integer + required: true + description: ID of the contract addition + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_additions/{contract_addition_id} + method: showDetail + httpMethod: get + tag: contract_additions + typeScriptTag: contractAdditions + description: Shows a contract addition + parameters: + - name: contractId + schema: integer + required: true + description: ID of the contract + example: 0 + - name: contractAdditionId + schema: integer + required: true + description: ID of the contract addition + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_additions/{contract_addition_id} + method: updateContractAddition + httpMethod: put + tag: contract_additions + typeScriptTag: contractAdditions + description: Update a contract addition + parameters: + - name: contractId + schema: integer + required: true + description: ID of the contract + example: 0 + - name: contractAdditionId + schema: integer + required: true + description: ID of the contract addition + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_grants + method: getAllForCurrentContract + httpMethod: get + tag: contract_grants + typeScriptTag: contractGrants + description: Returns all contract grants for current contract + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_grants + method: createGrant + httpMethod: post + tag: contract_grants + typeScriptTag: contractGrants + description: Create contract grant + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_grants/{contract_grant_id} + method: deleteGrant + httpMethod: delete + tag: contract_grants + typeScriptTag: contractGrants + description: Delete the contract grant + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership + example: 0 + - name: contractGrantId + schema: integer + required: true + description: ID of the contract grant + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_grants/{contract_grant_id} + method: showGrant + httpMethod: get + tag: contract_grants + typeScriptTag: contractGrants + description: Shows a contract grant + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership + example: 0 + - name: contractGrantId + schema: integer + required: true + description: ID of the contract grant + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/contract_grants/{contract_grant_id} + method: updateGrant + httpMethod: put + tag: contract_grants + typeScriptTag: contractGrants + description: Update a contract grant + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the contract membership + example: 0 + - name: contractGrantId + schema: integer + required: true + description: ID of the contract grant + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/security_deposits + method: createDeposit + httpMethod: post + tag: security_deposits + typeScriptTag: securityDeposits + description: Creates a security deposit + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the Contract Membership + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/security_deposits/{security_deposit_id} + method: deleteDeposit + httpMethod: delete + tag: security_deposits + typeScriptTag: securityDeposits + description: Deletes the Security Deposit + parameters: + - name: securityDepositId + schema: integer + required: true + description: ID of the Security Deposit + example: 0 + - name: contractMembershipId + schema: integer + required: true + description: The ID of the contract_membership + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/security_deposits/{security_deposit_id} + method: updateSecurityDeposit + httpMethod: put + tag: security_deposits + typeScriptTag: securityDeposits + description: Updates an security deposit + parameters: + - name: contractMembershipId + schema: integer + required: true + description: ID of the Contract Membership + example: 0 + - name: securityDepositId + schema: integer + required: true + description: The ID of the security deposit to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/cost_types + method: getAll + httpMethod: get + tag: cost_types + typeScriptTag: costTypes + description: Returns all types of costs within the given customer_account + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/cost_types + method: createTypeOfCost + httpMethod: post + tag: cost_types + typeScriptTag: costTypes + description: Creates a type of cost + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/cost_types/{id} + method: deleteCostType + httpMethod: delete + tag: cost_types + typeScriptTag: costTypes + description: Deletes the cost_type + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: id + schema: integer + required: true + description: The ID of the cost_type to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/cost_types/{id} + method: showType + httpMethod: get + tag: cost_types + typeScriptTag: costTypes + description: Shows a cost type + parameters: + - name: id + schema: integer + required: true + description: The ID of the cost_type + example: 0 + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/cost_types/{id} + method: updateCostType + httpMethod: put + tag: cost_types + typeScriptTag: costTypes + description: Updates an cost_type + parameters: + - name: id + schema: integer + required: true + description: The ID of the cost_type to update + example: 0 + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: name + schema: string + description: '' + - name: category + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_types + method: getAllAvailable + httpMethod: get + tag: property_types + typeScriptTag: propertyTypes + description: Returns all property types currently available + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/properties + method: listForOrganisation + httpMethod: get + tag: properties + typeScriptTag: properties + description: >- + Returns all properties for the current organisation within the given + organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: externalId + schema: string + required: false + description: The ID on other systems of the properties to show + - name: sourceSystem + schema: string + required: false + description: The name on other systems of the properties to show + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/properties + method: createForOrganisation + httpMethod: post + tag: properties + typeScriptTag: properties + description: Creates a property for the current organisation of the user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/properties/{property_id} + method: deletePropertyWithinOrganisation + httpMethod: delete + tag: properties + typeScriptTag: properties + description: Deletes the property within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: propertyId + schema: integer + required: true + description: ID of the property you want to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/properties/{property_id} + method: getForOrganisation + httpMethod: get + tag: properties + typeScriptTag: properties + description: Returns the property for the current organisation of the user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: propertyId + schema: integer + required: true + description: ID of the property + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/properties/{property_id} + method: updateForOrganisation + httpMethod: put + tag: properties + typeScriptTag: properties + description: Updates the property for the current organisation of the user. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: propertyId + schema: integer + required: true + description: ID of the property you want to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_managers + method: getAllWithinCustomer + httpMethod: get + tag: property_managers + typeScriptTag: propertyManagers + description: Returns all property managers within the given customer account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_managers + method: createNewManager + httpMethod: post + tag: property_managers + typeScriptTag: propertyManagers + description: Creates a property manager for the current customer account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_managers/{property_manager_id} + method: deleteManagerWithinAccount + httpMethod: delete + tag: property_managers + typeScriptTag: propertyManagers + description: Deletes the property manager within the current account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: propertyManagerId + schema: integer + required: true + description: ID of the property manager you want to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_managers/{property_manager_id} + method: getCurrentManager + httpMethod: get + tag: property_managers + typeScriptTag: propertyManagers + description: Returns the property manager for the current account of the user. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: propertyManagerId + schema: integer + required: true + description: ID of the property manager + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/property_managers/{property_manager_id} + method: updateCurrentAccountUser + httpMethod: put + tag: property_managers + typeScriptTag: propertyManagers + description: Updates the property manager for the current account of the user. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: propertyManagerId + schema: integer + required: true + description: ID of the property manager you want to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/lots + method: getAll + httpMethod: get + tag: lots + typeScriptTag: lots + description: Returns all lots within the given organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/lots + method: createNewLot + httpMethod: post + tag: lots + typeScriptTag: lots + description: Creates a lot. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/lots/{lot_id} + method: deleteLotWithinOrganisation + httpMethod: delete + tag: lots + typeScriptTag: lots + description: Deletes the lot within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: lotId + schema: integer + required: true + description: The ID of the lot to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/lots/{lot_id} + method: showLot + httpMethod: get + tag: lots + typeScriptTag: lots + description: Shows a lot. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: lotId + schema: integer + required: true + description: The ID of the lot to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/lots/{lot_id} + method: updateLot + httpMethod: put + tag: lots + typeScriptTag: lots + description: Updates an lot. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: lotId + schema: integer + required: true + description: The ID of the lot to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings + method: getAllSettings + httpMethod: get + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Returns all building filter settings currently available + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings + method: createSettings + httpMethod: post + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Create building filter settings + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings/filter_setting_fields + method: getAllFields + httpMethod: get + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Returns all building and building unit fields. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings/{building_filter_setting_id} + method: deleteSetting + httpMethod: delete + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Deletes the building filter setting within the current customer account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingFilterSettingId + schema: integer + required: true + description: ID of the building filter setting to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings/{building_filter_setting_id} + method: showSetting + httpMethod: get + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Shows a building filter setting + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingFilterSettingId + schema: integer + required: true + description: ID of the building filter setting to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_filter_settings/{building_filter_setting_id} + method: updateSetting + httpMethod: put + tag: building_filter_settings + typeScriptTag: buildingFilterSettings + description: Updates a building filter setting. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingFilterSettingId + schema: string + required: true + description: ID of the building filter setting you want to update + example: BUILDING_FILTER_SETTING_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_save_filters + method: getAllFilters + httpMethod: get + tag: building_save_filters + typeScriptTag: buildingSaveFilters + description: Returns all save filters for current user + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_save_filters + method: createBuildingSaveFilter + httpMethod: post + tag: building_save_filters + typeScriptTag: buildingSaveFilters + description: Create building save filter + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_save_filters/{building_save_filter_id} + method: deleteSaveFilter + httpMethod: delete + tag: building_save_filters + typeScriptTag: buildingSaveFilters + description: Delete the save filter + parameters: + - name: buildingSaveFilterId + schema: integer + required: true + description: ID of the save filter + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_save_filters/{building_save_filter_id} + method: showSaveFilter + httpMethod: get + tag: building_save_filters + typeScriptTag: buildingSaveFilters + description: Shows a save filter + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingSaveFilterId + schema: integer + required: true + description: ID of the save filter + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_save_filters/{building_save_filter_id} + method: updateSaveFilter + httpMethod: put + tag: building_save_filters + typeScriptTag: buildingSaveFilters + description: Update a save filter + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingSaveFilterId + schema: integer + required: true + description: ID of the save filter + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_types + method: getAllBuildingTypes + httpMethod: get + tag: building_types + typeScriptTag: buildingTypes + description: Returns all building types currently available + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings + method: getAllWithinOrganisation + httpMethod: get + tag: buildings + typeScriptTag: buildings + description: Returns all buildings within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: externalId + schema: string + required: false + description: The ID on other systems of the buildings to show + - name: sourceSystem + schema: string + required: false + description: The name on other systems of the buildings to show + - name: presetsStandardFields + schema: object + required: false + description: > + Filter building with standard fields of building and building_units +
+ { + building: { name: ['name_of_building',...], city: ['Berlin', ...]} + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + - name: presetsCustomerAttributes + schema: object + required: false + description: > + Filter building with customer_attributes of building and + building_units
+ + all attributes can be strings separated by | except array fields that + should be one array with strings + { + building: { region: 'Südwest|West', ...} + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + - name: tags + schema: object + required: false + description: > + Filter building with tag label related to building and building_units +
+ { + building: ['label_of_a_tag',...] + building_unit: ['label_of_a_tag',...] + } + - name: categories + schema: object + required: false + description: > + Filter building with category label related to building and + building_units
+ { + building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } } + building_unit: { building_unit_places: ['Building unit place 1'] } + } + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings + method: createNewBuilding + httpMethod: post + tag: buildings + typeScriptTag: buildings + description: Creates a building + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings/{building_id} + method: deleteBuilding + httpMethod: delete + tag: buildings + typeScriptTag: buildings + description: Deletes the building within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingId + schema: integer + required: true + description: The ID of the building to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings/{building_id} + method: showBuilding + httpMethod: get + tag: buildings + typeScriptTag: buildings + description: Shows a building + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingId + schema: integer + required: true + description: The ID of the building to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings/{building_id} + method: updateBuildingTimeDependentAttributes + httpMethod: put + tag: buildings + typeScriptTag: buildings + description: Updates an building + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingId + schema: integer + required: true + description: The ID of the building to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings/{building_id}/scorecard_memberships + method: listScorecardMemberships + httpMethod: get + tag: buildings + typeScriptTag: buildings + description: List scorecard memberships by building + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingId + schema: integer + required: true + description: The ID of the building to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_types + method: getAll + httpMethod: get + tag: building_unit_types + typeScriptTag: buildingUnitTypes + description: >- + Returns all building unit types for that customer account including + default types + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_types + method: createType + httpMethod: post + tag: building_unit_types + typeScriptTag: buildingUnitTypes + description: Create building unit type. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of customer account + example: 0 + - name: name + schema: string + required: true + description: '' + example: NAME + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_types/{building_unit_type_id} + method: delete + httpMethod: delete + tag: building_unit_types + typeScriptTag: buildingUnitTypes + description: Deletes building unit type within the current customer account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingUnitTypeId + schema: integer + required: true + description: ID of building unit type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_types/{building_unit_type_id} + method: showType + httpMethod: get + tag: building_unit_types + typeScriptTag: buildingUnitTypes + description: Shows a building unit type + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: buildingUnitTypeId + schema: integer + required: true + description: ID of building unit type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_types/{building_unit_type_id} + method: updateBuildingUnitType + httpMethod: put + tag: building_unit_types + typeScriptTag: buildingUnitTypes + description: Updates a building unit type. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of customer account + example: 0 + - name: buildingUnitTypeId + schema: integer + required: true + description: ID of building unit type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units + method: getAllWithinOrganisation + httpMethod: get + tag: building_units + typeScriptTag: buildingUnits + description: Returns all building units within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: externalId + schema: string + required: false + description: The ID on other systems of the buildings to show + - name: sourceSystem + schema: string + required: false + description: The name on other systems of the buildings to show + - name: buildingIds + schema: string + required: false + description: The IDs of building + example: 1,2,3 + - name: presetsStandardFields + schema: object + required: true + description: | + Filter building units with standard fields
+ { + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + - name: presetsCustomerAttributes + schema: object + required: true + description: > + Filter building units with customer_attributes fields
+ + all attributes can be strings separated by | except array fields that + should be one array with strings + { + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + - name: tags + schema: object + required: false + description: | + Filter units with tag label
+ { + building_unit: ['label_of_a_tag',...] + } + - name: categories + schema: object + required: false + description: > + Filter building units with category label related to building_units +
+ { + building: {} + building_unit: { building_unit_places: ["Building unit place label"] } + } + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units + method: createUnit + httpMethod: post + tag: building_units + typeScriptTag: buildingUnits + description: Creates a building unit + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units/{building_unit_id} + method: destroyUnitAndMemberships + httpMethod: delete + tag: building_units + typeScriptTag: buildingUnits + description: Destroys the building unit and all memberships of that unit! + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit to be destroyed + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units/{building_unit_id} + method: showUnitMemberships + httpMethod: get + tag: building_units + typeScriptTag: buildingUnits + description: Shows a building unit and all memberships of that unit + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units/{building_unit_id} + method: updateUnit + httpMethod: put + tag: building_units + typeScriptTag: buildingUnits + description: Updates the building unit + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit to be updated + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_memberships/{building_unit_membership_id} + method: destroyOrganisationMembership + httpMethod: delete + tag: building_unit_memberships + typeScriptTag: buildingUnitMemberships + description: Destroys the organisation membership + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingUnitMembershipId + schema: integer + required: true + description: ID of the organisation membership to be destroyed + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_memberships + method: createMembershipInUnit + httpMethod: post + tag: building_unit_memberships + typeScriptTag: buildingUnitMemberships + description: Creates a membership in building unit + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: unit_id + schema: integer + required: true + description: '' + example: 0 + - name: member_id + schema: integer + required: true + description: '' + example: 0 + - name: member_type + schema: string + required: true + description: '' + example: MEMBER_TYPE + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_energies + method: getBuildingEnergies + httpMethod: get + tag: building_energies + typeScriptTag: buildingEnergies + description: Return building energies of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_energies + method: createEnergy + httpMethod: post + tag: building_energies + typeScriptTag: buildingEnergies + description: Creates a building energy + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_energies/{building_energy_id} + method: updateEnergy + httpMethod: put + tag: building_energies + typeScriptTag: buildingEnergies + description: Update building energy + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingEnergyId + schema: string + required: true + description: ID of the building energy to update + example: BUILDING_ENERGY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings_finances + method: returnBuildingFinances + httpMethod: get + tag: buildings_finances + typeScriptTag: buildingsFinances + description: Return building finances of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings_finances + method: createFinance + httpMethod: post + tag: buildings_finances + typeScriptTag: buildingsFinances + description: Creates a building finance + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/buildings_finances/{buildings_finance_id} + method: updateFinance + httpMethod: put + tag: buildings_finances + typeScriptTag: buildingsFinances + description: Update building finance + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingsFinanceId + schema: string + required: true + description: ID of the building finance to update + example: BUILDINGS_FINANCE_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units_finances + method: createFinance + httpMethod: post + tag: building_units_finances + typeScriptTag: buildingUnitsFinances + description: Creates a building unit finance + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_units_finances/{building_units_finance_id} + method: updateFinance + httpMethod: put + tag: building_units_finances + typeScriptTag: buildingUnitsFinances + description: Update building unit finance + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + - name: buildingUnitsFinanceId + schema: string + required: true + description: ID of the building unit finance to update + example: BUILDING_UNITS_FINANCE_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_fms + method: getBuildingFms + httpMethod: get + tag: building_fms + typeScriptTag: buildingFms + description: Return building fms of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_fms + method: createBuildingFm + httpMethod: post + tag: building_fms + typeScriptTag: buildingFms + description: Creates a building fm + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_fms/{building_fm_id} + method: updateBuildingFm + httpMethod: put + tag: building_fms + typeScriptTag: buildingFms + description: Update building fm + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingFmId + schema: string + required: true + description: ID of the building fm to update + example: BUILDING_FM_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retails + method: list + httpMethod: get + tag: building_unit_retails + typeScriptTag: buildingUnitRetails + description: Return building unit retails of the building + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retails + method: createRetailUnit + httpMethod: post + tag: building_unit_retails + typeScriptTag: buildingUnitRetails + description: Creates a building unit retail + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retails/{building_unit_retail_id} + method: updateUnitRetail + httpMethod: put + tag: building_unit_retails + typeScriptTag: buildingUnitRetails + description: Update building unit retail + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingUnitRetailId + schema: string + required: true + description: ID of the building unit retail to update + example: BUILDING_UNIT_RETAIL_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retail_metrics + method: getBuildingUnitRetails + httpMethod: get + tag: building_unit_retail_metrics + typeScriptTag: buildingUnitRetailMetrics + description: Return building unit retails of the building unit retail + parameters: + - name: buildingUnitRetailId + schema: integer + required: true + description: ID of the building unit retail unit + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retail_metrics + method: createMetric + httpMethod: post + tag: building_unit_retail_metrics + typeScriptTag: buildingUnitRetailMetrics + description: Creates a building unit retail metric + parameters: + - name: buildingUnitRetailId + schema: integer + required: true + description: ID of the building unit retail unit + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_retail_metrics/{building_unit_retail_metric_id} + method: updateRetailBuildingUnit + httpMethod: put + tag: building_unit_retail_metrics + typeScriptTag: buildingUnitRetailMetrics + description: Update building unit retail + parameters: + - name: buildingUnitRetailId + schema: integer + required: true + description: ID of the building unit retail + example: 0 + - name: buildingUnitRetailMetricId + schema: string + required: true + description: ID of the building unit retail metric to update + example: BUILDING_UNIT_RETAIL_METRIC_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_waters + method: getBuildingWaters + httpMethod: get + tag: building_waters + typeScriptTag: buildingWaters + description: Return building waters of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_waters + method: createBuildingWater + httpMethod: post + tag: building_waters + typeScriptTag: buildingWaters + description: Creates a building water + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_waters/{building_water_id} + method: updateBuildingWater + httpMethod: put + tag: building_waters + typeScriptTag: buildingWaters + description: Update building water + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingWaterId + schema: string + required: true + description: ID of the building water to update + example: BUILDING_WATER_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/addtl_building_ids + method: getBuildingIds + httpMethod: get + tag: addtl_building_ids + typeScriptTag: addtlBuildingIds + description: Return addtl building ids of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/addtl_building_ids + method: createId + httpMethod: post + tag: addtl_building_ids + typeScriptTag: addtlBuildingIds + description: Creates a addtl building id + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/addtl_building_ids/{addtl_building_id_id} + method: updateBuildingId + httpMethod: put + tag: addtl_building_ids + typeScriptTag: addtlBuildingIds + description: Update addtl building id + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: addtlBuildingIdId + schema: string + required: true + description: ID of the addtl building id to update + example: ADDTL_BUILDING_ID_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/phases + method: getBuildingPhases + httpMethod: get + tag: phases + typeScriptTag: phases + description: Return phases of the building + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/phases + method: createPhase + httpMethod: post + tag: phases + typeScriptTag: phases + description: Creates a phase + parameters: [] + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/phases/{phase_id} + method: updatePhase + httpMethod: put + tag: phases + typeScriptTag: phases + description: Update phase + parameters: + - name: phaseId + schema: string + required: true + description: ID of the phase to update + example: PHASE_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_trackers + method: getRentTrackers + httpMethod: get + tag: rent_trackers + typeScriptTag: rentTrackers + description: Return rent_trackers + parameters: + - name: customerAccountId + schema: string + required: true + description: ID of the customer_account + example: CUSTOMER_ACCOUNT_ID + - name: organisationId + schema: string + description: ID of the organisation + - name: unitIds + schema: string + description: IDs of the units + example: 1,2,3 + - name: contractIds + schema: string + description: IDs of the contracts + example: 1,2,3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_trackers + method: createRentTracker + httpMethod: post + tag: rent_trackers + typeScriptTag: rentTrackers + description: Creates a rent_tracker + parameters: + - name: customerAccountId + schema: string + required: true + description: ID of the customer_account + example: CUSTOMER_ACCOUNT_ID + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_trackers/{rent_tracker_id} + method: getRentTracker + httpMethod: get + tag: rent_trackers + typeScriptTag: rentTrackers + description: Return rent_tracker + parameters: + - name: customerAccountId + schema: string + required: true + description: ID of the customer_account + example: CUSTOMER_ACCOUNT_ID + - name: rentTrackerId + schema: string + required: true + description: ID of the rent_tracker + example: RENT_TRACKER_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_trackers/{rent_tracker_id} + method: updateRentTracker + httpMethod: put + tag: rent_trackers + typeScriptTag: rentTrackers + description: Update rent_tracker + parameters: + - name: customerAccountId + schema: string + required: true + description: ID of the customer_account + example: CUSTOMER_ACCOUNT_ID + - name: rentTrackerId + schema: string + required: true + description: ID of the rent_tracker to update + example: RENT_TRACKER_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_parkings + method: getBuildingParkings + httpMethod: get + tag: building_parkings + typeScriptTag: buildingParkings + description: Return building parkings of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_parkings + method: createNewParking + httpMethod: post + tag: building_parkings + typeScriptTag: buildingParkings + description: Creates a building parking + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_parkings/{building_parking_id} + method: updateParking + httpMethod: put + tag: building_parkings + typeScriptTag: buildingParkings + description: Update building parking + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingParkingId + schema: string + required: true + description: ID of the building parking to update + example: BUILDING_PARKING_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_areas + method: getBuildingAreas + httpMethod: get + tag: building_areas + typeScriptTag: buildingAreas + description: Return building areas of the building + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_areas + method: createNewBuildingArea + httpMethod: post + tag: building_areas + typeScriptTag: buildingAreas + description: Creates a building area + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_areas/{building_area_id} + method: updateArea + httpMethod: put + tag: building_areas + typeScriptTag: buildingAreas + description: Update building area + parameters: + - name: buildingId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingAreaId + schema: string + required: true + description: ID of the building area to update + example: BUILDING_AREA_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_areas + method: getBuildingAreas + httpMethod: get + tag: building_unit_areas + typeScriptTag: buildingUnitAreas + description: Return building areas of the building + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_areas + method: createArea + httpMethod: post + tag: building_unit_areas + typeScriptTag: buildingUnitAreas + description: Creates a building area + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_areas/{building_unit_area_id} + method: updateArea + httpMethod: put + tag: building_unit_areas + typeScriptTag: buildingUnitAreas + description: Update building area + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + - name: buildingUnitAreaId + schema: string + required: true + description: ID of the building area to update + example: BUILDING_UNIT_AREA_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places + method: getUnitPlaces + httpMethod: get + tag: building_unit_places + typeScriptTag: buildingUnitPlaces + description: Return building unit places of the unit + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places + method: createPlace + httpMethod: post + tag: building_unit_places + typeScriptTag: buildingUnitPlaces + description: Creates a building unit places + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places/{building_unit_place_id} + method: updatePlace + httpMethod: put + tag: building_unit_places + typeScriptTag: buildingUnitPlaces + description: Update building unit place + parameters: + - name: buildingUnitId + schema: integer + required: true + description: ID of the building unit + example: 0 + - name: buildingUnitPlaceId + schema: string + required: true + description: ID of the building unit place to update + example: BUILDING_UNIT_PLACE_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_timeboxeds + method: getBuildingEnergies + httpMethod: get + tag: building_unit_places_timeboxeds + typeScriptTag: buildingUnitPlacesTimeboxeds + description: Return building energies of the building + parameters: + - name: buildingUnitPlaceId + schema: integer + required: true + description: ID of the building unit place + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_timeboxeds + method: createTimeboxed + httpMethod: post + tag: building_unit_places_timeboxeds + typeScriptTag: buildingUnitPlacesTimeboxeds + description: Creates a building unit place timeboxed + parameters: + - name: buildingUnitPlaceId + schema: integer + required: true + description: ID of the building unit place + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id} + method: updateTimeboxed + httpMethod: put + tag: building_unit_places_timeboxeds + typeScriptTag: buildingUnitPlacesTimeboxeds + description: Update building unit place timeboxed + parameters: + - name: buildingUnitPlaceId + schema: integer + required: true + description: ID of the building + example: 0 + - name: buildingUnitPlacesTimeboxedId + schema: string + required: true + description: ID of the building unit place timeboxed to update + example: BUILDING_UNIT_PLACES_TIMEBOXED_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_properties + method: returnProperties + httpMethod: get + tag: building_unit_places_properties + typeScriptTag: buildingUnitPlacesProperties + description: Return building unit place properties + parameters: + - name: buildingUnitPlacesTimeboxedId + schema: integer + required: true + description: ID of the building unit place timeboxed + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_properties + method: createNew + httpMethod: post + tag: building_unit_places_properties + typeScriptTag: buildingUnitPlacesProperties + description: Creates a building unit place property + parameters: + - name: buildingUnitPlacesTimeboxedId + schema: integer + required: true + description: ID of the building unit timeboxed + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/building_unit_places_properties/{building_unit_places_property_id} + method: updateProperty + httpMethod: put + tag: building_unit_places_properties + typeScriptTag: buildingUnitPlacesProperties + description: Update building unit place property + parameters: + - name: buildingUnitPlacesTimeboxedId + schema: integer + required: true + description: ID of the timeboxed + example: 0 + - name: buildingUnitPlacesPropertyId + schema: string + required: true + description: ID of the building unit place property to update + example: BUILDING_UNIT_PLACES_PROPERTY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/people + method: getAllWithinOrganisation + httpMethod: get + tag: people + typeScriptTag: people + description: Returns all people within the given organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/people + method: createPerson + httpMethod: post + tag: people + typeScriptTag: people + description: Creates a person. + parameters: + - name: currentOrganisationId + schema: integer + required: false + description: The ID of the current organisation + - name: contact + schema: boolean + required: false + description: Boolean check if the person is a contact + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/people/{person_id} + method: deletePersonWithinOrganisation + httpMethod: delete + tag: people + typeScriptTag: people + description: Deletes the person within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: personId + schema: integer + required: true + description: The ID of the person to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/people/{person_id} + method: showPerson + httpMethod: get + tag: people + typeScriptTag: people + description: Shows a person. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: personId + schema: integer + required: true + description: The ID of the person to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/people/{person_id} + method: updatePerson + httpMethod: put + tag: people + typeScriptTag: people + description: Updates an person. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: personId + schema: integer + required: true + description: The ID of the person to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_templates + method: getAllTemplates + httpMethod: get + tag: report_templates + typeScriptTag: reportTemplates + description: Returns all report template for current customer account + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_templates + method: createNewTemplate + httpMethod: post + tag: report_templates + typeScriptTag: reportTemplates + description: Create report template. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_templates/{report_template_id} + method: deleteReportTemplate + httpMethod: delete + tag: report_templates + typeScriptTag: reportTemplates + description: Delete the report template. + parameters: + - name: reportTemplateId + schema: integer + required: true + description: ID of the report template + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_templates/{report_template_id} + method: showTemplate + httpMethod: get + tag: report_templates + typeScriptTag: reportTemplates + description: Shows a report template + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: reportTemplateId + schema: integer + required: true + description: ID of the report template + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_templates/{report_template_id} + method: updateTemplate + httpMethod: put + tag: report_templates + typeScriptTag: reportTemplates + description: Update a report template. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: reportTemplateId + schema: integer + required: true + description: ID of the report template + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_account_schemas + method: getAll + httpMethod: get + tag: report_account_schemas + typeScriptTag: reportAccountSchemas + description: Returns all report account schemas for current customer account + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_account_schemas + method: createNewReportAccountSchema + httpMethod: post + tag: report_account_schemas + typeScriptTag: reportAccountSchemas + description: Customer account users only 🔒 + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_account_schemas/{report_account_schema_id} + method: deleteSchema + httpMethod: delete + tag: report_account_schemas + typeScriptTag: reportAccountSchemas + description: Delete the report account schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: reportAccountSchemaId + schema: integer + required: true + description: ID of the report account schema + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_account_schemas/{report_account_schema_id} + method: showReportAccountSchema + httpMethod: get + tag: report_account_schemas + typeScriptTag: reportAccountSchemas + description: Shows a report account schema + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: reportAccountSchemaId + schema: integer + required: true + description: ID of the report account schema + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/report_account_schemas/{report_account_schema_id} + method: updateSchema + httpMethod: put + tag: report_account_schemas + typeScriptTag: reportAccountSchemas + description: Update a report account schema. + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: reportAccountSchemaId + schema: integer + required: true + description: ID of the report account schema + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/person_memberships + method: listWithinOrganisation + httpMethod: get + tag: person_memberships + typeScriptTag: personMemberships + description: 'Returns all person_memberships within the given organisation. ' + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: The ID of the current organisation + example: 0 + - name: memberId + schema: integer + required: true + description: The ID of the member + example: 0 + - name: memberType + schema: string + required: true + description: The type of the member + example: MEMBER_TYPE + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/person_memberships + method: createMembershipInPerson + httpMethod: post + tag: person_memberships + typeScriptTag: personMemberships + description: Creates a membership in person + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: person_id + schema: integer + required: true + description: '' + example: 0 + - name: role + schema: string + required: false + description: '' + - name: label_id + schema: integer + required: false + description: '' + - name: member_id + schema: integer + required: true + description: '' + example: 0 + - name: member_type + schema: string + required: true + description: '' + example: MEMBER_TYPE + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/person_memberships/{person_membership_id} + method: destroyMembership + httpMethod: delete + tag: person_memberships + typeScriptTag: personMemberships + description: Destroys the person membership + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: personMembershipId + schema: integer + required: true + description: ID of the person membership to be destroyed + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/levels + method: getAll + httpMethod: get + tag: levels + typeScriptTag: levels + description: Returns all levels within the given organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: buildingId + schema: integer + required: false + description: The ID of the building + - name: name + schema: string + required: false + description: The name of the level + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/levels + method: createNewLevel + httpMethod: post + tag: levels + typeScriptTag: levels + description: Creates a level + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/levels/{level_id} + method: deleteLevel + httpMethod: delete + tag: levels + typeScriptTag: levels + description: Deletes the level within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: levelId + schema: integer + required: true + description: The ID of the level to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/levels/{level_id} + method: showLevel + httpMethod: get + tag: levels + typeScriptTag: levels + description: Shows a level. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: levelId + schema: integer + required: true + description: The ID of the level to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/levels/{level_id} + method: updateLevel + httpMethod: put + tag: levels + typeScriptTag: levels + description: Updates an level + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: levelId + schema: integer + required: true + description: The ID of the level to update + example: 0 + - name: custom_id + schema: string + description: '' + - name: name + schema: string + description: '' + - name: comment + schema: string + description: '' + - name: number + schema: integer + description: '' + - name: category + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/room_and_zone_types + method: getAll + httpMethod: get + tag: room_and_zone_types + typeScriptTag: roomAndZoneTypes + description: Returns all room and area types currently available + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rooms + method: getAllWithinOrganisation + httpMethod: get + tag: rooms + typeScriptTag: rooms + description: Returns all rooms within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rooms + method: createRoom + httpMethod: post + tag: rooms + typeScriptTag: rooms + description: Creates a room + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rooms/{room_id} + method: deleteRoomWithinOrganisation + httpMethod: delete + tag: rooms + typeScriptTag: rooms + description: Deletes the room within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: roomId + schema: integer + required: true + description: The ID of the room to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rooms/{room_id} + method: showRoom + httpMethod: get + tag: rooms + typeScriptTag: rooms + description: Shows a room + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: roomId + schema: integer + required: true + description: The ID of the room to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rooms/{room_id} + method: updateRoom + httpMethod: put + tag: rooms + typeScriptTag: rooms + description: Updates an room + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: roomId + schema: integer + required: true + description: The ID of the room to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/zones + method: createZone + httpMethod: post + tag: zones + typeScriptTag: zones + description: Creates a zone + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/zones/{zone_id} + method: deleteZone + httpMethod: delete + tag: zones + typeScriptTag: zones + description: Deletes the zone within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: zoneId + schema: integer + required: true + description: The ID of the zone to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/zones/{zone_id} + method: updateZone + httpMethod: put + tag: zones + typeScriptTag: zones + description: Updates an zone + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: zoneId + schema: integer + required: true + description: The ID of the zone to update + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/departments + method: getAll + httpMethod: get + tag: departments + typeScriptTag: departments + description: Returns all departments within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/departments + method: createNewDepartment + httpMethod: post + tag: departments + typeScriptTag: departments + description: Creates a department within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/departments/{department_id} + method: markAsDeleted + httpMethod: delete + tag: departments + typeScriptTag: departments + description: Marks a department as deleted within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: departmentId + schema: integer + required: true + description: The ID of the department to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/departments/{department_id} + method: updateDepartment + httpMethod: put + tag: departments + typeScriptTag: departments + description: Updates an department within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: departmentId + schema: integer + required: true + description: The ID of the department to update + example: 0 + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers + method: getAll + httpMethod: get + tag: manufacturers + typeScriptTag: manufacturers + description: Returns all manufacturers within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers + method: createNewManufacturer + httpMethod: post + tag: manufacturers + typeScriptTag: manufacturers + description: Creates a manufacturer within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id} + method: deleteManufacturer + httpMethod: delete + tag: manufacturers + typeScriptTag: manufacturers + description: Deletes the manufacturer within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id} + method: updateManufacturer + httpMethod: put + tag: manufacturers + typeScriptTag: manufacturers + description: Updates an manufacturer within the current organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer to update + example: 0 + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id}/model_types + method: listModelTypes + httpMethod: get + tag: manufacturers + typeScriptTag: manufacturers + description: Returns all types of models within the given manufacturer + parameters: + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id}/model_types + method: createModelType + httpMethod: post + tag: manufacturers + typeScriptTag: manufacturers + description: Creates a model_type + parameters: + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id}/model_types/{id} + method: deleteModelType + httpMethod: delete + tag: manufacturers + typeScriptTag: manufacturers + description: Deletes the model_type + parameters: + - name: id + schema: integer + required: true + description: The ID of the model_type to delete + example: 0 + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/manufacturers/{manufacturer_id}/model_types/{id} + method: updateModelType + httpMethod: put + tag: manufacturers + typeScriptTag: manufacturers + description: Updates an model_type + parameters: + - name: id + schema: integer + required: true + description: The ID of the model_type to update + example: 0 + - name: manufacturerId + schema: integer + required: true + description: The ID of the manufacturer + example: 0 + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facility_types + method: getAll + httpMethod: get + tag: facility_types + typeScriptTag: facilityTypes + description: Returns all facility types. + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facility_types/facility_types_with_schema + method: getAll + httpMethod: get + tag: facility_types + typeScriptTag: facilityTypes + description: Returns all facility types. + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facility_types/{facility_type_id} + method: showType + httpMethod: get + tag: facility_types + typeScriptTag: facilityTypes + description: Shows a facility type + parameters: + - name: facilityTypeId + schema: integer + required: true + description: The ID of the facility type to show + example: 0 + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facilities + method: getAllWithinOrganisation + httpMethod: get + tag: facilities + typeScriptTag: facilities + description: Returns all facilities within the given organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: customId + schema: string + required: false + description: Filter facilities by custom_id + - name: inventoryNumber + schema: string + required: false + description: Filter facilities by inventory_number + - name: serialNumber + schema: string + required: false + description: Filter facilities by serial_number + - name: yearOfConstruction + schema: string + required: false + description: Filter facilities by year_of_construction + - name: manufacturerId + schema: string + required: false + description: Filter facilities by manufacturer_id + - name: departmentId + schema: string + required: false + description: Filter facilities by department_id + - name: facilityTypeId + schema: string + required: false + description: Filter facilities by facility_type_id + - name: propertyId + schema: string + required: false + description: Filter facilities by property_id + - name: lotId + schema: string + required: false + description: Filter facilities by lot_id + - name: buildingId + schema: string + required: false + description: Filter facilities by building_id + - name: levelId + schema: string + required: false + description: Filter facilities by level_id + - name: roomId + schema: string + required: false + description: Filter facilities by room_id + - name: zoneId + schema: string + required: false + description: Filter facilities by zone_id + - name: userId + schema: string + required: false + description: Filter facilities by user_id + - name: page + schema: number + required: false + description: page for pagination by default 0 + - name: perPage + schema: number + required: false + description: number of items per page by default 50 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facilities + method: createFacility + httpMethod: post + tag: facilities + typeScriptTag: facilities + description: Creates a facility + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: skipTypeDependentAttribute + schema: boolean + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facilities/{facility_id} + method: deleteFacility + httpMethod: delete + tag: facilities + typeScriptTag: facilities + description: Deletes the facility within the current organisation + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: facilityId + schema: integer + required: true + description: The ID of the facility to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facilities/{facility_id} + method: showFacility + httpMethod: get + tag: facilities + typeScriptTag: facilities + description: Shows a facility + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: facilityId + schema: integer + required: true + description: The ID of the facility to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/facilities/{facility_id} + method: updateFacility + httpMethod: put + tag: facilities + typeScriptTag: facilities + description: Updates an facility + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: facilityId + schema: integer + required: true + description: The ID of the facility to update + example: 0 + - name: skipTypeDependentAttribute + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities + method: listWithFilters + httpMethod: get + tag: activities + typeScriptTag: activities + description: Returns all activities within the given organisation. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: propertyId + schema: string + required: false + description: The ID property to filter the activities. + - name: buildingId + schema: string + required: false + description: The ID of building to filter activities + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities + method: createActivity + httpMethod: post + tag: activities + typeScriptTag: activities + description: Creates an activity + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities/{activity_id} + method: removeActivity + httpMethod: delete + tag: activities + typeScriptTag: activities + description: Delete the activity + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: activityId + schema: string + required: true + description: ID of the activity you want to delete + example: ACTIVITY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities/{activity_id} + method: showActivity + httpMethod: get + tag: activities + typeScriptTag: activities + description: Shows a activity + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: activityId + schema: integer + required: true + description: The ID of the activity to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities/{activity_id} + method: updateActivity + httpMethod: put + tag: activities + typeScriptTag: activities + description: Update the activity + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: activityId + schema: string + required: true + description: ID of the activity you want to update + example: ACTIVITY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activities/{external_id}/reference + method: showActivity + httpMethod: get + tag: activities + typeScriptTag: activities + description: Shows a activity + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: externalId + schema: string + required: true + description: The External ID of the activity to show + example: EXTERNAL_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activity_types + method: getAll + httpMethod: get + tag: activity_types + typeScriptTag: activityTypes + description: Returns all activity types + parameters: + - name: customerAccountId + schema: integer + required: false + description: The ID of the current account + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activity_types + method: createActivity + httpMethod: post + tag: activity_types + typeScriptTag: activityTypes + description: Creates an activity type + parameters: + - name: customerAccountId + schema: integer + required: false + description: The ID of the current_account + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activity_types/{activity_type_id} + method: deleteActivityType + httpMethod: delete + tag: activity_types + typeScriptTag: activityTypes + description: Delete the activity type + parameters: + - name: customerAccountId + schema: integer + required: false + description: The ID of the current_account + - name: activityTypeId + schema: integer + required: true + description: The ID of the activity type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activity_types/{activity_type_id} + method: showActivityType + httpMethod: get + tag: activity_types + typeScriptTag: activityTypes + description: Shows a activity type + parameters: + - name: customerAccountId + schema: integer + required: false + description: The ID of the current_account + - name: activityTypeId + schema: integer + required: true + description: The ID of the activity type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/activity_types/{activity_type_id} + method: updateType + httpMethod: put + tag: activity_types + typeScriptTag: activityTypes + description: Update the activity type + parameters: + - name: activityTypeId + schema: integer + required: true + description: The ID of the activity type to show + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/attachments + method: createNewAttachment + httpMethod: post + tag: attachments + typeScriptTag: attachments + description: Creates an attachment + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: description + schema: string + required: false + description: '' + - name: parent_id + schema: integer + required: true + description: '' + example: 0 + - name: parent_type + schema: string + required: true + description: '' + example: PARENT_TYPE + - name: name + schema: string + required: false + description: '' + - name: file_base64 + schema: string + required: true + description: '' + example: FILE_BASE64 + - name: file_filename_with_extension + schema: string + required: true + description: '' + example: FILE_FILENAME_WITH_EXTENSION + - name: category + schema: string + required: true + description: '' + example: CATEGORY + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/attachments/copy + method: duplicateAttachment + httpMethod: post + tag: attachments + typeScriptTag: attachments + description: Duplicate an attachment + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: copy_attachment_id + schema: integer + required: true + description: '' + example: 0 + - name: parent_id + schema: integer + required: false + description: '' + - name: parent_type + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/attachments/{attachment_id} + method: markAsDeleted + httpMethod: delete + tag: attachments + typeScriptTag: attachments + description: Marks an attachment as deleted. + parameters: + - name: currentOrganisationId + schema: integer + required: true + description: ID of the current organisation + example: 0 + - name: attachmentId + schema: integer + required: true + description: The ID of the attachment to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/images + method: createImage + httpMethod: post + tag: images + typeScriptTag: images + description: Creates an image + parameters: + - name: currentOrganisationId + schema: integer + required: false + description: '' + - name: description + schema: string + required: false + description: '' + - name: parent_id + schema: integer + required: true + description: '' + example: 0 + - name: parent_type + schema: string + required: true + description: '' + example: PARENT_TYPE + - name: name + schema: string + required: false + description: '' + - name: file_base64 + schema: string + required: true + description: '' + example: FILE_BASE64 + - name: file_filename_with_extension + schema: string + required: true + description: '' + example: FILE_FILENAME_WITH_EXTENSION + - name: cover + schema: boolean + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/images/{image_id} + method: markAsDeleted + httpMethod: delete + tag: images + typeScriptTag: images + description: Marks an image as deleted. + parameters: + - name: currentOrganisationId + schema: integer + required: false + description: '' + - name: imageId + schema: integer + required: true + description: The ID of the image to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/images/{image_id} + method: updateImage + httpMethod: put + tag: images + typeScriptTag: images + description: Updates an image. + parameters: + - name: currentOrganisationId + schema: integer + required: false + description: '' + - name: imageId + schema: integer + required: true + description: The ID of the image to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: file_base64 + schema: string + description: '' + - name: file_filename_with_extension + schema: string + description: '' + - name: cover + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/time_dependent_attributes + method: getAllWithinParent + httpMethod: get + tag: time_dependent_attributes + typeScriptTag: timeDependentAttributes + description: Returns all time_dependent_attributes within the given parent + parameters: + - name: id + schema: string + required: false + description: Filter time_dependent_attributes by id. + - name: parentId + schema: string + required: false + description: Filter time_dependent_attributes by parent_id. + - name: parentType + schema: string + required: false + description: | + Filter time_dependent_attributes by parent_type. + Allowed parent_types: Building, Building::Unit + - name: attributeKey + schema: string + required: false + description: Filter time_dependent_attributes by attribute_key. + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/time_dependent_attributes + method: createAttribute + httpMethod: post + tag: time_dependent_attributes + typeScriptTag: timeDependentAttributes + description: Creates a time_dependent_attribute + parameters: + - name: parent_id + schema: integer + required: true + description: '' + example: 0 + - name: customer_account_id + schema: integer + required: false + description: '' + - name: parent_type + schema: string + required: true + description: '' + example: PARENT_TYPE + - name: attribute_key + schema: string + required: true + description: '' + example: ATTRIBUTE_KEY + - name: attribute_value + schema: string + required: true + description: '' + example: ATTRIBUTE_VALUE + - name: attribute_type + schema: string + required: false + description: '' + - name: attribute_timestamp + schema: string + required: true + description: '' + example: ATTRIBUTE_TIMESTAMP + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/time_dependent_attributes/{time_dependent_attribute_id} + method: deleteTimeDependentAttribute + httpMethod: delete + tag: time_dependent_attributes + typeScriptTag: timeDependentAttributes + description: Deletes the specified time_dependent_attribute + parameters: + - name: timeDependentAttributeId + schema: integer + required: true + description: The ID of the time_dependent_attribute to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/time_dependent_attributes/{time_dependent_attribute_id} + method: updateAttribute + httpMethod: put + tag: time_dependent_attributes + typeScriptTag: timeDependentAttributes + description: Updates an time_dependent_attribute + parameters: + - name: timeDependentAttributeId + schema: integer + required: true + description: The ID of the time_dependent_attribute to update + example: 0 + - name: parent_id + schema: integer + required: true + description: '' + example: 0 + - name: customer_account_id + schema: integer + required: false + description: '' + - name: parent_type + schema: string + required: true + description: '' + example: PARENT_TYPE + - name: attribute_key + schema: string + required: true + description: '' + example: ATTRIBUTE_KEY + - name: attribute_value + schema: string + required: true + description: '' + example: ATTRIBUTE_VALUE + - name: attribute_type + schema: string + required: false + description: '' + - name: attribute_timestamp + schema: string + required: true + description: '' + example: ATTRIBUTE_TIMESTAMP + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/webhooks + method: getAll + httpMethod: get + tag: webhooks + typeScriptTag: webhooks + description: Returns all webhooks + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/webhooks + method: createNewWebhook + httpMethod: post + tag: webhooks + typeScriptTag: webhooks + description: Creates a webhook + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/webhooks/{webhook_id} + method: deleteWebhookById + httpMethod: delete + tag: webhooks + typeScriptTag: webhooks + description: Deletes the webhook within the current organisation. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: webhookId + schema: integer + required: true + description: The ID of the webhook to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/webhooks/{webhook_id} + method: showWebhook + httpMethod: get + tag: webhooks + typeScriptTag: webhooks + description: Shows a webhook + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: webhookId + schema: integer + required: true + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/webhooks/{webhook_id} + method: updateWebhook + httpMethod: put + tag: webhooks + typeScriptTag: webhooks + description: Updates a webhook + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: webhookId + schema: integer + required: true + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + example: 0 + - name: description + schema: string + description: '' + - name: url + schema: string + description: '' + - name: mode + schema: number + description: '' + - name: events + schema: array + description: '' + - name: secret + schema: string + description: '' + - name: organisation_ids + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags + method: getAllTagsWithCounts + httpMethod: get + tag: tags + typeScriptTag: tags + description: Returns all tags within the given customer account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + - name: label + schema: string + required: false + description: Search for the label + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags + method: createTag + httpMethod: post + tag: tags + typeScriptTag: tags + description: Creates a tag + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags/{tag_id} + method: markAsDeleted + httpMethod: delete + tag: tags + typeScriptTag: tags + description: Marks a tag as deleted. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + - name: tagId + schema: integer + required: true + description: The ID of the tag to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags/{tag_id} + method: updateTag + httpMethod: put + tag: tags + typeScriptTag: tags + description: Update the tag + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current customer account + example: 0 + - name: tagId + schema: string + required: true + description: ID of the tag you want to update + example: TAG_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags/merge + method: mergeMasterTags + httpMethod: post + tag: tags + typeScriptTag: tags + description: Merges master tags with other tags + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the current_account + example: 0 + - name: master_tag + schema: integer + description: '' + - name: other_tags + schema: array + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/tags/assign_buildings + method: assignBuildings + httpMethod: put + tag: tags + typeScriptTag: tags + description: Assign multiple tags to multiple buildings + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/imports + method: getAllImports + httpMethod: get + tag: csv_imports + typeScriptTag: csvImports + description: Return all imports + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: isDemo + schema: boolean + required: false + description: Filter by is_demo + - name: locationType + schema: string + required: false + description: Filter the imports by type + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/imports + method: createByFile + httpMethod: post + tag: csv_imports + typeScriptTag: csvImports + description: Creates a import by file + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: organisationId + schema: integer + required: true + description: ID of the organisation + example: 0 + - name: location_type + schema: string + required: true + description: '' + example: LOCATION_TYPE + - name: is_demo + schema: boolean + required: false + description: '' + - name: metadata + schema: object + required: false + description: '' + - name: file_base64 + schema: string + required: true + description: '' + example: FILE_BASE64 + - name: file_filename_with_extension + schema: string + required: true + description: '' + example: FILE_FILENAME_WITH_EXTENSION + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/imports/{import_id} + method: getInfo + httpMethod: get + tag: csv_imports + typeScriptTag: csvImports + description: Shows information for specific import + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: importId + schema: integer + required: true + description: ID of the csv import + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/imports/{import_id} + method: updateImport + httpMethod: put + tag: csv_imports + typeScriptTag: csvImports + description: Update the import + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: importId + schema: string + required: true + description: ID of the import you want to update + example: IMPORT_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecards + method: listAllScorecards + httpMethod: get + tag: scorecards + typeScriptTag: scorecards + description: Returns all scorecards + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecards + method: createNewScorecard + httpMethod: post + tag: scorecards + typeScriptTag: scorecards + description: Creates a scorecard + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecards/{scorecard_id} + method: deleteWithinAccount + httpMethod: delete + tag: scorecards + typeScriptTag: scorecards + description: Deletes the scorecard within the current account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardId + schema: integer + required: true + description: The ID of the scorecard to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecards/{scorecard_id} + method: showDetails + httpMethod: get + tag: scorecards + typeScriptTag: scorecards + description: Shows a scorecard + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardId + schema: integer + required: true + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecards/{scorecard_id} + method: updateScorecard + httpMethod: put + tag: scorecards + typeScriptTag: scorecards + description: Updates a scorecard + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardId + schema: integer + required: true + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: status + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_segments + method: createNewSegment + httpMethod: post + tag: scorecard_segments + typeScriptTag: scorecardSegments + description: Creates a scorecard segment + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_segments/{scorecard_segment_id} + method: deleteSegment + httpMethod: delete + tag: scorecard_segments + typeScriptTag: scorecardSegments + description: Deletes the scorecard segment within the current account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: scorecardSegmentId + schema: integer + required: true + description: The ID of the scorecard segment to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_segments/{scorecard_segment_id} + method: updateSegment + httpMethod: put + tag: scorecard_segments + typeScriptTag: scorecardSegments + description: Updates a scorecard segment + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: scorecardSegmentId + schema: integer + required: true + description: >- + The ID of the scorecard segment (only shows the scorecards based on + current_organisation_id) + example: 0 + - name: name + schema: string + description: '' + - name: weight_type + schema: string + description: '' + - name: position + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_topics + method: createNewTopic + httpMethod: post + tag: scorecard_topics + typeScriptTag: scorecardTopics + description: Creates a scorecard topic + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_topics/{scorecard_topic_id} + method: deleteTopic + httpMethod: delete + tag: scorecard_topics + typeScriptTag: scorecardTopics + description: Deletes the scorecard topic within the current segment. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardTopicId + schema: integer + required: true + description: The ID of the scorecard topic to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_topics/{scorecard_topic_id} + method: updateTopic + httpMethod: put + tag: scorecard_topics + typeScriptTag: scorecardTopics + description: Updates a scorecard topic + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardTopicId + schema: integer + required: true + description: >- + The ID of the scorecard topic (only shows the topic based on current + account) + example: 0 + - name: name + schema: string + description: '' + - name: weight_type + schema: string + description: '' + - name: weight_value + schema: integer + description: '' + - name: position + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_subtopics + method: createSubtopic + httpMethod: post + tag: scorecard_subtopics + typeScriptTag: scorecardSubtopics + description: Creates a scorecard subtopic + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_subtopics/{scorecard_subtopic_id} + method: deleteSubtopic + httpMethod: delete + tag: scorecard_subtopics + typeScriptTag: scorecardSubtopics + description: Deletes the scorecard subtopic within the current segment. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: scorecardSubtopicId + schema: integer + required: true + description: The ID of the scorecard subtopic to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_subtopics/{scorecard_subtopic_id} + method: updateSubtopic + httpMethod: put + tag: scorecard_subtopics + typeScriptTag: scorecardSubtopics + description: Updates a scorecard subtopic + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer account + example: 0 + - name: scorecardSubtopicId + schema: integer + required: true + description: >- + The ID of the scorecard subtopic (only shows the subtopic based on + current account) + example: 0 + - name: name + schema: string + description: '' + - name: weight_value + schema: integer + description: '' + - name: scorecard_scores + schema: array + description: '' + - name: attribute_type + schema: string + description: '' + - name: attribute_id + schema: string + description: '' + - name: position + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/de_assign + method: deAssign + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: De-assigns scorecard memberships from scorecard + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships + method: listAllScorecardMemberships + httpMethod: get + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: 'Returns all scorecard memberships within the given account. ' + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardId + schema: string + required: false + description: The ID on other scorecard to filter memberships + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships + method: createMembership + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Creates a scorecard membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/{scorecard_membership_id} + method: deleteMembership + httpMethod: delete + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Deletes the scorecard membership within the current account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardMembershipId + schema: integer + required: true + description: The ID of the scorecard membership to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/{scorecard_membership_id} + method: showMembership + httpMethod: get + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Shows a scorecard membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardMembershipId + schema: integer + required: true + description: >- + The ID of the scorecard membership (only shows the scorecards based on + current account) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/{scorecard_membership_id}/refresh + method: refreshMembership + httpMethod: get + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Refresh a scorecard membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardMembershipId + schema: integer + required: true + description: >- + The ID of the scorecard membership (only shows the scorecards based on + current account) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/refresh_by_scorecard + method: refreshScores + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Refresh scores for specific scorecard/s + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/refresh_all_by_parent + method: refreshAllByParent + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Refresh all scorecards by parent + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/calculated_costs + method: calculateCosts + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Calculated costs of scorecard memberships + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: parent_id + schema: number + description: '' + - name: parent_type + schema: string + description: '' + - name: scorecard_id + schema: number + description: '' + - name: scorecard_name + schema: string + description: '' + - name: segment_id + schema: number + description: '' + - name: segment_name + schema: string + description: '' + - name: topic_id + schema: number + description: '' + - name: topic_name + schema: string + description: '' + - name: subtopic_id + schema: number + description: '' + - name: subtopic_name + schema: string + description: '' + - name: data_catalog_id + schema: number + description: '' + - name: technical_key + schema: string + description: '' + - name: name + schema: string + description: '' + - name: realcube_price + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_memberships/count_buildings + method: countBuildingsByScorecardIds + httpMethod: post + tag: scorecard_memberships + typeScriptTag: scorecardMemberships + description: Get number of buildings by providing scorecard ids + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: parent_id + schema: number + description: '' + - name: parent_type + schema: string + description: '' + - name: scorecard_id + schema: number + description: '' + - name: scorecard_name + schema: string + description: '' + - name: segment_id + schema: number + description: '' + - name: segment_name + schema: string + description: '' + - name: topic_id + schema: number + description: '' + - name: topic_name + schema: string + description: '' + - name: subtopic_id + schema: number + description: '' + - name: subtopic_name + schema: string + description: '' + - name: data_catalog_id + schema: number + description: '' + - name: technical_key + schema: string + description: '' + - name: name + schema: string + description: '' + - name: realcube_price + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_assigners + method: getAll + httpMethod: get + tag: scorecard_assigners + typeScriptTag: scorecardAssigners + description: 'Returns all scorecard assigners within the given account. ' + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardId + schema: string + required: false + description: The ID on other scorecard to filter assigners + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_assigners + method: createNewScorecardAssigner + httpMethod: post + tag: scorecard_assigners + typeScriptTag: scorecardAssigners + description: Creates a scorecard assigner + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_assigners/{scorecard_assigner_id} + method: deleteScorecardAssigner + httpMethod: delete + tag: scorecard_assigners + typeScriptTag: scorecardAssigners + description: Deletes the scorecard assigner within the current account. + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardAssignerId + schema: integer + required: true + description: The ID of the scorecard assigner to delete + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/scorecard_assigners/{scorecard_assigner_id} + method: show + httpMethod: get + tag: scorecard_assigners + typeScriptTag: scorecardAssigners + description: Shows a scorecard assigner + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: scorecardAssignerId + schema: integer + required: true + description: >- + The ID of the scorecard assigner (only shows the scorecards based on + current account) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/data_catalogs + method: getAll + httpMethod: get + tag: data_catalogs + typeScriptTag: dataCatalogs + description: Returns all data catalogs + parameters: + - name: locale + schema: string + required: false + description: The locale for filtering the data catalogs. + - name: appIds + schema: string + required: true + description: The ids of the apps for filtering the data catalogs. + example: APP_IDS + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/data_catalogs + method: createNewCatalog + httpMethod: post + tag: data_catalogs + typeScriptTag: dataCatalogs + description: Creates a data catalog + parameters: [] + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/data_catalogs/{data_catalog_id} + method: deleteCatalog + httpMethod: delete + tag: data_catalogs + typeScriptTag: dataCatalogs + description: Deletes the data catalog within the current app. + parameters: + - name: dataCatalogId + schema: integer + required: true + description: The ID of the data catalog to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/data_catalogs/{data_catalog_id} + method: showDataCatalog + httpMethod: get + tag: data_catalogs + typeScriptTag: dataCatalogs + description: Shows a data catalog + parameters: + - name: dataCatalogId + schema: integer + required: true + description: >- + The ID of the data_catalog (only shows the data_catalogs based on + current_organisation_id) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/data_catalogs/{data_catalog_id} + method: updateCatalog + httpMethod: put + tag: data_catalogs + typeScriptTag: dataCatalogs + description: Updates a data_catalog + parameters: + - name: dataCatalogId + schema: integer + required: true + description: The ID of the data catalog (only shows the data catalog) + example: 0 + - name: description + schema: string + description: '' + - name: technical_key + schema: string + description: '' + - name: name + schema: string + description: '' + - name: sku + schema: string + description: '' + - name: source + schema: string + description: '' + - name: country + schema: string + description: '' + - name: locale + schema: string + description: '' + - name: quality_indicator + schema: string + description: '' + - name: category_l1 + schema: string + description: '' + - name: category_l2 + schema: string + description: '' + - name: category_l3 + schema: string + description: '' + - name: category_l4 + schema: string + description: '' + - name: category_l5 + schema: string + description: '' + - name: realcube_price + schema: integer + description: '' + - name: realcube_currency + schema: string + description: '' + - name: realcube_price_category + schema: string + description: '' + - name: data_lifetime + schema: integer + description: '' + - name: attribute_type + schema: string + description: '' + - name: unit + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/raw_data_catalogs + method: getAllRawdataCatalogs + httpMethod: get + tag: raw_data_catalogs + typeScriptTag: rawDataCatalogs + description: Returns all raw data catalogs + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: limit + schema: integer + required: false + description: Limit the number of results to return, if null then return all results + - name: orderBy + schema: string + required: false + description: >- + The ordering of the results returned, if null then will return not + ordered results. + Possible columns: app_id, status, version, + Possible order: asc, desc + example: app_id.desc, status.desc, version.desc + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/raw_data_catalogs/{raw_data_catalog_id} + method: showDataCatalog + httpMethod: get + tag: raw_data_catalogs + typeScriptTag: rawDataCatalogs + description: Shows a data catalog + parameters: + - name: customerAccountId + schema: integer + required: true + description: The ID of the customer_account + example: 0 + - name: rawDataCatalogId + schema: integer + required: true + description: >- + The ID of the data_catalog (only shows the raw_data_catalogs based on + current_organisation_id) + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_types + method: getAllTypes + httpMethod: get + tag: rent_increase_types + typeScriptTag: rentIncreaseTypes + description: Return rent_increase_types + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_types + method: createType + httpMethod: post + tag: rent_increase_types + typeScriptTag: rentIncreaseTypes + description: Creates a rent_increase_type (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: category + schema: integer + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_types/{rent_increase_type_id} + method: delete + httpMethod: delete + tag: rent_increase_types + typeScriptTag: rentIncreaseTypes + description: Delete a rent_increase_type (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: false + description: '' + - name: rentIncreaseTypeId + schema: integer + required: true + description: The ID of the rent_increase_type to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_types/{rent_increase_type_id} + method: getById + httpMethod: get + tag: rent_increase_types + typeScriptTag: rentIncreaseTypes + description: Return rent_increase_type + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseTypeId + schema: integer + required: true + description: ID of the rent_increase_type + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_types/{rent_increase_type_id} + method: updateType + httpMethod: put + tag: rent_increase_types + typeScriptTag: rentIncreaseTypes + description: Update rent_increase_type + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseTypeId + schema: integer + required: true + description: ID of the rent_increase_type to update + example: 0 + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + - name: category + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_indices + method: getIndexData + httpMethod: get + tag: rent_increase_indices + typeScriptTag: rentIncreaseIndices + description: Return rent_increase_indices + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseTypeId + schema: integer + description: ID of the rent_increase_type + - name: date + schema: string + description: Date of the rent_increase_index + - name: subtype + schema: string + description: Subtype (https://docs.realcube.com/ of the rent_increase + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_indices + method: createIndex + httpMethod: post + tag: rent_increase_indices + typeScriptTag: rentIncreaseIndices + description: Creates a rent_increase_index (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: value + schema: integer + description: '' + - name: date + schema: string + description: '' + - name: rent_increase_type_id + schema: string + description: '' + - name: subtype + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_indices/{rent_increase_index_id} + method: deleteRentIncreaseIndex + httpMethod: delete + tag: rent_increase_indices + typeScriptTag: rentIncreaseIndices + description: Delete a rent_increase_index (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: true + description: '' + example: 0 + - name: rentIncreaseIndexId + schema: integer + required: true + description: The ID of the rent_increase_index to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_indices/{rent_increase_index_id} + method: returnRentIncreaseIndex + httpMethod: get + tag: rent_increase_indices + typeScriptTag: rentIncreaseIndices + description: Return rent_increase_index + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseIndexId + schema: integer + required: true + description: ID of the rent_increase_index + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increase_indices/{rent_increase_index_id} + method: updateRentIncreaseIndexById + httpMethod: put + tag: rent_increase_indices + typeScriptTag: rentIncreaseIndices + description: Update rent_increase_index + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseIndexId + schema: integer + required: true + description: ID of the rent_increase_index to update + example: 0 + - name: value + schema: integer + description: '' + - name: date + schema: string + description: '' + - name: rent_increase_type_id + schema: string + description: '' + - name: subtype + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/task_memberships + method: getAllTaskMemberships + httpMethod: get + tag: task_memberships + typeScriptTag: taskMemberships + description: Return task_memberships + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: taskIds + schema: string + description: IDs of the tasks + example: 1,2,3 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/task_memberships + method: createMembership + httpMethod: post + tag: task_memberships + typeScriptTag: taskMemberships + description: Creates a task_membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: task_id + schema: integer + description: '' + - name: place_id + schema: integer + description: '' + - name: organisation_id + schema: integer + description: '' + - name: place_type + schema: string + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/task_memberships/{task_membership_id} + method: deleteTaskMembership + httpMethod: delete + tag: task_memberships + typeScriptTag: taskMemberships + description: Delete the task_membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: taskMembershipId + schema: string + required: true + description: ID of the task_membership you want to delete + example: TASK_MEMBERSHIP_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/task_memberships/{task_membership_id} + method: updateMembership + httpMethod: put + tag: task_memberships + typeScriptTag: taskMemberships + description: Update task_membership + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: taskMembershipId + schema: string + required: true + description: ID of the task_membership to update + example: TASK_MEMBERSHIP_ID + - name: task_id + schema: integer + description: '' + - name: place_id + schema: integer + description: '' + - name: organisation_id + schema: integer + description: '' + - name: place_type + schema: string + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases + method: getIncreases + httpMethod: get + tag: rent_increases + typeScriptTag: rentIncreases + description: Return rent's increases + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases + method: createNewIncrease + httpMethod: post + tag: rent_increases + typeScriptTag: rentIncreases + description: Creates a rent's increase (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases/{rent_increase_id}/apply + method: applyRentIncrease + httpMethod: put + tag: rent_increases + typeScriptTag: rentIncreases + description: Apply rent' increase + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseId + schema: integer + required: true + description: ID of the rent' increase to update + example: 0 + - name: apply + schema: boolean + required: true + description: '' + example: true + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases/{rent_increase_id} + method: deleteRentIncrease + httpMethod: delete + tag: rent_increases + typeScriptTag: rentIncreases + description: Delete a rent_increase (Admin only) + parameters: + - name: customerAccountId + schema: integer + required: false + description: '' + - name: rentIncreaseId + schema: integer + required: true + description: The ID of the rent_increase to delete + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases/{rent_increase_id} + method: returnIncrease + httpMethod: get + tag: rent_increases + typeScriptTag: rentIncreases + description: Return rent's increase + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseId + schema: integer + required: true + description: ID of the rent' increase + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/rent_increases/{rent_increase_id} + method: updateRentIncrease + httpMethod: put + tag: rent_increases + typeScriptTag: rentIncreases + description: Update rent' increase + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer_account + example: 0 + - name: rentIncreaseId + schema: integer + required: true + description: ID of the rent' increase to update + example: 0 + - name: start_date + schema: string + description: '' + - name: value + schema: integer + description: '' + - name: recurring_increase_year + schema: integer + description: '' + - name: recurring_increase_month + schema: integer + description: '' + - name: recurring + schema: boolean + description: '' + - name: status + schema: integer + description: '' + - name: adjustment_percentage + schema: number + description: '' + - name: max_increase_percentage + schema: number + description: '' + - name: threshold + schema: number + description: '' + - name: step_two_enabled + schema: boolean + description: '' + - name: step_three_enabled + schema: boolean + description: '' + - name: old_vpi_month + schema: string + description: '' + - name: new_vpi_month + schema: string + description: '' + - name: building_type + schema: string + description: '' + - name: automatic_adjustment + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/emission_factor_settings/update + method: updateEmissionFactorSetting + httpMethod: post + tag: emission_factor_settings + typeScriptTag: emissionFactorSettings + description: Updates an EmissionFactorSetting + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID on customer_account of the EmissionFactorSettings to show + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/emission_factor_settings + method: getAllWithinAccount + httpMethod: get + tag: emission_factor_settings + typeScriptTag: emissionFactorSettings + description: Returns all EmissionFactorSettings within the given account + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID on customer_account of the EmissionFactorSettings to show + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/emission_factor_settings + method: createEmissionFactorSetting + httpMethod: post + tag: emission_factor_settings + typeScriptTag: emissionFactorSettings + description: Creates an EmissionFactorSetting + parameters: + - name: customerAccountId + schema: string + required: false + description: The ID on customer_account of the EmissionFactorSettings to show + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/emission_factor_settings/{emission_factor_setting_id} + method: deleteEmissionFactorSetting + httpMethod: delete + tag: emission_factor_settings + typeScriptTag: emissionFactorSettings + description: Deletes the EmissionFactorSetting within the account. + parameters: + - name: emissionFactorSettingId + schema: integer + required: true + description: The ID of the emission_factor_setting to show + example: 0 + - name: customerAccountId + schema: string + required: false + description: The ID on customer_account of the EmissionFactorSettings to show + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/emission_factor_settings/{emission_factor_setting_id} + method: showEmissionFactorSetting + httpMethod: get + tag: emission_factor_settings + typeScriptTag: emissionFactorSettings + description: Shows a EmissionFactorSetting + parameters: + - name: emissionFactorSettingId + schema: integer + required: true + description: The ID of the emission_factor_setting to show + example: 0 + - name: customerAccountId + schema: string + required: false + description: The ID on customer_account of the EmissionFactorSettings to show + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '404' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: /v1/customer_account_category_configs + method: createConfig + httpMethod: post + tag: customer_account_category_configs + typeScriptTag: customerAccountCategoryConfigs + description: Creates a customer account category config + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + responses: + - statusCode: '201' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: >- + /v1/customer_account_category_configs/{customer_account_category_config_id} + method: deleteConfig + httpMethod: delete + tag: customer_account_category_configs + typeScriptTag: customerAccountCategoryConfigs + description: Delete the customer account category config + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountCategoryConfigId + schema: string + required: true + description: ID of the customer account category config you want to delete + example: CUSTOMER_ACCOUNT_CATEGORY_CONFIG_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' + - url: >- + /v1/customer_account_category_configs/{customer_account_category_config_id} + method: updateConfig + httpMethod: put + tag: customer_account_category_configs + typeScriptTag: customerAccountCategoryConfigs + description: Update the customer account category config + parameters: + - name: customerAccountId + schema: integer + required: true + description: ID of the customer account + example: 0 + - name: customerAccountCategoryConfigId + schema: string + required: true + description: ID of the customer account category config you want to update + example: CUSTOMER_ACCOUNT_CATEGORY_CONFIG_ID + - name: display + schema: boolean + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '401' + description: '' + - statusCode: '403' + description: '' + - statusCode: '422' + description: '' + - statusCode: '500' + description: '' +numberOfSchemas: 2377 +apiDescription: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). diff --git a/sdks/db/cached-method-objects/from-custom-request_visier.com_TenantManagement.yaml b/sdks/db/cached-method-objects/from-custom-request_visier.com_TenantManagement.yaml index 00dc1cfa0..730e0a9d0 100644 --- a/sdks/db/cached-method-objects/from-custom-request_visier.com_TenantManagement.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_visier.com_TenantManagement.yaml @@ -1,4 +1,4 @@ -hash: d40213a9d075dd8efa4ae9b8f0ffe51a2ca31f39f91b64eca566b0244f095ad3 +hash: 6381881835954eda1d1d48b086c1723348264cedabcd73a6654a7b6c3f2457fc methodObjects: - url: /v1/admin/tenants method: getTenants diff --git a/sdks/db/cached-method-objects/postmarkapp.com_server_1.0.0.yaml b/sdks/db/cached-method-objects/postmarkapp.com_server_1.0.0.yaml index d72fe53cb..e3409a568 100644 --- a/sdks/db/cached-method-objects/postmarkapp.com_server_1.0.0.yaml +++ b/sdks/db/cached-method-objects/postmarkapp.com_server_1.0.0.yaml @@ -1,4 +1,4 @@ -hash: 08f09468a292d00aa184e481e8e1185dfaa76561826dd01dde4d50b966c4bcc3 +hash: b98ed9966bc864221de1d44ae190238e55d21fc0dc42b3d4ebd77640b55a8b15 methodObjects: - url: /bounces method: listBounces diff --git a/sdks/db/category-cache.yaml b/sdks/db/category-cache.yaml index 546d80b88..f08b34b30 100644 --- a/sdks/db/category-cache.yaml +++ b/sdks/db/category-cache.yaml @@ -324,3 +324,6 @@ apis: MarketData-undefined: Finance Kombo-undefined: Developer Tools Goody-undefined: Customer Appreciation + Rated-undefined: AI Tools + Realcube-undefined: Real Estate + PacketFabric-undefined: AI Tools diff --git a/sdks/db/custom-request-last-fetched.yaml b/sdks/db/custom-request-last-fetched.yaml index 7417b727b..015959ea0 100644 --- a/sdks/db/custom-request-last-fetched.yaml +++ b/sdks/db/custom-request-last-fetched.yaml @@ -304,3 +304,6 @@ lastUpdated: melod.ie: 2024-03-29T22:39:47.542Z netvyne.com: 2024-03-29T22:39:47.890Z ongoody.com: 2024-03-29T22:33:12.363Z + rated.network: 2024-03-29T22:49:28.315Z + realcube.com: 2024-03-29T22:49:30.398Z + packetfabric.com: 2024-03-29T22:49:32.371Z diff --git a/sdks/db/custom-request-specs/packetfabric.com.yaml b/sdks/db/custom-request-specs/packetfabric.com.yaml new file mode 100644 index 000000000..f5f26e7f9 --- /dev/null +++ b/sdks/db/custom-request-specs/packetfabric.com.yaml @@ -0,0 +1,43139 @@ +openapi: 3.0.0 +info: + title: PacketFabric API + description: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the + token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H + "On-Behalf: 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + version: 2.0.0 +servers: + - url: https://api.packetfabric.com + description: Production API +security: + - BearerAuth: [] +tags: + - name: Authentication + description: Login/logout endpoints + - name: Activity Logs + description: Log of activities performed by the customer + - name: Announcements + description: Messages from PacketFabric + - name: API keys + description: API keys management API + - name: Billing + description: Billing endpoints + - name: Cloud Provider Credentials + description: Manage your credentials to Cloud Providers. + - name: Cloud Services - AWS + description: AWS specific, and compatible generic cloud routes. + - name: Cloud Services - Azure + description: Azure specific, and compatible generic cloud routes. + - name: Cloud Services - Google Cloud + description: Google Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - IBM + description: IBM Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - Oracle + description: Oracle Cloud specific, and compatible generic cloud routes. + - name: Cloud Routers + description: Base services to build Cloud-to-Cloud connections. + - name: Cloud Router BGP Session Settings + description: Layer 3 network functionality + - name: Cloud Router Connections + description: Cloud-to-Cloud connections. + - name: Cloud Router IPsec + description: IPsec related services. + - name: Cloud Router Route Sets + description: Route Sets for Cloud Router Marketplace Services. + - name: Cloud Router Third Party + description: Cloud Router Third Party services. + - name: Contacts + description: Contact persons of the current customer + - name: Customers + description: Details about the current customer and publicly searchable third parties + - name: Diagnostic Reports + description: Diagnostic reports + - name: Documents + description: Documents of the current customer + - name: Flex Bandwidth + description: Bundled capacity for virtual circuits + - name: Groups + description: Groups management for the current customer + - name: High Performance Internet + description: High Performance Internet (HPI) + - name: IPAM + description: IPAM (IP Address Management) + - name: LAGs + description: Link aggregation groups + - name: Labels + description: Correlation between services and custom identifiers. + - name: Locations + description: Details of physical locations, markets and regions + - name: Maintenance Notifications + description: History of scheduled maintenance operations and sent notifications + - name: Marketplace + description: Viewing and managing marketplace services + - name: Metrics + description: Getting metric data for the current customer + - name: Multi-Factor Authentication + description: Managing multi-factor authentication for the current user + - name: Outbound Cross Connects + description: Viewing and managing outbound cross connects + - name: Objects + description: Linking objects to their labels + - name: Ports + description: Ports of the current customer + - name: Portal Quotes + description: PacketFabric quotes created through the PacketFabric portal + - name: PTP Services + description: >- + Point-to-point service is a bundled service with two ports and an EPL + virtual-circuit connecting them + - name: Request Aliases + description: >- + Request aliases are used to manage points of contact for connection + requests. + - name: Services + description: Virtual Circuit based 3rd-party and backbone services + - name: Streaming Events - Beta + description: Stream events in real-time + - name: SVlan Labels + description: Associate labels with SVlans on a particular port + - name: TeamSignup + description: Team-based signup invitations + - name: Users + description: Users management for the current customer +paths: + /v2/activity-logs/{log_uuid}: + get: + operationId: Activity Logs.get_activity_log + summary: Get activity log entry + tags: + - Activity Logs + parameters: + - required: true + in: path + name: log_uuid + description: UUID of Activity Log entry + schema: + type: string + format: uuid + responses: + '200': + description: Activity log entry + content: + application/json: + schema: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to find + the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/activity-logs: + get: + operationId: Activity Logs.get_activity_log_list + summary: Get activity log entries + description: > + Use this endpoint to get paginated list of Activity Log entries. + + You can set additional filters or set sorting order using query + parameters. + tags: + - Activity Logs + parameters: + - name: level + required: false + description: Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11) + in: query + schema: + type: integer + minimum: 0 + example: 3 + maximum: 7 + - name: category + required: false + description: Filter by category + in: query + schema: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + - name: circuit_id + required: false + description: > + Unified circuit_id filter, supports filtering by: + + - Port - port_circuit_id (eg. PF-AP-SFO1-58) + + - VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345) + + - Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345) + + - Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345) + + - Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345) + + - Cloud Router Connection - connection_circuit_id (eg. + PF-L3-CON-12345) + + - High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345) + in: query + schema: + type: string + example: PF-BC-NYC-NYC-12345 + - name: description + required: false + description: The description of the port to be queried + in: query + schema: + type: string + example: The user description + - name: event + required: false + description: Filter by event + in: query + schema: + type: string + example: login + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + example: time_created + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + - name: time_from + required: false + description: Filter by time_created greater than (after) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - name: time_to + required: false + description: Filter by time_created less than (before) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-30T19:14:42.642Z' + responses: + '200': + description: List of activity log entries + content: + application/json: + schema: + type: array + items: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to + find the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/api-keys: + post: + operationId: post_api_key + summary: Add the new API key + description: > + This endpoint adds the new API key. The API keys can be used by + automated solutions instead of the user session tokens. Use the response + of this endpoint wisely, it is the only time you can see the `token`. + tags: + - API keys + requestBody: + content: + application/json: + schema: + type: object + title: API key parameters + required: + - name + properties: + name: + type: string + description: API key name + example: Silver key + expiration: + type: integer + description: Key expiration in seconds + example: 100500 + responses: + '201': + description: Created API key + content: + application/json: + schema: + type: object + title: API key details when it is just created + description: Information about API key + properties: + token: + type: string + description: >- + Use this token for authorization. It is only returned once + when you create the key + example: >- + api-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + get: + operationId: get_api_keys + summary: Get the list of user's API keys + description: Get the list of user's API keys + tags: + - API keys + responses: + '200': + description: Created API key + content: + application/json: + schema: + type: array + items: + type: object + title: API key details + description: Information about API key + properties: + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + /v2/api-keys/{uuid}: + delete: + operationId: delete_api_key + summary: Deletes API key by UUID + description: Deletes API key by UUID + tags: + - API keys + parameters: + - required: true + in: path + name: uuid + schema: + type: string + format: uuid + description: Target API key UUID + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: API key deleted + /v2/auth/login: + post: + operationId: login + security: [] + summary: Login + description: Start user session. Get the token to authenticate requests + tags: + - Authentication + requestBody: + content: + application/json: + schema: + type: object + title: User credentials + required: + - login + - password + properties: + login: + type: string + description: User login + password: + type: string + description: User password + example: + login: admin + password: p4ssw0rd + description: User credentials + responses: + '200': + description: User session information and token + content: + application/json: + schema: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + get: + operationId: get_login + security: [] + summary: Login + description: > + Authenticates the user with an existing session token. Creates a new + session token for the user and redirects to the PacketFabric Portal + dashboard. + tags: + - Authentication + parameters: + - name: session_token + required: true + description: A valid session_token for the user + in: query + schema: + type: string + - name: timeout + required: false + description: Timeout in minutes to set the session expiration + in: query + schema: + type: integer + responses: + '302': + description: Redirect to the PacketFabric Portal dashboard + /v2/auth/login/mfa: + post: + operationId: login_mfa + security: [] + summary: Login into the application using a multi-factor authentication code + description: > + This endpoint needs to be used only if the user has multi-factor + authentication enabled for their account. After the normal login process + this endpoint must be accessed to send the code used as a second factor + of authentication.

**Note:** Apart from the authentication code, + this endpoint requires the session_token cookie to be properly set. + That's how the application can validate the first factor of + authentication (user/password combination) was completed successfully. + tags: + - Multi-Factor Authentication + requestBody: + content: + application/json: + schema: + type: object + title: Authentication code + required: + - authentication_code + properties: + authentication_code: + type: string + description: Authentication code + example: + authentication_code: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/auth/logout: + get: + operationId: logout + security: [] + summary: Logout + description: Invalidate current user session. Makes the token invalid + tags: + - Authentication + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/auth/sessions: + get: + operationId: get_user_sessions + summary: Get all active user sessions + description: Get the list of all active user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to get sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: User sessions + content: + application/json: + schema: + type: array + items: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license + agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + - token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + delete: + operationId: delete_user_sessions + summary: Deletes all user sessions + description: Delete all user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to delete sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/bgp-settings: + get: + operationId: bgp_session_settings_list + summary: >- + Returns a list of BGP settings instances associated with the current + account. + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP session settings instances. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance.. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: + operationId: bgp_prefixes_list + summary: Returns a list of prefixes associated with a BGP settings instance. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP prefixes. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: + operationId: bgp_l3_get + summary: Returns the L3 IFL data associated with a BGP Session. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: The L3 data associated with a BGP session. + content: + application/json: + schema: + type: object + properties: + local_address: + type: string + example: 10.0.0.1/20 + /v2/billing/services/{circuit_id}: + get: + operationId: get_order + summary: >- + Returns billing details for the given circuit (Port, Cloud, or Virtual + Circuit) + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of Port, Cloud, or Virtual Circuit to fetch billing data for + schema: + type: string + - required: false + in: query + name: service_type + description: >- + (Optional) You can specify the type of the product to fetch the + order for + schema: + type: string + enum: + - cross-connect + example: cross-connect + responses: + '200': + description: Order details + content: + application/json: + schema: + type: array + items: + type: object + properties: + order_id: + type: integer + /v2/billing/services/{circuit_id}/modify: + post: + operationId: modify_order + summary: Modify an existing order + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Successfully modified order + '202': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Order modification started + /v2/billing/services/{circuit_id}/modify/preview: + post: + operationId: modify_order_preview + summary: >- + Preview the price of modifying an existing order. Currently only + supports renewals without speed upgrades. + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: >- + List of orders that would be created if this modification was + applied + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/services/{account_uuid}: + get: + operationId: get_all_account_orders + summary: Returns all orders for the given billing account + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: UUID of the billing account + schema: + type: string + format: uuid + responses: + '200': + description: List of orders + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/pricing: + get: + operationId: get_pricing + summary: Get pricing for specific services + tags: + - Billing + security: [] + parameters: + - required: true + in: query + name: product_type + schema: + type: string + description: Type of product to retrieve pricing for + enum: + - aggregate_capacity + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + - vc_ix + - vc_marketplace + - add_on_fee + - high_performance_internet + - required: false + in: query + name: subscription_term + description: The subscription term, in months, to retrieve pricing for + schema: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + - required: true + in: query + name: location_type + description: >- + Filter pricing info by location type. If no pricing is found, the + service will attempt to search by a broader location type. eg. site + -> pop + schema: + type: string + example: pop + enum: + - site + - pop + - market + - country + - region + - required: false + in: query + name: side_a + description: >- + Code for the a-side location eg. SFO1. When using this paramater to + filter results, ensure location_type is also set. + example: SFO1 + schema: + type: string + - required: false + in: query + name: side_z + description: >- + Code for the z-side location eg. NYC1. When using this paramater to + filter results, ensure location_type is also set. + example: NYC1 + schema: + type: string + - required: false + in: query + name: network_provider_a + description: >- + Limit results to pricing for a specific network provider on the a + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: network_provider_z + description: >- + Limit results to pricing for a specific network provider on the z + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: media + description: Optic media type + example: LX + schema: + type: string + - required: false + in: query + name: provider + description: Filter pricing by provider type + example: aws + schema: + type: string + - required: false + in: query + name: bandwidth_type + description: Filter by dedicated or usage-base pricing + example: usage + schema: + type: string + - required: false + in: query + name: service_class + description: Filter by metro or longhaul connections + example: metro + schema: + type: string + - required: false + in: query + name: speed + description: Filter by connection speed + schema: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + - required: false + in: query + name: account_uuid + description: Filter for account specific pricing + schema: + type: string + format: uuid + example: c25e0c64-6da7-487e-8f47-f5e744813976 + - required: false + in: query + name: add_on_fee_key + description: >- + Filter by the add-on fee key - this is only used for add_on_fee + product types + schema: + type: string + enum: + - route_set + responses: + '200': + description: Pricing details + content: + application/json: + schema: + type: array + items: + type: object + properties: + location_type: + type: string + description: location type of the pricing option + side_a: + type: string + description: side_a provided in the query + side_z: + type: string + description: side_z provided in the query + product_key: + type: string + description: product_key of the pricing option + product_type: + type: string + description: product type for this pricing option + term: + type: string + description: subscription term for this pricing option + speed: + type: string + description: speed in Mbps for this pricing option + media_type: + type: string + description: media type for this pricing option + mrc: + type: string + description: MRC for this pricing option + nrc: + type: string + description: NRC for this pricing option + media_price: + type: string + description: media type specific cost for this pricing option + usage: + type: string + description: usage for this pricing option + /v2/billing/services/early-termination-liability/{circuit_id}: + get: + operationId: get_early_termination_liability + summary: >- + Returns cost for stopping service on a circuit with a subscription term + early + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of circuit to get early termination liability for + schema: + type: string + - required: false + in: query + name: termination_date + description: >- + Datetime (ISO-8601 format) for which to fetch the early termination + liability. Defaults to right now. User's timezone will be used if + timestamp is not timezone aware. Examples: + `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642` + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42' + responses: + '200': + description: Early termination liability + content: + text/plain: + schema: + type: number + example: 15.26 + /v2/billing/accounts/{account_uuid}/invoices: + get: + operationId: get_invoices + summary: Returns list of invoices + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: false + in: query + name: start_date + description: Filter invoices which created after the start_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + - required: false + in: query + name: end_date + description: Filter invoices which created before the end_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + responses: + '200': + description: List of invoices + content: + application/json: + schema: + type: array + items: + type: object + properties: + invoice_id: + type: integer + example: 1 + description: Invoice id + invoice_name: + type: string + example: invoice 1 + description: Invoice name + status: + type: string + example: open + description: Status of the invoice + invoice_date: + type: string + format: date-time + description: date of the invoice creation + example: '2020-01-01T00:00:00+00:00' + is_overdue: + type: boolean + description: Shows if invoice is overdue + example: false + billing_cycle_start_date: + type: string + format: date-time + description: Billing cycle start date + example: '2020-01-01T00:00:00+00:00' + billing_cycle_end_date: + type: string + format: date-time + description: Billing cycle end date + example: '2020-01-31T00:00:00+00:00' + stripe_url: + type: string + description: Shows Stripe-related url for the invoice + example: https://example.org/some/url + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf: + get: + operationId: get_pdf + summary: Returns invoice as PDF + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + responses: + '200': + description: Invoice as PDF file + content: + application/pdf: + schema: + type: string + format: binary + example: '[binary data]' + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv: + get: + operationId: get_csv + summary: Returns invoice as CSV + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + - required: false + in: query + name: condensed + description: Get condensed CSV output + schema: + type: boolean + example: true + responses: + '200': + description: Invoice as CSV file (base64) + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: + operationId: get_stripe_customer_portal_session + summary: Returns stripe customer portal session url + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: >- + uuid of the billing account to get the stripe customer portal + session for + schema: + type: string + responses: + '200': + description: Stripe customer portal session url as json + content: + application/json: + schema: + type: object + properties: + session_url: + type: string + example: http://customer/session + /v2/contacts: + get: + operationId: contact_get_list + summary: Get the contacts associated with the current customer + tags: + - Contacts + parameters: + - name: billing + required: false + description: >- + Filter for billing contacts (`true`) or non-billing contacts + (`false`) + in: query + schema: + type: boolean + - name: contact_uuid + required: false + description: Filter contact by UUID + in: query + schema: + type: string + responses: + '200': + description: List of contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about + the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + post: + operationId: contact_post + summary: Add the contact for the current customer + tags: + - Contacts + requestBody: + description: | + Details to create the Contact. The following validation rules apply: + * Technical contacts require only `first_name`, `last_name`, `phone` and `email` fields; + * `po_number` can only be used for `billing` contacts; + * If `po_number` is used, `first_name` and `last_name` fields are not required + content: + application/json: + schema: + type: object + required: + - email + - phone + - admin + - billing + - tech + properties: + first_name: + description: > + First name of the contact person. Required for admin and + tech contacts. Not required for the contacts with + `po_number` + type: string + maxLength: 255 + example: James + last_name: + description: > + Last name of the contact person. Required for admin and tech + contacts. Not required for the contacts with `po_number` + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + format: email + maxLength: 255 + example: email@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: > + Address of the contact person. Required for admin and + billing contacts + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: >- + City of the contact person. Required for admin and billing + contacts + type: string + maxLength: 64 + example: Chicago + state: + description: > + State of the contact person. Required if the country of + contact is "US", "USA", "CA", "CAN" + type: string + maxLength: 32 + example: IL + postal: + description: >- + Postal code of the contact. Required for some of the + countries + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, defaults to True and only effective if it is a + billing contact i.e. billing=true + type: boolean + responses: + '201': + description: Created contact details + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}: + get: + operationId: contact_get + summary: Get a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Contact object + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + delete: + operationId: contact_delete + summary: Delete a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to delete + schema: + type: string + format: uuid + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + patch: + operationId: contact_update + summary: Update contact + tags: + - Contacts + parameters: + - required: true + description: UUID of the contact to update + in: path + name: contact_uuid + schema: + type: string + format: uuid + requestBody: + description: | + Details to update the Contact + content: + application/json: + schema: + type: object + properties: + first_name: + description: First name of the contact person + type: string + maxLength: 255 + example: James + last_name: + description: Last name of the contact person + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + maxLength: 255 + example: user@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: Address of the contact person + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: City of the contact person + type: string + maxLength: 64 + example: Chicago + state: + description: State of the contact person. + type: string + maxLength: 32 + example: IL + postal: + description: Postal code of the contact + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, only effective if it is a billing contact i.e. + billing=true + type: boolean + responses: + '200': + description: Updated contact information + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}/links/{circuit_id}: + post: + operationId: link_contact_to_object + summary: Link a technical contact to a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to link. Must be a technical contact. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to link. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Contact linked successfully + delete: + operationId: unlink_contact_from_object + summary: Delete a link between a technical contact and a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to unlink. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to unlink. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Link successfully deleted + /v2/contacts/links: + get: + operationId: get_contact_object_links + summary: Retrieve list of contact-circuit links + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: false + in: query + description: Only retrieve links associated with this contact + schema: + type: string + format: uuid + - name: circuit_id + required: false + in: query + description: Only retrieve links associated with this circuit + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Contact-circuit links + content: + application/json: + schema: + type: object + properties: + circuit_links: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + circuit_id: + type: string + example: PF-AP-WDC1-1234 + /v2/customers/company-types: + get: + operationId: get_company_types + security: [] + summary: Get list of company types + description: Company types are used during the signup process + tags: + - Customers + responses: + '200': + description: List of company types + content: + application/json: + schema: + type: object + properties: + company_type_code: + type: string + description: abbreviated company type + example: LLC + description: + type: string + description: description of company type + example: Limited Liability Corporation + /v2/customers/current: + get: + operationId: customer_get + summary: Get current customer data + tags: + - Customers + responses: + '200': + description: Current customer details + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + patch: + operationId: customer_update + summary: Update current customer data + tags: + - Customers + requestBody: + description: Modified fields for the current customer + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + notes: + type: string + description: Private customer notes + example: Cloud services via Amazon Direct Connect + description: + type: string + description: Customer description + example: Importer/exporter + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + description: Changes the customer-wide MFA setting + password: + type: string + description: >- + Current user password. Only required if customer_wide_mfa + changed + example: password111 + company_type_code: + type: string + description: Type of customer company + example: LLC + service_provider_types: + type: array + description: List of marketplace service provider types + items: + type: string + description: Slug of the service provider type + example: cloud-service-providers + industries: + type: array + description: Industries to which the customer belongs + items: + type: string + description: Slug of the industry + example: telecommunications + responses: + '200': + description: Current customer details updated with provided fields + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + /v2/customers/images/{uuid}: + get: + operationId: customer_image_get + summary: Return customer logo for provided customer's UUID + tags: + - Customers + parameters: + - required: true + in: path + name: uuid + description: Customer UUID + schema: + type: string + format: uuid + responses: + '200': + description: Customer logo in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/customers/current/image: + post: + operationId: customer_image_post + summary: >- + Upload image file with a company logo. Supported formats are PNG, JPEG + or BMP + tags: + - Customers + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: string + format: binary + example: JPEG, PNG or BMP image file + responses: + '200': + description: Logo changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/customers/current/locations: + get: + operationId: get_customer_location_list + summary: Get location list for the current customer + tags: + - Customers + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + responses: + '200': + description: >- + List of locations the current customer is in, optionally filtered by + provided parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/customers/current/account-managers: + get: + deprecated: true + operationId: get_customer_account_managers + summary: Get all customer account managers for the current customer + tags: + - Customers + responses: + '200': + description: An object containing a list of customer account managers + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers/current/sales-team: + get: + operationId: get_customer_sales_team + summary: Get the sales team details for the current customer + tags: + - Customers + responses: + '200': + description: An object containing lists of the different sales team members + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + account_executives: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + sales_engineers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers: + get: + operationId: get_customers + summary: Get customer list by filter params + tags: + - Customers + parameters: + - required: false + in: query + name: q + description: Search query string used to filter customers by name or description + schema: + type: string + - required: false + in: query + name: name + description: Filter customers by exact name + schema: + type: string + - required: false + in: query + name: routing_id + description: Filter customers by Customer Routing ID + schema: + type: string + - required: false + in: query + name: market + description: Filter customers by the market operated in + schema: + type: string + - required: false + in: query + name: pop + description: Filter customers by POP name + schema: + type: string + - required: false + in: query + name: type + description: >- + Filter customers by type. Accepts either a single value or an array + of values. + schema: + type: array + items: + type: string + enum: + - customer + - ix + - partner + responses: + '200': + description: List of customers, optionally filtered by provided filter parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer ID + example: PF-1RI-OQ85 + /v2/customers/{customer_uuid}/industries: + get: + operationId: customer_industries_get + summary: Return customer industries by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of industries for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/customers/{customer_uuid}/locations: + get: + operationId: customer_locations_get + summary: Return customer locations by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of locations for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: NYC4 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: NYC + market_description: + type: string + description: Market name + example: New York City + /v2/customers/{customer_uuid}/service-provider-types: + get: + operationId: customer_service_provider_types_get + summary: Return customer service_provider_types by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of service provider types for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/customers/current/ix-details: + patch: + operationId: patch_customer_ix_details + summary: Update IX details for the current customer + tags: + - Customers + requestBody: + description: Modified IX details for the current customer + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + responses: + '200': + description: Current customer IX details updated with provided fields + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/customers/{customer_uuid}/ix-details: + get: + operationId: get_customer_ix_details + summary: Return IX details by IX customer UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: IX details + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/diagnostic-reports: + post: + tags: + - Diagnostic Reports + summary: Create a diagnostic report + requestBody: + content: + application/json: + schema: + type: object + properties: + circuit_ids: + type: array + description: An array of circuit IDs + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + description: + type: string + description: The description of the diagnostic report + example: User provided description + start_time: + type: string + format: date-time + description: >- + The start time of this report and should be at least an hour + ago. Without timezone, start time will be considered as UTC + include_related: + type: boolean + description: Whether to include related reports or not + example: false + required: + - circuit_ids + - start_time + responses: + '200': + description: Response of a created diagnostic report + content: + application/json: + schema: + type: object + properties: + report: + type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + get: + tags: + - Diagnostic Reports + summary: Get diagnostic reports + operationId: get_reports + parameters: + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: reason + schema: + type: string + enum: + - USER + - SYSTEM + - OTHER + description: The reason to filter by + - required: false + in: query + name: user_login + schema: + type: string + description: The user login to filter by + - required: false + in: query + name: circuit_id + schema: + type: string + description: Circuit ID of the service to get the reports + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: q + schema: + type: string + description: Search query string used to filter reports + - required: false + in: query + name: description + schema: + type: string + description: The user provided description of the report + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - current_event_num + - num_expected_events + - report_uuid + - state + - time_created + description: Column to sort results on + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: The offset of results for this page + responses: + '200': + description: Get list of diagnostic reports based on query parameters + content: + application/json: + schema: + type: object + properties: + reports: + type: array + items: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + /v2/diagnostic-reports/{report_uuid}: + get: + tags: + - Diagnostic Reports + summary: Get diagnostic report details by UUID + operationId: get_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report details + content: + application/json: + schema: + type: object + properties: + report: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + delete: + tags: + - Diagnostic Reports + summary: Delete diagnostic report + operationId: delete_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to delete + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Report deleted successfully + /v2/documents: + get: + operationId: document_get_list + summary: Get documents list filtered by params + description: | + Use this endpoint to fetch the list of the documents. + You can use filters for your search results + tags: + - Documents + parameters: + - name: uuid + schema: + type: string + format: uuid + description: Search documents by UUID + example: 12a30d30-20c0-4f62-a982-eb1424631094 + in: query + - name: name + schema: + type: string + description: Search document by name + example: loa.pdf + in: query + required: false + - name: type + description: Search document by type + example: loa + schema: + type: string + enum: + - loa + - msa + - service_order + - test_results + - other + in: query + - name: port_circuit_id + schema: + type: string + description: Search LOA by port id + example: PF-AP-WDC1-1000 + in: query + - name: pop + schema: + type: string + description: Search LOA by pop + example: WDC1 + in: query + - name: vc_circuit_id + schema: + type: string + example: PF-DC-SMF-PDX-12345 + description: Search service orders by Virtual Circuit ID + in: query + - name: cloud_router_circuit_id + schema: + type: string + example: PF-L3-CUST-1400 + description: Search service orders by Cloud Router Circuit ID + in: query + - name: cloud_router_connection_circuit_id + schema: + type: string + example: PF-L3-CON-12345 + description: Search service orders by Cloud Router Connection Circuit ID + in: query + - name: hpi_circuit_id + schema: + type: string + example: PF-L3-TRAN-1400 + description: Search service orders by High Performance Internet Circuit ID + in: query + - name: aggregate_capacity_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + deprecated: true + - name: flex_bandwidth_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + - name: q + required: false + schema: + type: string + description: Search documents by partial name + example: loa + in: query + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - type + - name + - created + - updated + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of documents + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this + document refers to + type: string + format: uri + post: + operationId: document_upload + summary: Create/Upload a document + tags: + - Documents + requestBody: + description: Document uploading form + required: true + content: + multipart/form-data: + schema: + type: object + required: + - type + - description + - document + properties: + document: + type: string + format: binary + description: Binary file contents + type: + type: string + description: Document type + example: loa + enum: + - loa + - msa + description: + type: string + description: Document description + example: description example + port_circuit_id: + type: string + description: >- + Port circuit id. This field is required only for "loa" + document type + example: PF-AP-WDC1-1000 + responses: + '201': + description: Created document details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/documents/{uuid}: + get: + operationId: document_get_by_uuid + security: [] + summary: Download the document + tags: + - Documents + parameters: + - required: true + in: path + name: uuid + description: UUID of the document to download + schema: + type: string + format: uuid + responses: + '200': + description: Document's binary data + content: + application/octet-stream: + schema: + type: string + format: binary + example: '[binary data]' + /v2/events: + post: + operationId: create_event_subscription + summary: Create event subscription + description: > + **This is a beta feature.** + + + Cloud router connections are not supported yet. + + + This is the first step to receive a real-time event stream via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). + + + In this POST request, you declare which types of events and categories + of those event + + types you wish to stream. Assuming your request is valid, the response + will contain a + + `subscription_uuid` that you will use as a path parameter for the + *Stream Events* `/v2/events/{uuid}` + + endpoint described below. + + + Each subscription bundle is permanently associated with the session that + created it and can + + only be streamed within that session. This includes subscription bundles + created using API + + Keys (`/v2/api-keys`). Further, you must begin streaming your new + subscription bundle within + + 5 minutes of creation or it will expire. However, once you begin + streaming a particular + + bundle it will be valid until the session associated with it expires. + + + **Make sure to fully expand the schema by clicking `>` to see the + details for each type of payload.** + tags: + - Streaming Events - Beta + requestBody: + content: + application/json: + schema: + type: object + required: + - streams + properties: + streams: + type: array + items: + anyOf: + - title: Activity Log Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - customer + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - auth + - physical_interface + items: + type: string + enum: + - auth + - bgp + - cloud_connection + - cloud_router + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + - title: Port Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - port + ifds: + type: array + description: > + Specific ports you wish to subscribe to, + identified by port circuit IDs. If none are + + supplied, then all ports to which the customer has + access are assumed. + example: + - PF-AP-ABC-1234 + - PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - errors + - etherstats + - metrics + - optical + items: + type: string + enum: + - errors + - etherstats + - metrics + - optical + - title: Logical Interface Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - vc + vcs: + type: array + description: > + Specific logical interfaces you wish to subscribe + to, each identified by a combination of + + the virtual circuit ID and port circuit ID + associated with the logical interface. If none + + are supplied, then all logical interfaces to which + the customer has access are assumed. + example: + - PF-BC-ABC-QRS-84274-PF&PF-AP-ABC-1234 + - PF-CC-JKL-DEF-13758-PF&PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - metrics + items: + type: string + enum: + - metrics + responses: + '201': + description: Subscription bundle created successfully + content: + application/json: + schema: + type: object + properties: + subscription_uuid: + type: string + format: uuid + description: ID for created bundle of event streams + /v2/events/{uuid}: + get: + operationId: stream_events + summary: Stream events + description: > + **This is a beta feature.** + + + Ensure that you have created a subscription bundle using the *Create + event subscription* `/v2/events` + + endpoint described above and that you have access to the + `subscription_uuid` returned from that request. + + + Using this `subscription_uuid`, you can now stream events in real-time + via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) + from + + `/v2/events/{subscription_uuid}`. + + + Every message that you receive will have the same basic structure of an + `event` field and a + + `data` field. The `data` field will always be a JSON object. The below + is an example of the + + response you would receive when one of your users authenticates with the + PacketFabric Portal or API. + + ``` + + event: customer|auth + + data: {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User Hank Aaron logged + in.","timestamp": "2020-06-11T19:08:10.150711"} + + + ``` + + The precise content of the `data` of a given message will vary widely + depending on its particular + + type. The specifics of each are documented below. + + + In order to keep the connection open, you will also receive heartbeat + messages (`:`) if enough + + time has passed between events. Our API enforces a maximum connection + duration of two hours, + + so any automated system that uses this endpoint will need to account for + reconnecting periodically. + + + The below is a small example client using the + [sseclient](https://github.com/btubbs/sseclient) + + library for consuming a stream of Server-sent events. To use it, you'll + need to install sseclient and + + [requests](https://docs.python-requests.org/en/master/index.html) and be + using Python 3.7 or later. + + You will need to set your username and password into the `username` and + `password` + + variables near the bottom of the file as well. Also, the sseclient + library will automatically + + reconnect when the connection is lost. + + + ``` + + import asyncio + + import datetime + + + import requests + + from sseclient import SSEClient + + + BASE_URL = "https://api.packetfabric.com" + + + LOGIN = f"{BASE_URL}/v2/auth/login" + + LOGOUT = f"{BASE_URL}/v2/auth/logout" + + EVENTS_BASE = f"{BASE_URL}/v2/events" + + + + def login(username, password): + print("Logging in...") + resp = requests.post(LOGIN, json={"login": username, "password": password}) + print(f"Login response: {resp.json()}") + return resp.json()["token"] + + + def logout(token): + headers = {"Authorization": f"Bearer {token}"} + requests.get(LOGOUT, headers=headers) + print("Logged out") + + + def create_subscription(token): + url = EVENTS_BASE + headers = {"Authorization": f"Bearer {token}"} + body = { + "streams": [{"type": "customer"}] + } + resp = requests.post(url, json=body, headers=headers) + return resp.json()["subscription_uuid"] + + + async def consume_client(token, subscription_uuid): + headers = {"Authorization": f"Bearer {token}", "Accept": "text/event-stream"} + url = f"{EVENTS_BASE}/{subscription_uuid}" + r = SSEClient(url, headers=headers) + for event in r: + print(event.dump()) + + + if __name__ == "__main__": + username = "" + password = "" + token = login(username, password) + subscription_uuid = create_subscription(token) + try: + print(f"Starting stream at {datetime.datetime.utcnow().isoformat()}") + asyncio.run(consume_client(token, subscription_uuid)) + finally: + print(f"Ending stream at {datetime.datetime.utcnow().isoformat()}") + logout(token) + ``` + tags: + - Streaming Events - Beta + parameters: + - required: true + in: path + name: uuid + description: UUID of the subscription bundle + schema: + type: string + format: uuid + responses: + default: + description: Event stream + content: + text/event-stream: + schema: + type: object + properties: + event: + type: string + enum: + - customer|auth + - customer|billing + - customer|bgp + - customer|contact + - customer|cloud_connection + - customer|cloud_router + - customer|customer + - customer|document + - customer|lag_interface + - customer|logical_interface + - customer|physical_interface + - customer|outbound_cross_connect + - customer|point_to_point + - customer|rate_limit + - customer|user + - customer|virtual_circuit + - port|errors + - port|etherstats + - port|metrics + - port|optical + - vc|metrics + data: + anyOf: + - title: Activity Log Event Stream Data + example: > + {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User + Hank Aaron logged in.","timestamp": + "2021-08-06T16:23:12.872013+0000"} + type: object + properties: + user: + type: string + description: >- + username of user that performed this action or + 'system' + log_level: + description: Name of the level at which this event was logged + type: string + enum: + - emergency + - alert + - critical + - error + - warning + - notice + - info + - debug + category: + description: Category of the event + type: string + enum: + - auth + - billing + - bgp + - contact + - cloud_connection + - cloud_router + - customer + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + event: + type: string + description: Short name of the event + example: login + message: + type: string + description: Details of the event + example: User Alice logged in + timestamp: + type: string + format: date-time + description: Time of the event + example: '2020-06-11T19:08:10.150711' + - title: Logical Interface Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "vc_circuit_id": "PF-CC-ABC-QRS-24827-PF", "vlan": + "4", "port_circuit_id": "PF-AP-ABC-999-PF", + "bytes_rx_bps": 512, "bytes_rx_total": 1024, + "bytes_tx_bps": 512, "bytes_tx_total": 1024, + "packets_rx_pps": 2048, "packets_rx_total": 4096, + "packets_tx_pps": 2048, "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + vc_circuit_id: + type: string + port_circuit_id: + type: string + vlan: + type: integer + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "port_circuit_id": "PF-AP-ABC-999-PF", "bytes_rx_bps": + 512, "bytes_rx_total": 1024, "bytes_tx_bps": 512, + "bytes_tx_total": 1024, "packets_rx_pps": 2048, + "packets_rx_total": 4096, "packets_tx_pps": 2048, + "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Errors Event Stream + example: > + {"timestamp": "2021-09-22T21:16:22+00:00", + "port_circuit_id": "PF-AP-PHX2-2161831", "rx_discard": + 0, "rx_drop": 0, "rx_fifo": 0, "rx_framing": 0, + "rx_l2_channel": 0, "rx_l2_mismatch_timeout": 0, + "rx_l3_incomplete": 0, "rx_resource": 0, "rx_runt": 0, + "rx_unspecified": 0, "tx_aged": 0, "tx_carrier": 0, + "tx_collision": 0, "tx_drop": 0, "tx_fifo": 0, + "tx_link_crc": 0, "tx_mtu": 0, "tx_resource": 0, + "tx_unspecified": 0} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_discard: + type: integer + rx_drop: + type: integer + rx_fifo: + type: integer + rx_framing: + type: integer + rx_l2_channel: + type: integer + rx_l2_mismatch_timeout: + type: integer + rx_l3_incomplete: + type: integer + rx_resource: + type: integer + rx_runt: + type: integer + rx_unspecified: + type: integer + tx_aged: + type: integer + tx_carrier: + type: integer + tx_collision: + type: integer + tx_drop: + type: integer + tx_fifo: + type: integer + tx_link_crc: + type: integer + tx_mtu: + type: integer + tx_resource: + type: integer + tx_unspecified: + type: integer + - title: Port Etherstats Event Stream + example: > + {"timestamp": "2021-09-22T21:25:48+00:00", + "port_circuit_id": "PF-AP-PLG3-2158617", + "rx_broadcasts": 0, "rx_bytes": + 426166,"rx_code_violations": 0, "rx_crc_errors": 0, + "rx_fifo_errors": 0, "rx_fragment_frames": 0, + "rx_jabber_frames": 0, "rx_mac_control_frames": 0, + "rx_mac_pause_frames": 0, "rx_multicasts": 0, + "rx_oversized_frames": 0, "rx_packets": 5764, + "rx_unicast": 5764, "rx_vlan_tagged_frames": 0, + "tx_broadcasts": 0, "tx_bytes": 996137, + "tx_crc_errors": 0, "tx_fifo_errors": 0, + "tx_mac_control_frames": 0, "tx_mac_pause_frames": 0, + "tx_multicasts": 0, "tx_packets": 7828, "tx_unicast": + 7828} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_broadcasts: + type: integer + rx_bytes: + type: integer + rx_code_violations: + type: integer + rx_crc_errors: + type: integer + rx_fifo_errors: + type: integer + rx_fragment_frames: + type: integer + rx_jabber_frames: + type: integer + rx_mac_control_frames: + type: integer + rx_mac_pause_frames: + type: integer + rx_multicasts: + type: integer + rx_oversized_frames: + type: integer + rx_packets: + type: integer + rx_unicast: + type: integer + rx_vlan_tagged_frames: + type: integer + tx_broadcasts: + type: integer + tx_bytes: + type: integer + tx_crc_errors: + type: integer + tx_fifo_errors: + type: integer + tx_mac_control_frames: + type: integer + tx_mac_pause_frames: + type: integer + tx_multicasts: + type: integer + tx_packets: + type: integer + tx_unicast: + type: integer + - title: Port Optical Event Stream + example: > + {"timestamp": "2021-09-22T21:32:43+00:00", + "port_circuit_id": "PF-AP-WDC1-2158608", + "lane_0_bias_current": 0.0, "lane_0_index": 0.0, + "lane_0_output_power": 0.0, "lane_0_rx_dbm": 0.0, + "lane_0_rx_power": 0.0, "lane_0_tx_dbm": 0.0, + "lane_0_tx_power": 0.0, "lane_1_bias_current": 0.0, + "lane_1_index": 0.0, "lane_1_output_power": 0.0, + "lane_1_rx_dbm": 0.0, "lane_1_rx_power": 0.0, + "lane_1_tx_dbm": 0.0, "lane_1_tx_power": 0.0, + "lane_2_bias_current": 0.0, "lane_2_index": 0.0, + "lane_2_output_power": 0.0, "lane_2_rx_dbm": 0.0, + "lane_2_rx_power": 0.0, "lane_2_tx_dbm": 0.0, + "lane_2_tx_power": 0.0, "lane_3_bias_current": 0.0, + "lane_3_index": 0.0, "lane_3_output_power": 0.0, + "lane_3_rx_dbm": 0.0, "lane_3_rx_power": 0.0, + "lane_3_tx_dbm": 0.0, "lane_3_tx_power": 0.0} + description: Body of the event + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + lane_0_bias_current: + type: number + format: float + lane_0_index: + type: number + format: float + lane_0_output_power: + type: number + format: float + lane_0_rx_dbm: + type: number + format: float + lane_0_rx_power: + type: number + format: float + lane_0_tx_dbm: + type: number + format: float + lane_0_tx_power: + type: number + format: float + lane_1_bias_current: + type: number + format: float + lane_1_index: + type: number + format: float + lane_1_output_power: + type: number + format: float + lane_1_rx_dbm: + type: number + format: float + lane_1_rx_power: + type: number + format: float + lane_1_tx_dbm: + type: number + format: float + lane_1_tx_power: + type: number + format: float + lane_2_bias_current: + type: number + format: float + lane_2_index: + type: number + format: float + lane_2_output_power: + type: number + format: float + lane_2_rx_dbm: + type: number + format: float + lane_2_rx_power: + type: number + format: float + lane_2_tx_dbm: + type: number + format: float + lane_2_tx_power: + type: number + format: float + lane_3_bias_current: + type: number + format: float + lane_3_index: + type: number + format: float + lane_3_output_power: + type: number + format: float + lane_3_rx_dbm: + type: number + format: float + lane_3_rx_power: + type: number + format: float + lane_3_tx_dbm: + type: number + format: float + lane_3_tx_power: + type: number + format: float + /v2/flex-bandwidth: + post: + operationId: create_flex_bandwidth + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + operationId: get_flex_bandwidth_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/flex-bandwidth/{flex_bandwidth_id}: + get: + operationId: get_flex_bandwidth_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + operationId: delete_flex_bandwidth + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/groups: + get: + operationId: group_get + summary: Get the current customer's groups + description: >- + Use this endpoint to get the list of groups available for the current + customer + tags: + - Groups + responses: + '200': + description: List of the current customer's groups + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Group name. You can use it as group identifier + example: regular + _links: + type: object + description: Shows resources you can use the group in + properties: + permissions: + type: string + description: Url to get the list of permissions in this group + example: >- + https://api.packetfabric.com/v2/groups/regular/permissions + users: + type: string + description: Url to get the list of the users in this group + example: https://api.packetfabric.com/v2/groups/regular/users + /v2/groups/{group_name}/users: + get: + operationId: group_get_user_list + summary: Get the list of users in the group + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of users in + schema: + type: string + example: regular + responses: + '200': + description: List of users in the group + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/groups/{group_name}/permissions: + get: + operationId: group_get_permission_list + summary: Get the list of permissions granted for the group + description: >- + Every granted permission makes it possible to use corresponding + resources + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of permissions in + schema: + type: string + example: regular + responses: + '200': + description: List of group's permissions + content: + application/json: + schema: + type: array + items: + type: object + properties: + permission_key: + type: string + description: Permission name + example: group/permission.read + has_permission: + type: boolean + description: >- + Shows if the permission is enabled within the given + group + /v2/locations/{site_code}: + get: + operationId: get_location + summary: Get location data for specified location + tags: + - Locations + parameters: + - required: true + in: path + name: site_code + description: Site code of the target location + schema: + type: string + example: CS-LA1 + responses: + '200': + description: Details of a physical location specified by the site code + content: + application/json: + schema: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/locations: + get: + operationId: get_location_list + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2.1/locations: + get: + operationId: get_location_list2_1 + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: cloud_provider + description: Filter locations by the cloud provider + schema: + type: string + enum: + - aws + - azure + - google + - ibm + - oracle + - required: false + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - dedicated + - hosted + - required: false + in: query + name: network_provider + description: Filter locations by the network provider + schema: + type: string + example: PacketFabric + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + - required: false + in: query + name: export + description: Export the data as a CSV file + schema: + type: string + example: csv + - required: false + in: query + name: enni + description: Filter locations by whether or not they support ENNI + schema: + type: boolean + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_providers: + type: array + description: List of cloud providers available at this location + items: + type: object + properties: + provider: + type: string + description: Cloud provider name + enum: + - aws + - azure + - google + - ibm + - oracle + region: + type: string + description: Cloud provider region + example: us-east-1 + region_description: + type: string + description: Cloud provider region description + example: US East (N. Virginia) + connection_types: + type: array + description: >- + List of connection types available at this + location + items: + type: object + properties: + type: + type: string + description: Connection type name + enum: + - hosted + - dedicated + zones: + type: array + description: List of zones available at this location + items: + type: string + example: A + /v2/locations/cloud: + get: + operationId: get_cloud_location_list + summary: Get a list of cloud locations filtered by query params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: has_cloud_router + description: Flag to look for only cloud-router capable locations + schema: + type: boolean + default: false + - required: true + in: query + name: cloud_provider + description: Filter locations by the cloud provider key + schema: + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - required: true + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - hosted + - dedicated + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_provider: + type: string + description: > + Short key identifying cloud provider, + + only available when providing cloud_provider or + cloud_connection_type query parameter + enum: + - aws + - google + - azure + - ibm + - salesforce + cloud_connection_details: + type: object + description: > + Details of the connection, + + only available when providing cloud_provider or + cloud_connection_type query parameter + properties: + region: + type: string + description: Short region name + example: us-east-1 + region_description: + type: string + description: Long region description + example: US East (N. Virginia) + hosted_type: + type: string + description: Type of the connection + enum: + - hosted-connection + - dedicated-connection + zones: + type: array + description: List of zones available at this location + items: + type: string + example: + - A + - B + /v2/locations/extrametro: + get: + operationId: get_extrametro_location_list + summary: Get a list of extrametro locations + tags: + - Locations + responses: + '200': + description: List of extrametro locations + content: + application/json: + schema: + type: array + items: + type: object + properties: + desired_market: + type: string + description: Desired market + example: LON + allowed_market: + type: string + description: Allowed market + example: SFO + /v2/locations/regions: + get: + operationId: get_location_region_list + summary: Get region list + tags: + - Locations + responses: + '200': + description: List of available regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Region name + example: Continental U.S. + code: + type: string + description: Region code + example: US + /v2/locations/markets: + get: + operationId: get_location_market_list + summary: Get market list + tags: + - Locations + responses: + '200': + description: List of available markets + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Market name + example: Los Angeles + code: + type: string + description: Market code + example: LAX + country: + type: string + description: Market country code + example: US + /v2/locations/{pop}/port-availability: + get: + operationId: get_location_port_availability + summary: Get port availability data for a POP + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + type: object + properties: + zone: + type: string + description: Zone name + example: A + speed: + type: string + description: Wiring speed + example: 100Gbps + media: + type: string + description: Media type + example: LR4 + count: + type: integer + description: Number of available ports + example: 3 + partial: + type: boolean + description: Ports are partially available + example: false + enni: + type: boolean + description: Ports support eNNI + example: false + /v2/locations/{pop}/zones: + get: + operationId: get_location_zone_availability + summary: Get zones for a POP. + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: A list of zones in the given POP. + content: + application/json: + schema: + type: array + items: + type: string + example: A + /v2/locations/{pop}/image: + get: + operationId: get_location_image + summary: Get image for a specified location + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target location + schema: + type: string + responses: + '200': + description: Location image in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/labels/{value}: + put: + operationId: update_label + summary: Update a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be linked when the operation is complete. + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + patch: + operationId: add_label + summary: Add to a label's circuit_ids + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be added to the existing list of circuit_ids mapped to a + label + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + get: + operationId: get_label_objects + summary: Get a list of objects associated with a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + - required: false + in: query + name: label_type + description: >- + Label type. customer_ref by default. reseller_ref is only for the + reseller customers + schema: + type: string + enum: + - customer_ref + - reseller_ref + responses: + '200': + description: List of circuit IDs associated with a label + content: + application/json: + schema: + type: object + properties: + objects: + type: array + description: An array of circuit IDs associated with a label + items: + type: string + description: Circuit ID associated with a label + example: PF-AE-LAX1-1234 + /v2/labels: + get: + operationId: get_labels + summary: Get a list of labels associated with a customer + tags: + - Labels + responses: + '200': + description: List of labels associated with a customer + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value + example: staging + /v2/lags: + post: + operationId: lag_post + summary: Create a LAG Interface + tags: + - LAGs + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - interval + - pop + - members + properties: + description: + type: string + description: Description of a LAG + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + pop: + type: string + description: Point of presence + example: LAX1 + members: + type: array + description: >- + List of member port identifiers. All members must have the + same speed and media. + items: + type: string + example: PF-AE-LAX1-1234 + responses: + '201': + description: LAG creation successful, returns newly created LAG + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + /v2/lags/{port_circuit_id}: + patch: + operationId: lag_patch + summary: Updates a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: Description of a LAG, up to 256 characters + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + responses: + '200': + description: Returns the updated interface + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + delete: + operationId: lag_delete + summary: Deletes a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to delete the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/enable: + post: + operationId: post_lag_enable + summary: Enables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to enable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/disable: + post: + operationId: post_lag_disable + summary: Disables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to disable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members: + get: + operationId: lag_list_members + summary: Lists member interfaces for a LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a LAG + responses: + '200': + description: List of port members of the LAG + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: post_lag_member_interface + summary: >- + Adds a member interface to a target LAG. All members must have the same + speed and media. + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + requestBody: + content: + application/json: + schema: + type: object + required: + - member_port_circuit_id + properties: + member_port_circuit_id: + type: string + example: PF-AE-LAX1-1234 + description: ID of a member interface to add to LAG + responses: + '200': + description: Successfully started task to add member interface(s) + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: + operationId: delete_lag_member_interface + summary: Remove a member interface from a target LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + - required: true + in: path + name: member_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-7890 + description: ID of the member to remove + responses: + '200': + description: Successfully started task to delete member interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/marketplace/services: + get: + operationId: marketplace_customer_services_get + summary: Get the collection of customers with services offered in the marketplace + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: >- + Filters the service list to a specific service-provider customer. + Allows multiple comma-separated values. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: pop + description: >- + Filters the service list to a specific location. Allows multiple + comma-separated values. + schema: + type: string + example: SAC1 + - required: false + in: query + name: market + description: >- + Filters the service list to a specific market. Allows multiple + comma-separated values. + schema: + type: string + example: SAC + - required: false + in: query + name: category + description: Filters the service list to a specific category + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: service_type + description: >- + Filters the service list by service type. Allows multiple + comma-separated values. Defaults to port-service. + schema: + type: string + enum: + - port-service + - cloud-router-service + example: Port Service + - required: false + in: query + name: show_unpublished + description: >- + Show unpublished services. Only returns results for the current + customer. Defaults to false. + schema: + type: boolean + example: true + - required: false + in: query + name: q + description: >- + Filters services by partial name, description, service uuid, or + customer name + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - customer_uuid + - name + - time_created + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all marketplace services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + description: UUID of the customer + format: uuid + routing_id: + type: string + description: Routing ID of the customer + example: PF-1RI-OQ85 + name: + type: string + description: Human-readable name of the customer + example: Example Ltd. + aliases: + type: string + description: The customer's aliases + example: Example alias + description: + type: string + description: Short description of what the customer does + example: Example description + website: + type: string + description: URL of the customer's website + example: www.example.com + format: uri + industries: + type: array + description: Industries in which the customer operates + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + service_provider_type: + type: array + description: What kinds of service provider the customer is + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: network-services + service_provider_name: + type: string + description: Human-readable name + example: Network Services + _links: + type: object + properties: + customer_image: + type: string + description: Link to the customer's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + services: + type: array + description: Services the customer offers + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: >- + Service categories in which the service is + included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: >- + Identifier to be used in URLs and JSON + bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: >- + Whether or not the service is visible to the + public + state: + type: string + description: >- + Whether or not the service is active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for + services of type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + post: + operationId: marketplace_services_post + summary: Create a new service + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + enum: + - cloud-computing + - content-delivery-network + - edge-computing + - sd-wan + - data-storage + - developer-platform + - internet-service-provider + - security + - video-conferencing + - voice-and-Messaging + - web-hosting + - internet-of-things + - private-connectivity + - bare-metal-hosting + - sip-trunking + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + service_type: + type: string + description: >- + The service type of this service. Defaults to + 'port-service'. + example: port-service + enum: + - port-service + - cloud-router-service + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this service is + associated with. + example: PF-L3-CUST-2001 + route_set: + type: object + required: + - prefixes + properties: + description: + type: string + description: The route set's description + example: User entered description + is_private: + type: boolean + description: Whether this route set is private. Defaults to true. + example: true + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + required: + - name + - published + responses: + '201': + description: Created marketplace service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/quick-connect: + get: + operationId: quick_connect_services_get + summary: Get the collection of Quick Connect services + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: Filters the service list to a specific service-provider customer. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: published + description: >- + Indicates whether to return published services or unpublished + services, used with routing_id param. + schema: + type: boolean + example: true + - required: false + in: query + name: category + description: >- + Filters the service list to a specific category. Allows multiple + comma-separated values. + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: l3nf_id + description: Filters the service list by the attached cloud router id. + schema: + type: integer + example: 1000 + - required: false + in: query + name: q + description: Filters services by partial name, description or service uuid + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - description + - name + - uuid + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all Quick Connect services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/{service_uuid}: + get: + operationId: marketplace_services_get_by_uuid + summary: Get a single service object + tags: + - Marketplace + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + responses: + '200': + description: Service object matching requested UUID + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + patch: + operationId: marketplace_services_put_by_uuid + summary: Update a service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + responses: + '200': + description: Details of updated service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + delete: + operationId: marketplace_services_delete_by_uuid + summary: Delete a marketplace service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Service deleted successfully + /v2/marketplace/services/{service_uuid}/image: + get: + operationId: marketplace_services_get_image + summary: Get a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's image + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + delete: + operationId: marketplace_services_delete_image + summary: Delete a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Image deleted + description: Operation status + post: + operationId: marketplace_services_post_image + summary: Update a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Image to be set for the service + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Image set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/marketplace/services/{service_uuid}/thumbnail: + get: + operationId: marketplace_services_get_thumbnail + summary: Get a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's thumbnail + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + post: + operationId: marketplace_services_post_thumbnail + summary: Update a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Thumbnail to be set for the service + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Thumbnail set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Thumbnail set successfully + description: Operation status + /v2/marketplace/services/{service_uuid}/route-set: + get: + operationId: marketplace_service_get_route_set + summary: Returns the Route Set associated with the Marketplace Service. + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/marketplace/industries: + get: + operationId: industries_get + summary: Return a list of all possible industries + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible industries + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/marketplace/service-provider-types: + get: + operationId: service_provider_types_get + summary: Return a list of all possible service provider types + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service provider types + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/marketplace/service-categories: + get: + operationId: service_categories_get + summary: Return a list of all possible service categories + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service categories + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-computing + name: + type: string + description: Human-readable name + example: Cloud computing + /v2/maintenances/history: + get: + operationId: maintenances_history_get_list + summary: Get list of individual maintenance histories + description: >- + Get list of individual maintenance histories, one per contact and + associated circuit ID, optionally filtered by uuid + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: The UUID of the target maintenance + schema: + type: string + format: uuid + responses: + '200': + description: List of maintenance histories + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: >- + UUID of the maintenance associated with this + notification + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + details: + type: string + description: Details describing the type of maintenance + example: Routine maintenance + filename: + type: string + description: >- + pdf file with additional details, attached to the email + notification + example: attachment.pdf + time_sent: + type: string + format: date-time + description: Date and time when this notification was sent + example: '2020-11-01T10:00:00.00000' + contact_first_name: + type: string + description: Contacted person's first name + example: John + contact_last_name: + type: string + description: Contacted person's last name + example: Doe + contact_email: + type: string + description: Contacted person's email address + example: me@here.com + vc_circuit_id: + type: string + description: circuit ID of an affected Virtual Circuit + example: PF-BC-SAC-SMF-1234 + port_circuit_id: + type: string + description: circuit ID of an affected Port + example: PF-AP-WDC1-1000 + cr_connection_circuit_id: + type: string + description: circuit ID of an affected Cloud Router connection + example: PF-L3-CON-2345 + pop: + type: string + description: POP name + example: WDC1 + /v2/maintenances/notifications: + get: + operationId: maintenances_notification_get_list + summary: Get maintenance notifications list filtered by uuid, action or type + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: >- + The UUID of the maintenance details object that notifications were + sent in relation to. + schema: + type: string + format: uuid + - required: false + in: query + name: action + description: Maintenance action + schema: + type: string + enum: + - open + - update + - close + - cancel + - reminder + - required: false + in: query + name: type + description: Type of maintenance + schema: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + - required: false + in: query + name: start + description: Filter by maintenance start date/time. + schema: + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + - required: false + in: query + name: end + description: Filter by maintenance end date/time. + schema: + type: string + format: date-time + example: '2020-01-01T14:30:00.000Z' + responses: + '200': + description: List of maintenance notification objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the maintenance details object + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + jira_key: + type: string + description: jira_key + example: NOC-9182 + type: + type: string + enum: + - open + - update + - close + - cancel + - reminder + description: Maintenance type + example: open + action: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + description: Maintenance action + example: upgrade + input: + type: object + description: Empty object. Included for backwards compatibility + example: {} + exclude: + type: array + description: List of IFDs excluded from the notification + example: + - PF-AP-BOS2-6313 + items: + type: string + time_start: + type: string + format: date-time + description: Date and time when this maintenance starts + example: '2020-11-01T10:00:00.00000' + time_end: + type: string + format: date-time + description: Date and time when this maintenance ends + example: '2020-11-01T12:00:00.00000' + time_created: + type: string + format: date-time + description: Date and time when this maintenance was created + example: '2020-11-01T09:57:58.00000' + time_updated: + type: string + format: date-time + description: Date and time when this maintenance was last updated + example: '2020-11-01T09:57:58.00000' + port_circuit_ids: + type: array + description: List of affected port IDs + example: + - PF-AP-LAX1-1234567 + - PF-AP-LAX1-2345678 + items: + type: string + vc_circuit_ids: + type: array + description: List of affected Virtual Circuit IDs + example: + - PF-BC-SAC-SMF-1234 + - PF-BC-SAC-SMF-2345 + items: + type: string + cr_connection_circuit_ids: + type: array + description: List of affected Cloud Router Connection circuit IDs + example: + - PF-L3-CON-1234 + items: + type: string + pops: + type: array + description: List of affected POP names + example: + - LAX1 + - NYC1 + items: + type: string + system_wide: + type: boolean + description: true if this maintenance is system-wide, false otherwise + example: false + /v2/maintenances/by-location: + get: + operationId: maintenances_by_location + summary: Get current and future maintenances by pop name and/or market code + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: pop_names_list + description: >- + Filter to maintenances that affect this pop, or the market that + contains this pop. Can be specified multiple times to filter by + multiple pops. + schema: + type: string + example: WDC1 + - required: false + in: query + name: market_codes_list + description: >- + Filter to maintenances that affect this market. Can be specified + multiple times to filter by multiple markets + schema: + type: string + example: WDC + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/maintenances/by-service/{circuit_id}: + get: + operationId: maintenances_by_service + summary: Get current and future maintenances that affect a given service + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the service for which to fetch maintenances + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/metrics/ifd/errors/{port_circuit_id}: + get: + operationId: ifd_errors + summary: List of IFD errors + description: > + Returns an array of arrays containing IFD errors. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • IFD state id
  • +
  • Error RX discard
  • +
  • Error RX drop
  • +
  • Error RX fifo
  • +
  • Error RX framing
  • +
  • Error RX l2 channel
  • +
  • Error RX l2 mismatch timeout
  • +
  • Error RX l3 incomplete
  • +
  • Error RX resource
  • +
  • Error RX runt
  • +
  • Error RX unspecified
  • +
  • Error TX aged
  • +
  • Error TX carrier
  • +
  • Error TX collision
  • +
  • Error TX drop
  • +
  • Error TX fifo
  • +
  • Error TX link crc
  • +
  • Error TX mtu
  • +
  • Error TX resource
  • +
  • Error TX unspecified
  • +
  • Ethernet RX code violations
  • +
  • Ethernet RX crc Errors
  • +
  • Ethernet RX fifo Errors
  • +
  • Ethernet RX fragment frames
  • +
  • Ethernet RX jabber frames
  • +
  • Ethernet RX oversized frames
  • +
  • Ethernet TX crc Errors
  • +
  • Ethernet TX fifo Errors
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD Errors + content: + application/json: + schema: + type: array + items: + type: array + items: + anyOf: + - type: number + format: float + - type: integer + example: + - 1590988980 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/temperature/{port_circuit_id}: + get: + operationId: ifd_temperature + summary: Optic temperature + description: > + Array of arrays that contain optic temperature values recorded in + Celcius degrees (°C). The items in the arrays are not named in order to + avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • Temperature value (in °C)
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD optic temperature + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591112400 + - 26.100000381469727 + - - 1591112460 + - 26.100000381469727 + - - 1591112520 + - 26.100000381469727 + - - 1591112580 + - 26 + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: + operationId: ifd_optic_data + summary: Optics light level data + description: > + Array of arrays that contain optic light levels data, separated by lane. + The items in the arrays are not named in order to avoid increasing the + response payload size. Here's an ordered list of all the names of + the items being sent:
    +
  • UNIX timestamp
  • +
  • Module temperature
  • +
  • Module voltage
  • +
  • Lane 0 bias current
  • +
  • Lane 0 output power
  • +
  • Lane 0 RX dbm
  • +
  • Lane 1 bias current
  • +
  • Lane 1 output power
  • +
  • Lane 1 RX dbm
  • +
  • Lane 2 bias current
  • +
  • Lane 2 output power
  • +
  • Lane 2 RX dbm
  • +
  • Lane 3 bias current
  • +
  • Lane 3 output power
  • +
  • Lane 3 RX dbm
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing IFD optic light level values. + Note: null values are possible + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591115100 + - 37.03333282470703 + - 3.2487778663635254 + - 36.41600036621094 + - null + - -1.6155555248260498 + - 36.435001373291016 + - null + - -0.6155555844306946 + - 36.47600173950195 + - null + - -1.4766666889190674 + - 36.494998931884766 + - null + - -1.1344444751739502 + /v2/metrics/ifd/whatcast/{port_circuit_id}: + get: + operationId: ifd_whatcast + summary: Broadcast, Multicast and Unicast data for a given IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) + broadcast, multicast and unicast values. The items in the arrays are not + named in order to avoid increasing the response payload size. Here's an + ordered list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • State id
  • +
  • RX Broadcast
  • +
  • RX Multicast
  • +
  • RX Unicast
  • +
  • TX Broadcast
  • +
  • TX Multicast
  • +
  • TX Unicast
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing broadacast, unicast and multicast values + for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591115340 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/rate/{type}/{port_circuit_id}: + get: + operationId: ifd_rate + summary: Traffic rate (bps/pps) by IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given IFD. The average, minimum and maximum values are a + representation of the average, minimum and maximum traffic values + (respectively) per datapoint when an `interval` param is used. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 1705 + - 1527 + - 1882 + - 2345 + - 2165 + - 2525 + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}: + get: + operationId: ifl_rate + summary: Traffic rate (bps/pps) by port circuit id + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given logical interface (IFL). The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: vc_circuit_id + description: VC circuit id + example: PF-BC-DA1-DA1-1234567 + schema: + type: string + - required: true + in: path + name: port_circuit_id + description: Port circuit id + example: PF-AP-DAL1-12345 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/customer/ifl/rate/{type}: + get: + operationId: ifl_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFL + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by logical interface (IFL). The + average, minimum and maximum values are a representation of the average, + minimum and maximum traffic values (respectively) per datapoint when an + `interval` param is used. The items in the arrays are not named in order + to avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFL ID
  • +
  • IFL State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFLs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118940 + - 4286 + - 1984736 + - 2707 + - 2579 + - 2835 + - 2713 + - 2564 + - 2863 + /v2/metrics/customer/ifl/summary/{type}: + get: + operationId: ifl_summary_by_customer + summary: Summary of all IFL traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + logical interfaces (IFLs) that belong to the current customer. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFLs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591119720 + - 4108784189 + - - 1591119780 + - 3892492190 + - - 1591119840 + - 3333090005 + /v2/metrics/customer/ifd/rate/{type}: + get: + operationId: ifd_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFD + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by IFD. The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFD ID
  • +
  • IFD State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFDs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591120020 + - 1050 + - 3699429 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/customer/ifd/summary/{type}: + get: + operationId: ifd_summary_by_customer + summary: Summary of all IFD traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + interfaces (IFDs) that belong to the current customer. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFDs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591120260 + - 3837395341 + - - 1591120320 + - 3816877153 + - - 1591120380 + - 4034748323 + /v2/metrics/customer/longhaul-usage: + get: + operationId: longhaul_usage_by_customer + summary: Summary of all traffic per day for the current customer + description: > + Array of TrafficRollup objects containing transferred (TX) and received + (RX) bytes aggregated by day belonging to the current customer with the + possibility to filter for a single logical interface (IFL) and/or + multiple Virtual Circuits (VC). + tags: + - Metrics + parameters: + - required: false + in: query + name: vc_circuit_id + description: Virtual Circuit (VC) identifier + schema: + type: string + - required: false + in: query + name: vc_circuit_id_list + description: List of Virtual Circuit (VC) identifiers + schema: + type: array + items: + type: string + - required: false + in: query + name: include_ifl_data + description: >- + Boolean to indicate whether more information on the logical + interface (IFL) should be returned + schema: + type: boolean + default: false + - required: false + name: include_vc_data + in: query + schema: + type: boolean + default: false + description: >- + Boolean to indicate whether more information on the Virtual Circuit + (VC) should be returned. + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + responses: + '200': + description: > + Array of TrafficRollup objects containing transferred (TX) and + received (RX) bytes aggregated by day belonging to the current + customer. + content: + application/json: + schema: + type: array + items: + type: object + properties: + rollup_date: + type: string + format: date + description: > + An ISO 8601 formatted date string, such as "2020-06-23". + It determines the day the TrafficRollup corresponds to. + customer_id: + type: integer + description: The integer ID of the corresponding customer + vc_circuit_id: + type: string + description: >- + The string identifier of the corresponding virtual + circuit (VC) + bytes_tx: + type: integer + description: The amount of transferred bytes, as an integer + bytes_rx: + type: integer + description: The amount of received bytes, as an integer + example: + - rollup_date: '2020-06-23' + customer_id: 1000 + vc_circuit_id: PF-IX-LAX-ATL-2005 + bytes_tx: 10000 + bytes_rx: 10000 + ifl_data: null + vc_data: null + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: + operationId: ifl_rate_by_cloud_router_connection + summary: Traffic rate (bps/pps) of a Layer 3 Interface by cloud router connection + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given layer 3 logical interface (IFL). The average, minimum + and maximum values are a representation of the average, minimum and + maximum traffic values (respectively) per datapoint when an `interval` + param is used. The items in the arrays are not named in order to avoid + increasing the response payload size. Here's an ordered list of + all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given L3IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: + operationId: get_ipsec_stats_by_circuit_id + summary: Get IPSec statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: IPSec statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + decrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 4313760 + encrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 5143232 + ike_input_bytes: + type: integer + example: 842026 + description: The number of IKE input bytes into the IPSec connection. + ike_output_bytes: + type: integer + example: 645975 + description: The number of IKE output bytes into the IPSec connection. + local_address: + type: string + example: 23.159.0.6 + description: The local address of this connection. + remote_address: + type: string + example: 52.9.103.65 + description: The remote address of this connection. + ike_state: + type: string + example: matured + description: The IKE state of this connection. + enum: + - matured + - not_matured + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: + operationId: get_nat_stats_by_circuit_id + summary: Get NAT statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: NAT statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + address_ranges: + type: array + items: + type: string + description: The address ranges of this connection. + example: + - 185.161.1.35-185.161.1.35 + port_range: + type: string + description: The port range of this connection. + example: 1024-65535 + ports_in_use: + type: integer + example: 43 + description: The number of ports in use. + max_ports_in_use: + type: integer + description: The maximum number of ports in use. + example: 734 + /v2/ports/{port_circuit_id}: + get: + operationId: get_port + summary: Get port info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + patch: + operationId: update_port + summary: Update a port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + properties: + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Full details of the updated port including modified fields + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + delete: + operationId: delete_port + summary: Delete port + description: > + Use this endpoint to delete port/interface. You cannot delete port using + this endpoint if + + there are billing restrictions or port is the part of other active + product + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port to delete + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port deleted successfully + /v2/ports/{port_circuit_id}/device-info: + get: + operationId: get_port_device_info + summary: Get port device info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + responses: + '200': + description: Various details of a physical device port + content: + application/json: + schema: + type: object + properties: + adjacent_router: + type: string + device_name: + type: string + device_make: + type: string + admin_status: + type: string + oper_status: + type: string + auto_negotiation: + type: boolean + iface_name: + type: string + speed: + type: string + optics_diagnostics_lane_values: + type: object + properties: + tx_status: + type: string + tx_power_dbm: + type: number + format: float + example: -1.05 + tx_power: + type: number + format: float + example: 0.786 + lane_index: + type: string + example: 0 + rx_status: + type: string + rx_power: + type: number + format: float + example: 0 + rx_power_dbm: + type: number + format: float + example: -35.23 + bias_current: + type: number + format: float + example: 45.532 + polltime: + type: number + format: float + time_flapped: + type: string + traffic_rx_bps: + type: integer + traffic_rx_bytes: + type: integer + traffic_rx_ipv6_bytes: + type: integer + traffic_rx_ipv6_packets: + type: integer + traffic_rx_packets: + type: integer + traffic_rx_pps: + type: integer + traffic_tx_bps: + type: integer + traffic_tx_bytes: + type: integer + traffic_tx_ipv6_bytes: + type: integer + traffic_tx_ipv6_packets: + type: integer + traffic_tx_packets: + type: integer + traffic_tx_pps: + type: integer + wiring_speed: + type: string + example: 10G + wiring_media: + type: string + wiring_module: + type: string + wiring_panel: + type: string + wiring_position: + type: string + wiring_reach: + type: string + wiring_type: + type: string + tx_power_high_alarm_threshold: + type: number + format: float + tx_power_high_alarm_threshold_dbm: + type: number + format: float + tx_power_high_warn_threshold: + type: number + format: float + tx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_high_alarm_threshold: + type: number + format: float + rx_power_high_alarm_threshold_dbm: + type: number + format: float + rx_power_high_warn_threshold: + type: number + format: float + rx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_low_alarm_threshold: + type: number + format: float + rx_power_low_alarm_threshold_dbm: + type: number + format: float + rx_power_low_warn_threshold: + type: number + format: float + rx_power_low_warn_threshold_dbm: + type: number + format: float + lag_speed: + type: integer + device_can_lag: + type: boolean + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + operationId: post_port_loa + summary: Generate and email the LOA for this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + requestBody: + content: + application/json: + schema: + type: object + required: + - loa_customer_name + properties: + loa_customer_name: + description: >- + Customer name to use on the LOA. It may need to be different + than what they use with PacketFabric. + example: Not The Umbrella Corp. + type: string + destination_email: + description: If specified, the LOA will be sent to this address. + type: string + format: email + destination_emails: + type: array + description: An array of destination emails + items: + type: string + description: Destination email + example: user@email.com + responses: + '201': + description: Document created to store the LOA + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/ports/{port_circuit_id}/vlan-summary: + get: + operationId: get_port_vlan_summary + summary: Get a summary of VLANs for a specific port + tags: + - Ports + parameters: + - name: port_circuit_id + in: path + required: true + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - name: include_logical_interfaces + in: query + required: false + description: Include list of logical interfaces for this port + schema: + type: boolean + - name: min_vlan + in: query + required: false + description: Minimum VLAN ID to include in the summary + schema: + type: integer + responses: + '200': + description: Summary of VLANs for a specific port + content: + application/json: + schema: + type: object + properties: + lowest_available_vlan: + description: Lowest available VLAN id for this port + type: integer + example: 4 + max_vlan: + description: Highest used VLAN id for this port + type: integer + logical_interfaces: + type: array + items: + type: object + properties: + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + vlan: + type: integer + example: 6 + inner_vlan_list: + type: array + example: [] + items: + type: integer + untagged: + type: boolean + example: true + rate_limit_in: + type: integer + example: 100 + rate_limit_out: + type: integer + example: 100 + status: + type: string + enum: + - active + - provisioning + disabled: + type: boolean + example: false + description: + type: string + example: GOG to NYC (PF Test Company) + time_created: + type: string + format: date-time + description: Date and time of interface creation + time_updated: + type: string + format: date-time + description: Date and time interface was last updated + tag_type: + type: string + example: single + /v2/ports/{port_circuit_id}/enable: + post: + operationId: enable_port + summary: Enable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port enabled successfully + /v2/ports/{port_circuit_id}/disable: + post: + operationId: disable_port + summary: Disable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port disabled successfully + /v2/ports/{port_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_port_upgrade + summary: Upgrade subscription term on port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to upgrade + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + required: + - subscription_term + description: Subscription term to upgrade to + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '202': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port is being upgraded. + workflow: + type: string + example: Port Upgrade Workflow + description: The type of workflow that has been started. + state: + type: string + example: STARTED + description: The state of the Workflow. + workflow_id: + type: string + example: 02c3efdd-5634-4334-b43d-fc521fff2c05 + description: UUID of the workflow + /v2/ports/{port_circuit_id}/router-logs: + get: + operationId: get_port_router_logs + summary: Get logs for this port's router + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - required: true + in: query + name: time_from + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter from. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - required: true + in: query + name: time_to + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter up to. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + responses: + '200': + description: List of router logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + device_name: + type: string + example: cfr1.pdx1 + iface_name: + type: string + example: XE-0/0/1:3 + message: + type: string + example: >- + cfr1.pdx1 mib2d[11088]: %DAEMON-4-SNMP_TRAP_LINK_UP: + ifIndex 897, ifAdminStatus up(1), ifOperStatus up(1), + ifName xe-0/0/1:3 + severity: + type: integer + example: 4 + description: Severity of the router log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the router log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/ports/{port_circuit_id}/status: + get: + tags: + - Ports + summary: Get Port service status + operationId: port_status2_1 + parameters: + - name: port_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a Port provisioning + content: + application/json: + schema: + type: object + required: + - port_circuit_id + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + description: Current state information + properties: + state: + type: string + description: Current state + description: + type: string + description: Current state description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: port/workflow/provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: List of error messages + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/ports: + get: + operationId: get_port_list + summary: Get port list + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: List of ports optionally filtered by provided parameters + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: port_post + summary: Create a port + description: >- + Creates a port if available in the provided POP based on the requested + speed and media type + tags: + - Ports + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - subscription_term + - pop + - speed + - media + properties: + account_uuid: + type: string + format: uuid + description: ID of a billing account + pop: + type: string + description: Point of Presence for the newly created port + example: LAX1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: CS-LA2 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Duration of the subscription in months + zone: + type: string + description: Availability zone of the port + example: A + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nni: + type: boolean + description: >- + Flag to enable NNI on this port. NNI ports will use a + nni_svlan_tpid value of 0x8100. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this interface + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: Details of the newly created port object + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + /v2/ports/export.csv: + get: + operationId: get_port_list_csv + summary: Export port list to CSV + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_cloud_router + schema: + type: boolean + description: Filter cloud router ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + CSV file with the list of ports optionally filtered by provided + parameters + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/quotes: + get: + operationId: get_portal_quotes + summary: Get quotes for this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: statuses + description: Only include quotes with the given statuses + schema: + type: array + default: + - open + - updating + items: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + - required: false + in: query + name: quote_uuid + description: Only include the quote with this UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's quotes + content: + application/json: + schema: + type: array + items: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. + Cannot be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + post: + operationId: create_portal_quote + summary: Create a quote + tags: + - Portal Quotes + requestBody: + content: + application/json: + schema: + type: object + required: + - title + - billing_contact_uuid + properties: + title: + type: string + description: name for the quote + custom_terms: + type: string + description: Special terms for the quote + billing_contact_uuid: + type: string + format: uuid + description: Billing contact associated with this quote + selected_term: + type: integer + example: 12 + description: >- + the default subscription term for this quote, can be + overridden by individual quote lines + responses: + '201': + description: Created quote + content: + application/json: + schema: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/duplicate: + post: + operationId: duplicate_portal_quote + summary: Duplicate a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + responses: + '201': + description: Duplicated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}: + post: + operationId: add_portal_quote_line + summary: Add a quote line to a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote to add a line to + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - product_type + - product_definition + properties: + selected_term: + type: integer + example: 12 + description: >- + subscription term for this quote line, can override the term + of the parent quote + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + oneOf: + - description: >- + Cloud Dedicated product definition for the + `cloud_dedicated` product type + title: Cloud Dedicated + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: the location of the cloud dedicated port + speed: + type: string + - description: >- + Cloud Hosted product definition for the `cloud_hosted` + product type + title: Cloud Hosted + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + side_z: + type: string + description: the location of the cloud on-ramp port + speed: + type: string + - description: >- + Cloud Router Connection product definition for the + `cr_connection` product type + title: Cloud Router Connection + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + speed: + type: string + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + - description: >- + Cloud Router product definition for the `cloud_router` + product type + title: Cloud Router + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + side_z: + type: string + speed: + type: string + - description: >- + Cross Connect product definition for the `crossconnect` + product type + title: Cross-connect + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + - description: Port product definition for the `port` product type + title: Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + ENNI Port product definition for the `port_enni` product + type + title: ENNI Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + Point-to-point product definition for the `pointtopoint` + product type + title: Point-to-point + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + - description: >- + Backbone VC product definition for the `vcbwc` product + type + title: Backbone VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + bandwidth_type: + type: string + enum: + - dedicated + - usage + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + description: not required for bandwidth_type=usage VCs + - description: >- + Cloud Dedicated VC product definition for the + `cloud_dedicated_vc` product type + title: Dedicated Cloud VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + responses: + '201': + description: Added quote line + content: + application/json: + schema: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: the details of the product represented by this quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: price per GB transferred for a usage-based service + type: number + format: float + nullable: true + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + get: + operationId: get_portal_quote_details + summary: Get a quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote + schema: + type: string + format: uuid + responses: + '200': + description: Quote details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: >- + price per GB transferred for a usage-based + service + type: number + format: float + nullable: true + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + patch: + operationId: update_portal_quote + summary: Update a quote + description: > + What updates are allowed for a quote is dependent on the status of the + quote. + + Only `open` and `updating` quotes can have properties other than + `status` updated. + + - `open` quotes + - can transition to `cancelled` or `finalized` + - can have other properties updated + - `cancelled` quotes + - cannot transition to any other status + - no properties can be updated + - can be duplicated + - `finalized` quotes + - can transition to `open` (to update properties or add/delete lines) + - no other properties can be updated + - `finalizing` is a state that indicates a background task is running to + transition the quote from `open` to `finalized` + + - `updating` is a state that indicates a background task is running, but + the quote can otherwise be considered `open` + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to update + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + title: + type: string + custom_terms: + type: string + status: + type: string + enum: + - open + - cancelled + - finalized + selected_term: + type: integer + example: 12 + description: subscription term for this quote + responses: + '200': + description: Updated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: + operationId: delete_portal_quote_line + summary: Delete a quote line + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote + schema: + type: string + format: uuid + - required: true + in: path + name: quote_line_uuid + description: the UUID of the quote line to delete + schema: + type: string + format: uuid + responses: + '200': + description: Deleted a quote line + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Quote deleted + /v2/quotes/{quote_uuid}/pdf: + get: + summary: Get quote PDF + description: Get quote PDF for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the PDF of the quote with this UUID + responses: + '200': + description: Quote PDF of the given quote + content: + application/pdf: + schema: + type: string + format: binary + description: PDF of the quote + /v2/quotes/{quote_uuid}/csv: + get: + summary: Get quote CSV + description: Get quote CSV for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the CSV of the quote with this UUID + responses: + '200': + description: Quote CSV of the given quote + content: + text/csv: + schema: + type: string + format: binary + description: CSV of the quote + /v2/quotes/{quote_uuid}/publish: + post: + operationId: publish_portal_quote + summary: Publish a quote + description: Only finalized quotes can be published + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - customer_uuid + properties: + customer_uuid: + type: string + format: uuid + description: UUID of the customer to whom this quote should be published + responses: + '201': + description: Published quote + content: + application/json: + schema: + type: object + description: A published quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published: + get: + operationId: get_published_portal_quotes + summary: Get published quotes created by this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: quote_uuid + description: Only include published quotes created from the quote with this UUID + schema: + type: string + format: uuid + - required: false + in: query + name: assigned_customer_uuid + description: >- + Only include published quotes assigned to the customer with this + UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's published quotes + content: + application/json: + schema: + type: array + items: + description: A published quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/assigned: + get: + operationId: get_published_portal_quotes_assigned_to_customer + summary: Get published quotes assigned to this customer + tags: + - Portal Quotes + responses: + '200': + description: List of published quotes assigned to this customer + content: + application/json: + schema: + type: array + items: + description: Published quote details + title: Published quote details + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this + quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of + this product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with + this published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/{published_quote_uuid}: + get: + operationId: get_published_portal_quote_details + summary: Get a published quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: published_quote_uuid + description: UUID of the published quote + schema: + type: string + format: uuid + responses: + '200': + description: Published quote details + content: + application/json: + schema: + type: object + description: Published quote details + title: Published quote details + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with this + published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/request-aliases: + get: + operationId: request_alias_get_list + summary: Get request aliases associated with your account + tags: + - Request Aliases + responses: + '200': + description: Array of Request Alias objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: >- + A list of mappings that this request alias is relevant + to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + post: + operationId: request_alias_post + summary: Add a new request alias to your account + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '201': + description: The new Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + /v2/request-aliases/{request_alias_uuid}: + get: + operationId: request_alias_get + summary: Get a request alias by UUID + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + patch: + operationId: request_alias_patch + summary: Update a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '200': + description: The updated request alias object. + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + delete: + operationId: request_alias_delete + summary: Delete a request alias from your account + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A message confirming the deletion of the request alias. + /v2/request-aliases/{request_alias_uuid}/contacts: + get: + operationId: request_alias_get_contacts + summary: Get all contacts associated with a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A list of contact objects associated with the request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + delete: + operationId: request_alias_delete_contacts + summary: Disassociates several contacts from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + requestBody: + description: The contact UUIDs to dissociate from this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contacts from the request alias. + post: + operationId: request_alias_post_contacts + summary: Associate several contacts with a single request alias. + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + description: The contact UUIDs to associate with this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + responses: + '201': + description: The updated request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}: + delete: + operationId: request_alias_delete_contact + summary: Disassociates a contact from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + - required: true + in: path + name: contact_uuid + description: >- + The UUID of the contact you want to associate with the request + alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contact from the request alias. + /v2/services: + get: + operationId: get_service_list + summary: Get list of current customer's services + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, POP/circuit id of the + interface, or aggregate capacity container + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: List of customer's services + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair + of interfaces + + * evpl supports multiple Ethernet Virtual Connections + per interface + + * evpl-untagged is used when either Source or + Destination interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to + subtract this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/export.csv: + get: + operationId: get_service_list_csv + summary: Get list of current customer's services exported in CSV + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, or POP/circuit id of the + interface + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: CSV file with the list of customer's services + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/{vc_circuit_id}: + get: + operationId: get_service + summary: Get service info + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + patch: + operationId: patch_service + summary: Update service settings + description: >- + Update rate limits, description, VLANs, or untagged status for a service + or its interfaces + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit incoming data by. Set to + null to disable. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit outgoing data by. Set to + null to disable. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + description: VC request + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + operationId: delete_service + summary: Delete a service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status (Legacy) + operationId: vcstatus + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: VC circuit id + example: PF-AP-LAX1-1234 + instance_type: + type: string + description: VC instance type + example: VC + state: + type: string + description: Current workflow step + example: create_interfaces + all_states: + type: array + description: All steps of the current workflow + items: + type: string + all_state_descriptions: + type: object + description: Map of state names to the descriptions + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + properties: + error_message: + type: string + description: Error description + time_created: + description: Time of the workflow creation + type: string + format: date-time + time_updated: + description: Time when the workflow last update + type: string + format: date-time + has_error: + description: True if there an error occured + type: boolean + /v2.1/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status + operationId: vcstatus_2_1 + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: vc/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/{vc_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_service_upgrade + summary: Upgrade service billing terms or speed + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + billing_product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + responses: + '202': + description: Upgrade has started + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/upgrade/options: + get: + operationId: get_service_upgrade_options + summary: Get available upgrade options for a specific service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Available upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + example: false + description: >- + Flag indicating whether or not the interface can be + upgraded. + product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + - metro_dedicated + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + /v2/services/{vc_circuit_id}/burst: + post: + operationId: post_service_burst + summary: Add speed burst, billed hourly, to your circuit. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + speed: + type: string + example: 500Mbps + description: >- + Speed in Mbps of the burst. This bandwidth will be added to + the existing circuit speed. If an existing burst exists, + this speed burst will replace the existing one. Must be a + multiple of 100Mbps. + responses: + '202': + description: VC burst upgrade started + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst upgrade started + delete: + operationId: delete_service_burst + summary: Delete a speed burst, returning circuit to originally configured speed. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC burst deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst deleted successfully + /v2/services/backbone: + post: + operationId: post_service_backbone + summary: Create a backbone or dedicated cloud virtual circuit + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - bandwidth + - interfaces + - epl + properties: + description: + type: string + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interfaces: + description: 2-element array containing data for A and Z interfaces + type: array + minItems: 2 + maxItems: 2 + items: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or + set untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + epl: + type: boolean + description: > + If true, created circuit will be an EPL otherwise EVPL + + * EPL provides Point-to-Point connection between a pair of + interfaces + + * EVPL supports multiple Ethernet Virtual Connections per + interface + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + example: + description: string + po_number: string + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + vlan: 6 + untagged: false + - port_circuit_id: PF-AP-LAS1-2000 + vlan: 7 + untagged: false + rate_limit_in: 1000 + rate_limit_out: 1000 + epl: false + description: VC request + responses: + '201': + description: New backbone connection information + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + example: + vc_circuit_id: PF-BC-SAC1-LAS1-1234567 + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + state: requested + service_type: backbone + service_class: longhaul + mode: evpl + connected: true + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + description: string + po_number: string + rate_limit_in: 1000 + rate_limit_out: 1000 + time_created: '2019-08-24T14:15:22Z' + time_updated: '2019-08-24T14:15:22Z' + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + pop: SAC1 + site: RW-CA3 + site_name: NTT Global Data Centers CA3 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 6 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + - port_circuit_id: PF-AP-LAS1-2000 + pop: LAS1 + site: SW-LAS1 + site_name: Switch Las Vegas 7 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 7 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + /v2/services/third-party: + post: + operationId: post_service_third_party + summary: Create a 3rd-party virtual circuit + description: 3rd-party VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the third-party VC. + example: My Third-party VC + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + The circuit ID of the aggregate capacity container from + which this VC's speed should be subtracted + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + The circuit ID of the flex bandwidth container from which + this VC's speed should be subtracted + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Third-party VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/aws: + post: + operationId: post_aws_marketplace_cloud + summary: Request a hosted AWS Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - aws_account_id + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the AWS Marketplace Cloud connection. + example: My AWS Marketplace Cloud connection + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: The prefix of the customer router. + example: 10.10.10.10/32 + remote_address: + type: string + description: The prefix of the remote router. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existant Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: AWS Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/azure: + post: + operationId: post_azure_marketplace_cloud + summary: Request a hosted Azure Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - azure_service_key + - speed + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Azure Marketplace Cloud connection. + example: My Azure Marketplace Cloud connection + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Azure Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/google: + post: + operationId: post_google_marketplace_cloud + summary: Request a hosted Google Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - google_pairing_key + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Google Marketplace Cloud connection. + example: My Google Marketplace Cloud connection + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Google Hosted Connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Google Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/oracle: + post: + operationId: post_oracle_marketplace_cloud + summary: Request a hosted Oracle Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Oracle + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - account_uuid + - vc_ocid + - region + - pop + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Oracle Marketplace Cloud connection. + example: My Oracle Marketplace Cloud connection + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + description: Oracle Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/ipsec/{circuit_id}: + get: + operationId: ipsec_get + summary: Gets IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + patch: + operationId: ipsec_patch + summary: Updates IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + requestBody: + content: + application/json: + schema: + type: object + properties: + customer_gateway_address: + type: string + description: The Customer-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + /v2/services/ipsec/gateway_address/uniqueness: + get: + operationId: ipsec_gateway_address_uniqueness_check + summary: Checks if IPsec gateway address is unique + tags: + - Cloud Router IPsec + parameters: + - required: true + in: query + name: gateway_address + description: The gateway address we want to check for uniqueness. + schema: + type: string + example: 192.0.10.1 + responses: + '200': + description: success message + content: + application/json: + schema: + type: object + properties: + status: + type: boolean + example: true + /v2/services/ix: + post: + operationId: post_service_ix + summary: Create a IX VC + description: IX VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + - asn + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: IX-Z76-YH87 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Internet Exchange VC. + example: My IX VC + asn: + type: integer + description: ASN + example: 4556 + rate_limit_in: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: IX VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/requests: + get: + operationId: get_service_requests + summary: Get list of VC requests + tags: + - Services + parameters: + - name: type + required: true + in: query + description: Search requests by type + schema: + type: string + enum: + - sent + - received + responses: + '200': + description: List of VC request details + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you + in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there + is only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will + only be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with + which this request is associated. This field will + only be included for VC requests that you created. + /v2/services/requests/{vc_request_uuid}: + get: + operationId: get_service_request + summary: Get VC request by uuid + tags: + - Services + parameters: + - required: true + in: path + name: vc_request_uuid + schema: + type: string + format: uuid + responses: + '200': + description: VC request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + delete: + operationId: delete_service_request + summary: Delete service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + description: UUID of the service request + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + delete_reason: + type: string + description: Reason for deleting the connection request + responses: + '200': + description: Deletion succeeded + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Whether deletion succeeded or not + example: Successfully deleted the service request + /v2/services/requests/{vc_request_uuid}/provision: + post: + operationId: provision_service + summary: Provision requested service + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + description: Provisioning details + properties: + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + operationId: provision_marketplace_cloud + summary: Provision requested Marketplace cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - Oracle + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - provider + description: Marketplace Cloud provisioning details + properties: + provider: + type: string + description: Cloud provider for this connection + enum: + - aws + - azure + - google + - oracle + interface: + oneOf: + - type: object + required: + - port_circuit_id + - vlan + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + - description: >- + Azure Marketplace Cloud interfaces must include + vlan_private, vlan_microsoft, or both. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan_private: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + vlan_microsoft: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + operationId: provision_marketplace_cloud_router_connection + summary: Provision requested Marketplace cloud router connection + tags: + - Cloud Router Third Party + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - bgp_settings + description: Marketplace Cloud Router Connection provisioning details + properties: + interface: + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: >- + The circuit ID of the port to use to create the + connection. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + bgp_settings: + description: >- + Request payload for specifying BGP details for the new + connection. + type: object + required: + - l3_address + - remote_address + - remote_asn + - prefixes + properties: + l3_address: + type: string + description: The L3 Address of this instance. + example: 10.0.0.1/30 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to advertise from the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + local_preference: + type: integer + description: The local preference for the prefix. + example: 100 + minimum: 0 + responses: + '201': + description: Provisioned Cloud Router Connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/requests/{vc_request_uuid}/reject: + post: + operationId: reject_service_request + summary: Reject service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + responses: + '200': + description: Rejected request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + /v2/svlan-labels: + post: + operationId: create_svlan_label + summary: Create SVlan label + description: >- + Create a label to associate with a particular SVlan and port. There can + only be one label for a given SVlan per port. The port must be an NNI + port. + tags: + - SVlan Labels + requestBody: + content: + application/json: + schema: + type: object + required: + - svlan_id + - description + - port_circuit_id + properties: + svlan_id: + type: integer + description: integer between 4 and 4094 inclusive + example: 1357 + description: + type: string + description: name for the label + maxLength: 64 + port_circuit_id: + type: string + description: Circuit ID of the NNI port + example: PF-AP-WDC1-10000 + responses: + '201': + description: Created SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{port_circuit_id}: + get: + operationId: get_svlan_labels_for_port + summary: Get SVlan labels for port + description: Get SVlan labels associated with this port + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Get the SVlan labels for this port + responses: + '200': + description: the SVlan labels for this port + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/mappings: + get: + operationId: get_svlan_labels_for_customer + summary: Get SVlan labels for the logged-in customer + description: Get all the SVlan labels for this customer + tags: + - SVlan Labels + responses: + '200': + description: all of the SVlan labels for this customer + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{svlan_label_uuid}: + patch: + operationId: update_svlan_label + summary: Update this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to update + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: new description for this SVlan label + example: a label for my SVlan + responses: + '200': + description: Updated SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + delete: + operationId: delete_svlan_label + summary: Delete this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to delete + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: SVlan label deleted successfully + /v2/users: + post: + operationId: user_post + summary: Create new user + tags: + - Users + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - login + - password + - first_name + - last_name + - email + - phone + - timezone + - group + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + password: + description: User password. Keep it in secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + example: admin + groups: + description: | + User groups. Deprecated. + type: array + minItems: 1 + items: + type: string + example: + - admin + deprecated: true + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_list + summary: Get list of users + description: Use this endpoint to get users for the current customer + tags: + - Users + parameters: + - in: query + name: q + description: Searches for this string in the user name or e-mail + schema: + type: string + responses: + '201': + description: List of users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}: + patch: + operationId: user_patch + summary: Modify a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: The user with this login will be modified + schema: + type: string + requestBody: + description: | + Details to update the User + content: + application/json: + schema: + type: object + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + password: + type: string + description: > + Password of the user being changed. + + This is required if the user's email is being changed. + + This does not change the user's password, for that use PATCH + /v2/users/{user_login}/password. + example: p4ssw0rd + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + disabled: + description: >- + Set this flag to disable the user. Disabled users will not + be able to login + type: boolean + example: false + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + responses: + '200': + description: Modified user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_by_login + summary: Fetch user details by a user login + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch + schema: + type: string + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + delete: + operationId: user_delete_by_login + summary: Deletes a user + tags: + - Users + parameters: + - required: true + in: path + description: Login of the user to delete + name: user_login + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted + /v2/users/{uuid}: + get: + operationId: user_get_by_uuid + summary: Fetch user details by a UUID + tags: + - Users + parameters: + - required: true + description: UUID of the user to fetch + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}/groups: + get: + deprecated: true + operationId: user_get_group_list + summary: Get the list of groups of a given user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch groups for + schema: + type: string + responses: + '200': + description: List of groups of a user + content: + application/json: + schema: + type: array + items: + type: string + description: Group name + example: + - admin + - regular + /v2/users/{user_login}/groups/{group_name}: + post: + deprecated: true + operationId: user_add_group + summary: Add user to group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: User login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to add user to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User successfully added to group + delete: + deprecated: true + operationId: user_delete_group + summary: Delete a user from a given group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to delete user from. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted from the group + /v2/users/request-password-reset: + post: + operationId: user_request_password_reset + security: [] + summary: Sends the user an email with a link to reset a forgotten password + tags: + - Users + requestBody: + description: Login of the user to request the password reset for + content: + application/json: + schema: + type: object + required: + - user_login + properties: + user_login: + type: string + description: Login of the user to request the password reset for + responses: + '200': + description: Confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: >- + You'll receive an email with instructions to reset your + password + /v2/users/reset-password: + post: + operationId: user_reset_password + security: [] + summary: Sets a new password for a user + tags: + - Users + requestBody: + description: Password reset details + content: + application/json: + schema: + type: object + required: + - new_password + - rt + properties: + new_password: + type: string + description: New password for the user + example: p4ssw0rd + rt: + type: string + description: Reset token from the e-mail + responses: + '200': + description: Reset confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/{user_login}/password: + patch: + operationId: user_update_password + summary: Sets a new password for a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Password of the user with this login will be modified + schema: + type: string + requestBody: + description: Password update details + content: + application/json: + schema: + type: object + required: + - new_password + - old_password + properties: + new_password: + type: string + description: New password for the user, at least 8 characters long + example: p4ssw0rd + old_password: + type: string + description: Current password for the user + example: p4ssw0rd + responses: + '200': + description: Password changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/mfa/setup: + post: + operationId: user_mfa_setup + summary: Generate a user secret and scratch codes + description: > + Generates a new user secret and 3 new scratch codes used for + multi-factor authentication.
**Note:** this replaces any previous + secret with a new one and remaining scratch codes with three new ones. + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + secret: + type: string + description: secret used to setup multi-factor authentication apps + example: HAZWMZRXME4DALJUGEYDALJUGYZWILJZHBRDGLLDHBTGGZJRHFRTEYRYMI + codes: + description: Single-use scratch codes + type: array + minItems: 3 + items: + type: string + example: + - '123456' + - '654321' + - 72839 + /v2/users/mfa/enable: + post: + operationId: user_mfa_enable + summary: Enable multi-factor authentication for the user + description: > + This enables multi-factor authentication for the user. By requiring an + authentication code to be sent we make sure that users have properly + setup their authentication app of choice, thus avoiding inadvertently + locking a user out of their account. + tags: + - Multi-Factor Authentication + requestBody: + description: Multi-factor authentication details + content: + application/json: + schema: + type: object + required: + - authentication_code + properties: + authentication_code: + type: string + description: Multi-factor authentication code + example: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/disable: + post: + operationId: user_mfa_disable + summary: Disable multi-factor authentication for the user + description: > + Deletes all trace of multi-factor authentication for the user in + question. This includes the scratch codes and the secret. + tags: + - Multi-Factor Authentication + requestBody: + description: User password + content: + application/json: + schema: + type: object + required: + - password + properties: + password: + type: string + description: Password for the user + example: p4ssw0rd + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/qrcode: + get: + operationId: user_mfa_qrcode + summary: Return a QR code image used for setup + description: > + Returns a QR code image that can be used to setup a multi-factor + authentication app like Google Authenticator.
**Note:** for + security reasons, this image will only be available for the five minutes + that follow the moment when a new secret code is generated + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + image/png: + schema: + type: string + format: binary + /v2/team-invites: + post: + operationId: team_signup_user_post_list + summary: >- + Sign-up and send invitation emails to a list of new users, assigned to + current customer + tags: + - TeamSignup + requestBody: + description: | + Details to invite the User with + content: + application/json: + schema: + type: array + items: + type: object + required: + - email + - group + properties: + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning + of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + email_sent: + description: >- + Flag indicating that the invitation email has been + successfully sent + type: boolean + get: + operationId: team_signup_user_get_list + summary: Get list of team signup invitations + description: Use this endpoint to get all invited users for the current customer + tags: + - TeamSignup + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}: + get: + operationId: team_signup_get_user + security: [] + summary: Get details of a team signup invitation + description: Use this endpoint to get details of a specific user invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}/resend: + post: + operationId: resend_team_signup_invitation + summary: Resend team invitation + description: Resend team invitation to the potential user + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Invitation has been resent + /v2/team-invites/{signup_uuid}/user: + post: + operationId: team_signup_register_user_post + security: [] + summary: Create a new user based on team signup invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - password + - first_name + - last_name + - phone + - timezone + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + password: + description: User password. Keep it secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/objects/{circuit_id}/labels: + put: + operationId: update_object + summary: Update an object label + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: An array of label values to be associated with an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + patch: + operationId: add_object + summary: Add to an object's labels + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: >- + An array of label values to be added to the already existing + labels of an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + get: + operationId: get_object_labels + summary: Get the Labels associated with an object + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object + schema: + type: string + responses: + '200': + description: A list of labels associated with an object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value linked to an object + example: staging + /v2/outbound-cross-connects: + post: + operationId: outbound_cross_connect_post + summary: Create a new outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-SO-ME-111 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this cross + connect should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: + - port + - site + - document_uuid + responses: + '202': + description: Outbound Cross Connect Object + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Outbound Cross Connect is being created + description: >- + This message lets you know that the cross connect has + started provisioning. + get: + operationId: outbound_cross_connect_list + summary: Get the outbound cross connects associated with the current customer + tags: + - Outbound Cross Connects + parameters: + - required: false + in: query + name: port + schema: + type: string + description: List OBCC by port_circuit_id + example: port-circuit-id + - required: false + in: query + name: show_deleted + schema: + type: boolean + description: Include deleted OBCCs in list + example: true + responses: + '200': + description: List of outbound cross connects + content: + application/json: + schema: + type: array + items: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: >- + Z-side company name for the far side of the cross + connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + get: + operationId: outbound_cross_connect_get + summary: Get a single outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + delete: + operationId: outbound_cross_connect_delete + summary: Delete an outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect successfully deleted + patch: + operationId: outbound_cross_connect_patch + summary: Patch a single outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + user_description: + type: string + example: description for the cross connect + description: user_description to use for the cross connect + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + /v2/services/point-to-point/{ptp_uuid}: + get: + tags: + - PTP Services + summary: Get point-to-point service info + operationId: getptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID or Circuit ID of the point-to-point service to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Point-to-point service details + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + tags: + - PTP Services + summary: Delete a point-to-point service + operationId: deleteptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to delete + schema: + type: string + format: uuid + responses: + '200': + description: >- + Successfully started the delete process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + patch: + tags: + - PTP Services + summary: Update a point-to-point service + description: Updates the description of the point-to-point service + operationId: patchptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to update + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Details of updated point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point: + get: + tags: + - PTP Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter PTPs by description, circuit id, or POP/circuit id/market of + the interfaces + example: LAX + summary: Get all point-to-point services + operationId: ptplist + responses: + '200': + description: List of point-to-point services for current customer + content: + application/json: + schema: + type: array + items: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + post: + tags: + - PTP Services + summary: Create a point-to-point service + operationId: PTP Services.post_point_to_point + requestBody: + description: Create a point-to-point connection between two POPs + content: + application/json: + schema: + type: object + required: + - description + - endpoints + - speed + - media + - account_uuid + - subscription_term + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: false + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + endpoints: + type: array + items: + type: object + required: + - pop + - zone + - autoneg + properties: + pop: + type: string + description: POP name + example: PDX1 + zone: + type: string + description: Availability zone + example: A + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + autoneg: + type: boolean + loa: + type: string + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: true + responses: + '201': + description: Details of created point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point/{ptp_uuid}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status (Legacy) + operationId: ptpstatus + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch status for + schema: + type: string + format: uuid + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - instance_id + - instance_type + - state + - all_state_descriptions + - all_states + properties: + instance_id: + type: string + format: uuid + instance_type: + type: string + enum: + - PointToPoint + state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_states: + type: array + items: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_state_descriptions: + type: object + properties: + Requested: {} + IFDsCreated: {} + VCCreated: {} + BillingAdded: {} + Testing: {} + BillingEnabled: {} + Active: {} + ReservationRemoved: {} + BillingRemoved: {} + IFLsDestroyed: {} + VCDestroyed: {} + IFDsDestroyed: {} + Inactive: {} + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + required: + - error_message + - time_created + properties: + error_message: + type: string + time_created: + type: string + format: date-time + current_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + current_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + next_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + next_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + transition: + type: string + enum: + - doCreateIFDs + - doCreateVC + - doAddBilling + - doRemoveReservation + - doActivate + - doRemoveBilling + - doDestroyVC + - doDestroyIFDs + - doInactivate + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + has_error: + type: boolean + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status + operationId: ptpstatus2_1 + parameters: + - name: ptp_circuit_id + in: path + required: true + description: Circuit ID of the point-to-point service to fetch status for + schema: + type: string + example: PF-PD-NYC-AUS-1734406 + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: ptp/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + tags: + - PTP Services + summary: Upgrade a point-to-point service to a new subscription term + deprecated: true + operationId: PTP Services.post_point_to_point_upgrade + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to upgrade + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + required: false + responses: + '200': + description: >- + Successfully started the upgrade process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: + tags: + - PTP Services + summary: >- + Get upgrade options for a point-to-point service upgrade to a new + subscription term + operationId: PTP Services.get_point_to_point_upgrade_options + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch upgrade options for + schema: + type: string + format: uuid + responses: + '200': + description: >- + Upgrade availability and available options for point-to-point + service upgrade + content: + application/json: + schema: + type: object + required: + - upgrade_available + - subscription_term + properties: + upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + /v2/services/cloud-routers: + get: + operationId: cloud_routers_list + summary: Returns a list of cloud routers associated with the current account. + tags: + - Cloud Routers + responses: + '200': + description: A list of Cloud Routers. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + post: + operationId: cloud_routers_create + summary: Creates a new Cloud Router and then returns it. + tags: + - Cloud Routers + requestBody: + description: Request payload for creating a new Cloud Router. + content: + application/json: + schema: + type: object + required: + - name + - account_uuid + - capacity + properties: + scope: + type: string + deprecated: true + description: >- + Whether the cloud router is private or public. (This field + is ignored) + example: private + enum: + - private + - public + asn: + type: integer + example: 4556 + description: >- + The ASN of the instance. Values must be within 64512 - + 65534, or 4556. Defaults to 4556 if unspecified. + default: 4556 + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + regions: + type: array + items: + type: string + description: >- + The code of the region to be used for this Cloud Router. + Optional. + example: US + default: US + enum: + - US + - UK + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + example: 12 + responses: + '201': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/export.csv: + get: + operationId: get_cloud_routers_csv + summary: Download customer cloud routers as csv + tags: + - Cloud Routers + responses: + '200': + description: CSV with list of customer cloud routers + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}: + get: + operationId: cloud_router_get + summary: Returns a cloud router associated with the circuit id. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + patch: + operationId: cloud_routers_patch + summary: Update an existing Cloud Router. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + requestBody: + description: Update an existing Cloud Router. + content: + application/json: + schema: + type: object + properties: + name: + type: string + example: New Super Cool Cloud router + description: The name of this particular CR. + regions: + deprecated: true + type: array + items: + type: string + description: The code of the region to be used for this Cloud Router. + example: US + enum: + - US + - UK + capacity: + deprecated: true + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + delete: + operationId: cloud_router_delete + summary: Deletes a cloud router. Note that all connections must be deleted first. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: Cloud router deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router deleted. + /v2/services/cloud-routers/requests: + get: + operationId: cloud_router_request_get_list + summary: Returns a list of Cloud Router Imports Requests. + parameters: + - required: true + in: query + name: request_type + description: Type of the Cloud Router Import Request. + schema: + type: array + items: + type: string + enum: + - sent + - received + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports Requests. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/requests/{import_circuit_id}: + get: + operationId: cloud_router_request_get + summary: >- + Returns a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Imports Request. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved the + return filter + example: false + delete: + operationId: cloud_router_request_delete + summary: Deletes a Cloud Router Imports Request associated with the circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been deleted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: + operationId: cloud_router_request_accept + summary: >- + Accepts a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been accepted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been accepted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + operationId: cloud_router_request_reject + summary: >- + Rejects a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + requestBody: + description: Request payload for rejecting an import request. + content: + application/json: + schema: + type: object + properties: + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + responses: + '200': + description: The Cloud Router Import Request has been rejected. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been rejected. + description: Operation status + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: + operationId: cloud_routers_bgp_get + summary: List BGP sessions associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + responses: + '200': + description: A list of BGP sessions. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs + to be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The source IP address + mask of the NAT pool + prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + put: + operationId: cloud_routers_bgp_update + summary: Updates an existing BGP session and associated L3 information. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: >- + Request payload for updating an existing BGP session on a cloud + router. + content: + application/json: + schema: + required: + - prefixes + - remote_asn + - l3_address + type: object + properties: + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to be + the subnet. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: >- + The cloud-side address of the instance. Not used for Azure + connections. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. Minimum + for Google is 1000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. Minimum for Google is 5. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + bgp_settings_uuid: + type: string + format: uuid + description: >- + The UUID of the specific BGP session to update, if more than + one are present. + example: 862386eb-df01-436b-8346-e16c8023e4d1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '200': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + post: + operationId: cloud_routers_bgp_create + summary: >- + Creates a new BGP session and associated L3 information on a cloud + router connection and returns it. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: Request payload for creating a new BGP session on a cloud router. + content: + application/json: + schema: + type: object + required: + - remote_asn + properties: + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. Not used for Azure + connections. + example: 10.0.0.1/30 + primary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the primary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + secondary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the secondary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + default: 1 + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + minimum: 3 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. + example: 3 + minimum: 2 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + get: + operationId: cloud_routers_bgp_get_by_uuid + summary: Get a single BGP session associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: A single BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + delete: + operationId: cloud_routers_bgp_delete_by_uuid + summary: Delete a single BGP session from a cloud router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: BGP session deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: BGP Settings deleted successfully + /v2/services/cloud-routers/{circuit_id}/connections: + get: + operationId: cloud_routers_connections + summary: Lists all cloud router connections for a given router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/connections/export.csv: + get: + operationId: get_cloud_routers_connections_csv + summary: Download cloud routers connections as csv + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: cloud_router_circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-1400 + responses: + '200': + description: CSV with list of cloud router connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + operationId: check_bgp_address_uniqueness + summary: Checks to make sure the bgp addresses are unique + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for bgp address uniqueness check + content: + application/json: + schema: + type: object + properties: + l3_address: + type: string + description: The BGP l3 address + example: 10.0.0.1/32 + remote_address: + type: string + description: The BGP cloud-side address + example: 10.0.0.1 + pool_prefix: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + cloud_circuit_id: + type: string + description: >- + The cloud router connection circuit id, to be used during + bgp update uniqueness check. + example: PF-L3-CON-2843831 + bgp_settings_uuid: + type: string + format: uuid + description: >- + The bgp session UUID, to be used during multi-bgp update + uniqueness check. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + responses: + '200': + description: BGP addresses uniqueness check response + content: + application/json: + schema: + type: object + properties: + remote_unique: + type: boolean + description: Indicates whether the remote address is unique. + nullable: true + l3_unique: + type: boolean + description: Indicates whether the l3 address is unique. + nullable: true + pool_prefix_unique: + type: boolean + description: Indicates whether the pool prefix is unique. + nullable: true + /v2/services/cloud-routers/connections: + get: + operationId: cloud_routers_connections_by_customer + summary: Lists all of the customer's cloud router connections. + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: port_circuit_id + description: Filter Dedicated Port connections by their Port Cicuit ID. + schema: + type: string + example: PF-AP-LAB1-123456 + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - time_created + - time_updated + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + patch: + operationId: patch_cloud_router_connection + summary: Update a Cloud Router Connection + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-CC-1234 + requestBody: + description: Update an existing Cloud Router Connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + example: New Super Cool Cloud Router Connection + description: The description of this Cloud Router Connection. + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + get: + operationId: cloud_routers_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + delete: + operationId: cloud_routers_connection_delete + summary: Delete a cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/connections/{circuit_id}: + get: + operationId: cloud_router_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: + operationId: cloud_routers_connections_connection_delete + summary: Delete a cloud router connection. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: Target cloud connection's UUID. + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + operationId: cloud_routers_connections_third_party_create + summary: >- + Creates a new Marketplace Cloud Router Connection request and returns + it. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new marketplace cloud router connection + request. + content: + application/json: + schema: + required: + - account_uuid + - service_uuid + - speed + - pop + - prefixes + type: object + properties: + prefixes: + type: array + description: The prefixes to be advertised to the marketplace service. + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + minimum: 0 + maximum: 5 + med: + type: integer + description: The MED to be advertised for the prefix. + minimum: 0 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + pop: + type: string + description: The desired location for the new Third Party Connection. + example: DAL1 + description: + type: string + description: The description of the Marketplace Cloud Router connection. + example: My Marketplace Cloud Router connection + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + default: 1 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + deprecated: true + operationId: cloud_routers_connections_aws_create + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + public_ip: + type: string + description: >- + The publically allocated IP for this connection, if + present. + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + aws_region: + type: string + description: The region this connection to AWS is in. + example: us-west-1 + aws_hosted_type: + type: string + description: The type of connection. + example: hosted-connection + aws_connection_id: + type: string + description: The AWS connection ID. + example: dxlag-fgk8etlc + aws_account_id: + type: string + description: The customer AWS Account ID. + example: 123456789120 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + operationId: cloud_routers_connections_aws_create_2_1 + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + deprecated: true + operationId: cloud_routers_connections_azure_create + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan + example: 6 + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + example: 7 + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + operationId: cloud_routers_connections_azure_create_2_1 + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + deprecated: true + operationId: cloud_routers_connections_google_create + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + google_pairing_key: + type: string + description: The customer provided google pairing key. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_cust: + type: integer + description: The customer provided Vlan for this connection. + example: 6 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + operationId: cloud_routers_connections_google_create_2_1 + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + deprecated: true + operationId: cloud_routers_connections_ibm_create + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + account_id: + type: string + description: The customer IBM account ID + example: 57a7d05f36894e3cb9b46a43556d903e + gateway_id: + type: string + format: uuid + description: The newly created IBM gateway ID + example: 61c3a9d5-41e8-41f8-bbb4-7eae94dbb006 + port_id: + type: string + format: uuid + example: 6cf0c5e4-de27-4a5e-9cbc-47e8b0701949 + description: The cloud on-ramp port ID + name: + type: string + description: The name of this IBM gateway + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + example: 64999 + bgp_cer_cidr: + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + example: 10.254.30.77/30 + vlan_id_cust: + type: integer + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + operationId: cloud_routers_connections_ibm_create_2_1 + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + operationId: cloud_routers_connections_ipsec_create + summary: Creates a new IPSec connection on a cloud router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new IPSec connection. + content: + application/json: + schema: + required: + - description + - account_uuid + - zone + - pop + - speed + - ike_version + - phase1_authentication_method + - phase1_group + - phase1_encryption_algo + - phase1_authentication_algo + - phase1_lifetime + - phase2_pfs_group + - phase2_encryption_algo + - phase2_lifetime + - gateway_address + - shared_key + type: object + properties: + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - des-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - md5 + - sha-256 + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + minimum: 180 + maximum: 86400 + phase2_pfs_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase2_encryption_algo: + type: string + example: 3des-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-128-gcm + - aes-192-cbc + - aes-192-gcm + - aes-256-cbc + - aes-256-gcm + - des-cbc + phase2_authentication_algo: + type: string + example: hmac-sha-256-128 + enum: + - hmac-md5-96 + - hmac-sha-256-128 + - hmac-sha1-96 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + minimum: 180 + maximum: 86400 + gateway_address: + description: The customer-side (remote) gateway address + type: string + example: 127.0.0.1 + shared_key: + description: The pre-shared-key to use for authentication. + type: string + example: superCoolKey + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + description: The circuit ID of the VC for this connection. + circuit_id: + type: string + description: The circuit ID of the IPSec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The location for the new connection. + example: DAL1 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + deprecated: true + operationId: cloud_routers_connections_oracle_create + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + settings: + type: object + properties: + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: >- + OCID for the Oracle VC to use in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: >- + The OCID of the Oracle cross-connect or cross-connect + group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + port_compartment_ocid: + type: string + description: >- + The OCID of the Oracle compartment containing the + virtual circuit. + example: >- + ocid1.compartment.oc1..aaaaaaaa7izqu3guurglgo3xhpr4otzye4a6bydaxvuigjt3nf2yxbw4mzaa + vlan_id_cust: + type: integer + example: 7 + vlan_id_pf: + type: integer + example: 3000 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + description: >- + OCID for the Oracle VC used in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + bandwidth: + type: string + description: The provisioned data rate of the connection. + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + description: >- + The state of the BGP session associated with the + Oracle VC. + enum: + - DOWN + - UP + compartment_id: + type: string + description: >- + The OCID of the compartment containing the Oracle + VC. + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The OCID of the cross-connect or + cross-connect group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + description: >- + The BGP IPv4 address for the router on the + PacketFabric end of the BGP session. + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + description: >- + The BGP IPv6 address for the router on the + PacketFabric end of the BGP session. + type: string + oracle_bgp_peering_ip: + type: string + description: >- + The IPv4 address for Oracle's end of the BGP + session. + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + description: >- + The IPv6 address for Oracle's end of the BGP + session. + type: string + vlan: + type: integer + format: int64 + description: >- + The number of the VLAN that is assigned to + this Oracle VC. + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric end + of the BGP session. + example: 5555 + gateway_id: + type: string + description: >- + The OCID of the customer's dynamic routing gateway + (DRG) that this Oracle VC uses. + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + description: The Oracle VC's current state. + enum: + - PROVISIONING + - PENDING_PROVIDER + - VERIFYING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle BGP ASN + example: 31898 + provider_state: + type: string + description: >- + PacketFabric's state in relation to this Oracle + VC. ACTIVE means PacketFabric has provisioned the + VC. INACTIVE means PacketFabric has not yet + provisioned the VC, or has de-provisioned it. + enum: + - ACTIVE + - INACTIVE + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + operationId: cloud_routers_connections_oracle_create_2_1 + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + operationId: cloud_routers_connections_packetfabric_create + summary: Attaches a customer-owned port to a Cloud Router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new customer-owned port cloud router + connection. + content: + application/json: + schema: + required: + - account_uuid + - port_circuit_id + - description + - speed + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + description: + type: string + description: The description of this connection. + example: Test description + untagged: + type: boolean + description: >- + Whether or not the customer port is untagged. Do not specify + a VLAN if this is to be an untagged connection. + example: true + vlan: + type: integer + description: The desired vlan to use on the customer-owned port. + example: 6 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + operationId: cloud_routers_connection_status + summary: Get cloud connection instance status + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Connection Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudGoogle + state: + type: string + description: The state of the connection + example: Active + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - InstanceValidated + - VCCreated + - CloudProviderProvisioningPending + - CloudProviderProvisioningComplete + - SOFCreated + - BillingAdded + - CloudConnectionCreated + - Layer3InterfaceProvisioning + - RoutingInstanceProvisioning + - Active + - BillingRemoved + - CloudProviderProvisioningRemoved + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + VCCreated: EVPL virtual circuit created. Billing is being set up. + CloudProviderProvisioningPending: Notifying Azure of ExpressRoute configuration. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + CloudConnectionCreated: Cloud Router Connection has been created + Layer3InterfaceProvisioning: >- + Layer3 interface for Cloud Router Connection is being + provisioned + RoutingInstanceProvisioning: >- + Routing instance for Cloud Router Connection is being + provisioned + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: + operationId: cloud_routers_connection_upgrade_options + summary: Get cloud connection upgrade options + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + description: Flag to indicate if connection is upgradable + speed: + type: array + description: List of available speed for connection + items: + type: string + description: Connection speed + example: 1Gbps + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_connection_bgp_routes + summary: Get routes for the BGP session of a specific connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + responses: + '200': + description: List of bgp routes for the specified connection. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + tags: + - Cloud Router Connections + summary: Get CR connection status + operationId: cr_connection_status_2_1 + parameters: + - name: circuit_id + in: path + required: true + description: Target's CR Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + - name: connection_circuit_id + in: path + required: true + description: Target's CR Connection Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a CR connection provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_bgp_routes + summary: Get routes for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + - imported + responses: + '200': + description: List of bgp routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: + operationId: get_cloud_router_all_routes + summary: Get all routes for this cloud router + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + responses: + '200': + description: List of routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + origin: + type: string + description: >- + The origin of the route, usually this Cloud Router or + the Circuit ID of the Cloud Router Import. + example: PF-L3-IMP-12768 + as_path: + type: string + description: The route's AS path. + example: 64514 I + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + med: + type: integer + description: The route's MED. + example: -1 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + communities: + type: array + items: + type: string + description: A community of this route + example: '2914:410' + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: + operationId: get_cloud_router_bgp_logs + summary: Get logs for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: false + in: query + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: time_from + description: Get BGP logs starting from this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - required: true + in: query + name: time_to + description: Get BGP logs up until this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + responses: + '200': + description: List of bgp logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + message: + type: string + example: >- + %DAEMON-4-RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer + 127.0.0.1 changed state from OpenConfirm to Established + bgp_peer_ip: + type: string + example: 172.24.0.41 + severity: + type: integer + example: 4 + description: Severity of the bgp log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the bgp log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: + operationId: cloud_router_third_party_get_list + summary: Returns a list of Cloud Router Imports applied on a Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + post: + operationId: cloud_router_third_party_post + summary: Apply a new Cloud Router Import to this Cloud Router Connection. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for importing a third-party service. + content: + application/json: + schema: + required: + - service_uuid + - return_filters + type: object + properties: + service_uuid: + type: string + format: uuid + description: >- + The Service UUID of the third-party service to associate + with the Cloud Router. + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A single Cloud Router Import. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated with + the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + get: + operationId: cloud_router_third_party_get_import + summary: Returns a single Cloud Router Import associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + delete: + operationId: cloud_router_third_party_delete + summary: Remove a Cloud Router Import from this Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '202': + description: Cloud Router Import is being removed. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Router Import is being removed. + patch: + operationId: cloud_router_third_party_patch + summary: Updates a Cloud Router Import associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + requestBody: + description: Request payload for updating an import. + content: + application/json: + schema: + type: object + required: + - return_filters + properties: + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + operationId: cloud_router_third_party_delete_multiple + summary: Remove multiple Cloud Router Imports by Circuit Id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for deleting multiple Cloud Router Imports. + content: + application/json: + schema: + type: object + properties: + import_circuit_ids: + type: array + items: + type: string + example: PF-L3-IMP-123456 + tags: + - Cloud Router Third Party + responses: + '202': + description: The Cloud Router Imports are being deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Imports are being deleted. + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: + operationId: cloud_router_route_set_get_list + summary: Returns a list of Route Sets on this Cloud Router. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of Route Sets. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: + operationId: cloud_router_get_route_set + summary: Returns a single Route Set associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + patch: + operationId: cloud_router_patch_route_set + summary: Updates a Route Set associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + requestBody: + description: Request payload for updating a route set. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: + operationId: cloud_router_get_route_set_connections + summary: Returns the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of connections this Route Set is defined from. + content: + application/json: + schema: + type: array + items: + type: object + properties: + route_set_circuit_id: + type: string + description: Circuit ID of the Route Set. + example: PF-L3-RS-123456 + connection_circuit_id: + type: string + description: Circuit ID of the Cloud Router Connection. + state: + type: string + description: The state of the Connection Link. + example: active + enum: + - active + - provisioning + - deleting + service_uuid: + type: string + description: The uuid of the route_set service + example: ee77f0b3-4dfc-4772-baa7-1d3683589a67 + put: + operationId: cloud_router_put_route_set_connections + summary: Updates the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + requestBody: + description: >- + Request payload for updating a list of connections this Route Set is + defined from. + content: + application/json: + schema: + type: object + properties: + connection_circuit_ids: + type: array + items: + type: string + example: PF-CC-123456 + responses: + '202': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: Route Set Connection Links are being updated. + /v2/services/cloud/hosted/aws: + post: + operationId: aws_hosted_connection_post + summary: Request a new hosted AWS connection. + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - aws_account_id + - account_uuid + - description + - pop + - port + - vlan + - speed + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to AWS. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: >- + The prefix of the customer router. Required for + public VIFs. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The prefix of the remote router. Required for public + VIFs. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required when creating transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: 102 + vlan_id_cust: 4 + svlan_id_cust: null + aws_region: us-east-2 + aws_hosted_type: hosted-connection + aws_connection_id: dxlag-ffll8f52 + aws_account_id: 2345678910 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + credentials_uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/aws: + post: + operationId: aws_dedicated_connection_post + summary: Request a new dedicated AWS connection. + tags: + - Cloud Services - AWS + requestBody: + description: Request payload for creating new AWS Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - aws_region + - account_uuid + - description + - pop + - subscription_term + - service_class + - autoneg + - speed + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 1Gbps + - 10Gbps + should_create_lag: + description: Create the dedicated connection as a LAG interface. + example: true + type: boolean + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: a268133d-fabd-4037-a40b-deb9e223542e + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated connection for Foo Corp. + state: requested + settings: + aws_region: us-east-1 + zone_dest: D + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: + operationId: azure_hosted_service_key_validate_get + summary: Validate an Azure service key. + tags: + - Cloud Services - Azure + parameters: + - required: true + in: path + name: azure_service_key + schema: + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + description: The Service Key provided by Microsoft Azure. + responses: + '200': + description: Azure service key validation response. + content: + application/json: + schema: + type: object + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + is_valid: + type: boolean + description: Whether or not the provided Azure service key is valid. + peering_location: + type: string + description: ExpressRoute peering location + example: Washington DC + speed: + type: string + description: The speed of the ExpressRoute circuit + example: 10Gbps + primary_availability: + type: boolean + description: primary availability of the azure key + example: true + secondary_availability: + type: boolean + description: secondary availability of the azure key + example: false + /v2/services/cloud/hosted/azure: + post: + operationId: azure_hosted_connection_post + summary: Request a new AzureExpressRoute hosted connection. + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - port + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp. + port: + type: string + description: The port to connect to Azure. + example: PF-AP-LAX1-1002 + vlan_private: + type: integer + format: int64 + example: 6 + description: >- + Private peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + vlan_microsoft: + type: integer + format: int64 + example: 7 + description: >- + Microsoft Peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + speed: + deprecated: true + description: >- + The desired speed of the new connection. Must be the same + speed as specified in Azure for your service key. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new Azure ExpressRoute Hosted Connection. + responses: + '201': + description: Successfully created a new AzureExpressRoute hosted connection + content: + application/json: + schema: + type: object + example: + uuid: ba66fac8-2924-428d-aa9d-90f14fa2364f + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-NYC-1744356-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + vc_id_microsoft: 39092 + vc_id_private: 39091 + settings: + vlan_id_private: 6 + vlan_id_microsoft: 7 + svlan_id_customer: null + azure_service_key: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + azure_service_tag: 2 + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan. + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/azure: + post: + operationId: azure_dedicated_connection_post + summary: Request a new AzureExpressRoute dedicated connection. + tags: + - Cloud Services - Azure + requestBody: + description: >- + Request payload for creating new dedicated Azure ExpressRoute + Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + - encapsulation + - port_category + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. + pop: + type: string + description: The desired location for the new Azure dedicated connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + encapsulation: + type: string + enum: + - dot1q + - qinq + port_category: + type: string + enum: + - primary + - secondary + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: 94992688-36ad-4a72-a454-a7bc9085e385 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: dedicated + speed: 10Gbps + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: demo123-azure + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + azure_port_category: primary + settings: + zone_dest: A + autoneg: null + encapsulation: dot1q + properties: + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port. + enum: + - dedicated + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure connection for Foo Corp. + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + azure_port_category: + type: string + description: Category of the Azure port. + enum: + - primary + - secondary + settings: + type: object + properties: + zone_dest: + type: string + example: A + description: destination zone for this connection + encapsulation: + type: string + enum: + - dot1q + - qinq + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/google: + post: + operationId: google_hosted_connection_post + summary: Request a new hosted Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - google_vlan_attachment_name + - description + - port + - vlan + - pop + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + port: + type: string + description: The port to connect to Google. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 384a5fa5-3b03-44df-84d1-48f94101efd1 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-WDC-CHI-1744352-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_cust: 215 + svlan_id_cust: null + google_pairing_key: a2115890-ed02-4795-a6dd-c485bec3529c + google_vlan_attachment_name: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-WDC1-1726464 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_cust: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/google: + post: + operationId: google_dedicated_connection_post + summary: Request a new dedicated Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + description: Request payload for creating new Google Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Google Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: d60f32c0-0ce0-4b07-88a5-b009508851a0 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated-connection-Foo_Corp + state: requested + settings: + zone_dest: A + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/ibm: + post: + operationId: ibm_hosted_connection_post + summary: Request a new hosted IBM connection. + tags: + - Cloud Services - IBM + requestBody: + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - port + - speed + properties: + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP session + with IBM. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session with + the customer. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to IBM. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + type: string + description: The desired zone of the new connection. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new IBM Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: ibm + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: null + vlan_id_cust: 4 + svlan_id_cust: null + account_id: 8128867a1ca242d65a17993232128022b + gateway_id: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: Hosted-connection-Foo_Corp + bgp_asn: 64999 + bgp_cer_cidr: 10.254.30.78/30 + bgp_ibm_cidr: 10.254.30.77/30 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + account_id: + type: string + description: The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP + session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session + with the customer. + example: 10.254.30.77/30 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle: + post: + operationId: oracle_hosted_connection_post + summary: Request a new hosted Oracle connection. + tags: + - Cloud Services - Oracle + requestBody: + description: Request payload for creating new Oracle Hosted Connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + - port + - vlan + properties: + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + port: + type: string + description: The port to connect to Oracle. + example: PF-AP-LAX1-1002 + zone: + type: string + description: The desired zone of the new connection. + example: A + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-CC-WDC-SFO-1744662-PF + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + oracle_region: + type: string + description: The region that the new connection will connect to. + example: us-sanjose-1 + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: Customer Port Circuit ID + example: PF-AP-WDC1-1726464 + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + format: uuid + description: The Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.us-sanjose-1.aaaaaaaa3uylbvopbkhgqiao5vm5ulk7oyxr3knt4rvqfqm5rt5ni5flhuwq + bandwidth: + type: string + description: The speed of the new connection. + example: 1Gbps + bgp_management: + type: string + description: The BGP Management Type. + example: CUSTOMER_MANAGED + bgp_session_state: + type: string + description: The BGP session state. + example: DOWN + compartment_id: + type: string + format: uuid + description: The compartment OCID. + example: >- + ocid1.compartment.oc1..aaaaaaaairiuj3wlr2rozdvr4vptx2qtrricp5o5hibyuk2rujj3drncxexq + cross_connect_mappings: + type: array + description: Cross connect mappings. + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + example: dd02c7c2232759874e1c20558 + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The Cross Connect or Cross Connect group + OCID. + format: uuid + example: >- + ocid1.crossconnectgroup.oc1.us-sanjose-1.aaaaaaaadsgug2hwvbkimite6hbupnt3k75klhqvq4dw5re7zrrwulslkhea + customer_bgp_peering_ip: + type: string + example: 169.254.247.41/30 + description: The customer BGP peering IPv4. + customer_bgp_peering_ipv6: + type: string + description: The customer BGP peering IPv6. + example: None + oracle_bgp_peering_ip: + type: string + description: The Oracle BGP peering IPv4. + example: 169.254.247.42/30 + oracle_bgp_peering_ipv6: + type: string + description: The Oracle BGP peering IPv6. + example: None + vlan: + type: integer + format: int64 + example: 103 + description: Vlan range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + customer_asn: + type: integer + format: int64 + description: The customer ASN for use in the BGP session. + example: 5555 + defined_tags: + type: object + freeform_tags: + type: object + gateway_id: + type: string + format: uuid + description: The gateway OCID. + example: >- + ocid1.drg.oc1.us-sanjose-1.aaaaaaaa5tvcbacgf366sjf5cm5m6vg2yuk3ibzbanzlmwrupjq6xaxl75dq + lifecycle_state: + type: string + description: The lifecucle state. + example: PROVISIONING + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle ASN for use in the BGP session. + example: 31898 + provider_service_id: + type: string + format: uuid + description: The provider Service OCID. + example: >- + ocid1.providerservice.oc1.us-sanjose-1.aaaaaaaarexwwfagkbd432tes33oz6cbgoeeqku7ze544mpeiykv2kr4nvaa + provider_state: + type: string + description: The provider state. + example: ACTIVE + reference_comment: + type: string + description: The reference comment. + example: ba16fd1d-6e72-45a0-85f0-4d5fa07cac29 (activated) + service_type: + type: string + description: The service type. + example: LAYER2 + type: + type: string + description: The conneciton type. + example: PRIVATE + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: + operationId: cloud_oracle_vc_ocid_status + summary: Get current status of Oracle side VC + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: vc_ocid + schema: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + description: Oracle side VC identifier + - name: region + required: false + description: Oracle region for this VC OCID + in: query + schema: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + responses: + '200': + description: Current status of Oracle VC + content: + application/json: + schema: + type: object + properties: + vc_ocid: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + bandwidth: + type: string + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + enum: + - UP + - DOWN + compartment_id: + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + cross_connect_or_cross_connect_group_id: + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + type: string + oracle_bgp_peering_ip: + type: string + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + type: string + vlan: + type: integer + format: int64 + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + example: 5555 + gateway_id: + type: string + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + enum: + - PENDING_PROVIDER + - VERIFYING + - PROVISIONING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + example: 31898 + provider_state: + type: string + enum: + - ACTIVE + - INACTIVE + public_prefixes: + type: string + reference_comment: + type: string + example: PF-CC-DAL-NYC-2014 (activated) + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: + operationId: cloud_oracle_sync + summary: >- + Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted + connection. + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-DAL-NYC-2009-PF + description: The unique PF circuit ID for this connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/{cloud_circuit_id}: + delete: + operationId: cloud_connection_delete + summary: Delete a cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + responses: + '200': + description: Cloud connection successfully deleted + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + operationId: hosted_cloud_connection_update + summary: Update a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be + 16550, between 64512 and 65534, or between + 4200000000 and 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a hosted cloud connection. + responses: + '200': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_hosted + summary: Upgrade a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + required: + - speed + properties: + speed: + description: > + The new requested speed for this connection. Choices are + provider specific. + + + - **Azure**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, + `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, - **AWS**: `50Mbps`, `100Mbps`, + `200Mbps`, `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, + `2Gbps`, `5Gbps`, `10Gbps` + + - **Google Cloud**: `50Mbps`, `100Mbps`, `200Mbps`, + `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, `20Gbps`, `50Gbps` + + - **IBM**: `50Mbps`, `100Mbps`, `200Mbps`, `500Mbps`, + `1Gbps`, `2Gbps`, `5Gbps` + type: string + example: 100Mbps + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + operationId: dedicated_cloud_connection_update + summary: Update a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a dedicated cloud connection. + responses: + '200': + description: The cloud dedicated connection was updated successfully + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_dedicated + summary: Upgrade a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + description: The billing term, in months, for this connection. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: The service class for the given port. + example: longhaul + enum: + - longhaul + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud dedicated services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Dedicated Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + deprecated: true + operationId: hosted_cloud_patch_ibm + summary: Update an IBM hosted cloud connection + tags: + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for upgrading an IBM hosted cloud connection. + responses: + '201': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/connections/{cloud_circuit_id}: + get: + operationId: get_connection + summary: Get cloud connection info + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: + operationId: get_connection_status + summary: Get cloud connection instance status (Legacy) + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudPacket + - CloudGoogle + - CloudIBM + - CloudSalesforce + - CloudWebex + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - DestIFDCreated + - VCCreated + - BillingAdded + - Active + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + PFIFDSelected: PacketFabric port has been selected. + DestIFDCreated: Destination port has been created. + VCDeleteRequested: Virtual Circuit delete request created. + VCCreated: EVPL virtual circuit created. Billing is being set up. + VCsCreated: Virtual circuits created. Billing is being set up. + VCRequestsSent: Virtual circuits requested. + VCRequestsProvisioned: Virtual circuits provisioned. Billing is being set up. + AWSVIFAllocated: >- + Successfully provisioned AWS virtual interface. Billing + is being set up. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + AWSVIFRemoved: >- + Successfully removed AWS Virtual Interface. Deleting + PacketFabric logical interfaces. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + IFLsDestroyed: >- + Virtual circuit logical interfaces deleted. Virtual + circuit will be deleted. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + VCsDestroyed: >- + Virtual circuits deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: + operationId: get_connection_upgrade_options + summary: Get cloud connection instance upgrade options + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + required: + - upgrade_available + properties: + upgrade_available: + type: boolean + service_class_upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: array + items: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + /v2/services/cloud/connections/hosted: + get: + operationId: get_connections_hosted_list + summary: >- + Get list of current customer's hosted cloud connections. Output is only + paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: List of customer's hosted cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + is_cloud_router_connection: + type: boolean + description: >- + Whether or not this is a Cloud Router hosted + connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud + provider side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/hosted/export.csv: + get: + operationId: get_connections_hosted_list_csv + summary: >- + Get CSV with the list of current customer's hosted cloud connections. + Output is only paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: CSV with the list of customer's hosted cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud/connections/dedicated: + get: + operationId: get_connections_dedicated_list + summary: Get list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: List of customer's dedicated cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple + LAG member ports + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/dedicated/export.csv: + get: + operationId: get_connections_dedicated_list_csv + summary: Get CSV with the list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: CSV with the list of customer's dedicated cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2.1/services/cloud/connections/{ident}/status: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get Cloud status + operationId: cloud_status_2_1 + parameters: + - name: ident + in: path + required: true + description: Cloud UUID + schema: + type: string + example: 2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6 + responses: + '200': + description: Cloud provisioning status + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + example: PF-AE-LAB1-1234 + description: Cloud Circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + description: Object's state + deleted: + type: boolean + description: Is object deleted + current: + type: object + description: Current state information + properties: + state: + type: string + description: State name + description: + type: string + description: State description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: cloud/workflow/dedicated_aws_provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: Error message + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: + operationId: get_router_config + summary: Get router configuration + tags: + - Cloud Services - AWS + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: router_type + description: Router Type Identifier. + schema: + type: string + enum: + - CiscoSystemsInc-2900SeriesRouters-IOS124 + - CiscoSystemsInc-3700SeriesRouters-IOS124 + - CiscoSystemsInc-7200SeriesRouters-IOS124 + - CiscoSystemsInc-Nexus7000SeriesSwitches-NXOS51 + - CiscoSystemsInc-Nexus9KSeriesSwitches-NXOS93 + - JuniperNetworksInc-MMXSeriesRouters-JunOS95 + - JuniperNetworksInc-SRXSeriesRouters-JunOS95 + - JuniperNetworksInc-TSeriesRouters-JunOS95 + - PaloAltoNetworks-PA3000and5000series-PANOS803 + example: CiscoSystemsInc-2900SeriesRouters-IOS124 + responses: + '200': + description: Cloud Router Configuration + content: + application/json: + schema: + type: object + properties: + router_config: + type: string + description: The Router Configuration as a string. + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: + operationId: get_aws_regions + summary: Get available AWS regions + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: AWS regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + region: + type: string + description: The AWS region + example: us-east-1 + region_description: + type: string + description: The AWS region description + example: US East (N. Virginia) + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_aws_resources + summary: Get AWS resources in the given region + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east-1 + responses: + '200': + description: AWS resources in the given region + content: + application/json: + schema: + type: object + properties: + networks: + type: array + items: + type: object + properties: + vpc_id: + type: string + description: The ID of the VPC + example: vpc-055e127037787824 + vpc_cidr: + type: string + description: The CIDR block of the VPC + example: 192.168.1.0/24 + subnets: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + cidr: + type: string + description: The CIDR block of the subnet + example: 172.31.0.0/20 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + gateways: + type: array + items: + type: object + properties: + type: + type: string + description: >- + The type of gateway (e.g. "directconnect", + "private", or "transit") + example: private + name: + type: string + description: The name of the gateway + example: Test Gateway + id: + type: string + description: The ID of the gateway + example: vgw-0617396786c32764c7 + asn: + type: integer + description: The Autonomous System Number (ASN) of the gateway + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + subnets: + type: array + description: >- + The subnets associated with the transit gateway (if + applicable) + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + directconnect_gw_id: + type: string + description: >- + The ID of the direct connection gateway that this + gateway is associated with. + example: b2c5c07e-1518-437f-9b90-10726bd391k2 + attachment_type: + type: string + description: The attachment type of this DirectConnect Gateway. + enum: + - private + - transit + example: private + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: + operationId: get_google_regions + summary: Get available Google regions + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: Google regions + content: + application/json: + schema: + type: array + items: + type: string + description: The name of the Google region + example: us-west1 + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_google_resources + summary: Get Google resources in the given region + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east1 + - required: false + in: query + name: project_id + description: >- + Name of the chosen project_id. Defaults to the project_id of the + credentials. + schema: + type: string + example: example-project + responses: + '200': + description: Google resources in the given region + content: + application/json: + schema: + type: object + properties: + google_vlan_attachments: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the VLAN Attachment + example: example-vlan-name + google_pairing_key: + type: string + description: The pairing key of the VLAN Attachment + example: .... + google_cloud_router: + type: string + description: >- + The name of the Google Clour Router this Attachment + is attached to. + example: example-router + google_cloud_routers: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Cloud Router + example: example-router + asn: + type: integer + description: >- + The Autonomous System Number (ASN) of the Cloud + Router + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + network: + type: string + description: The name of the network the Cloud Router is on + example: default + networks: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Network + example: example-network + cidr: + type: string + description: The CIDR of this network + example: 10.138.0.0/20 + vpc: + type: string + description: The name of the associated VPC + example: default + /v2/services/cloud/credentials: + get: + operationId: cloud_provider_credentials_get + summary: Get all cloud provider credentials + tags: + - Cloud Provider Credentials + responses: + '200': + description: List of Cloud Provider Credentials + content: + application/json: + schema: + type: array + items: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is + unused and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + post: + operationId: cloud_provider_credential_post + summary: Create a new Cloud Provider Credential. + tags: + - Cloud Provider Credentials + requestBody: + content: + application/json: + schema: + type: object + required: + - cloud_provider + - cloud_credentials + properties: + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '201': + description: Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}: + delete: + operationId: cloud_provider_credential_delete + summary: Delete a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: Cloud Provider Credential deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Provider Credential deleted. + patch: + operationId: cloud_provider_credential_update + summary: Update a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '200': + description: Updated Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: + operationId: cloud_provider_credential_connections_get + summary: Get all connections tied to this cloud provider credential + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: List of Connections tied to this Cloud Provider Credential + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + description: The circuit_id of the connection + type: string + example: PF-L3-CON-1234 + description: + description: The description of the connection + type: string + example: Test Connection + _links: + type: object + properties: + connection: + type: string + description: Link to the Connection + example: >- + https://api.packetfabric.com/v2/cloud-routers/connections/PF-L3-CON-1234 + /v2/signup/email-validation: + get: + operationId: signup_email_validation + security: [] + summary: Check email address + description: Check if an email address is valid for signup + tags: + - Signup + parameters: + - required: true + in: query + name: email + description: The email address to be checked + schema: + type: string + example: email@email.com + responses: + '200': + description: A valid email address was checked + '400': + description: The email address was either missing or invalid + /v2/aggregated-capacity: + post: + deprecated: true + operationId: create_aggregate_capacity + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + deprecated: true + operationId: get_aggregate_capacity_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/aggregated-capacity/{aggregate_capacity_id}: + get: + deprecated: true + operationId: get_aggregate_capacity_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + deprecated: true + operationId: delete_aggregate_capacity + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/announcements: + get: + operationId: get_announcement_list + summary: Get all active announcements for the current customer + tags: + - Announcements + responses: + '200': + description: An object containing a list of active announcements + content: + application/json: + schema: + type: object + properties: + announcements: + type: array + items: + type: object + properties: + announcement_uuid: + type: string + format: uuid + description: UUID of the announcement + title: + type: string + description: Title of the announcement + example: Announcement title + description: + type: string + description: Description of the announcement + example: Announcement description + start_date: + type: string + format: date-time + description: Date and time when the announcement becomes active + end_date: + type: string + format: date-time + description: >- + Date and time when the announcement stops being + active + /v2/services/ipam/contacts: + get: + operationId: ipam_contact_get_list + summary: Get the IPAM contacts associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with + a country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + post: + operationId: ipam_contact_post + summary: Add the contact for the current customer + tags: + - IPAM + requestBody: + description: Request payload for IPAM contact creation + content: + application/json: + schema: + type: object + required: + - name + - email + - phone + - address + - country_code + properties: + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: The phone number of the IPAM contact + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + responses: + '201': + description: Created IPAM contact details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + /v2/services/ipam/contacts/{ipam_contact_uuid}: + get: + operationId: ipam_contact_get + summary: Get an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: IPAM contact + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + delete: + operationId: ipam_contact_delete + summary: Delete an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Contact deleted successfully + /v2/services/ipam/prefixes: + get: + operationId: ipam_prefix_get_list + summary: Get the IPAM prefixes associated with the current customer + tags: + - IPAM + parameters: + - name: market + in: query + required: false + description: The market code to filter by. + schema: + type: string + example: NYC + responses: + '200': + description: List of IPAM prefixes + content: + application/json: + schema: + type: array + items: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: >- + Whether the current prefix in use will + renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + post: + operationId: ipam_prefix_post + summary: Allocate a new IPAM prefix + tags: + - IPAM + requestBody: + description: Request payload for IPAM prefix creation + content: + application/json: + schema: + type: object + required: + - length + properties: + length: + type: integer + description: >- + The length of the IPAM prefix. 25-32 for ipv4 and 48-64 for + ipv6. + market: + type: string + description: The market of the IPAM prefix. Only for ipv4. + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address_family of the IPAM prefix + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + address: + type: string + description: >- + The address of the IPAM prefix, required for ARIN prefixes + if org_id was not provided + city: + type: string + description: >- + The city of the IPAM prefix, required for ARIN prefixes if + org_id was not provided + postal_code: + type: string + description: >- + The postal code of the IPAM prefix, required for ARIN + prefixes if org_id was not provided + org_id: + type: string + description: The org_id of the IPAM prefix + ipj_details: + type: object + properties: + planned_prefix: + type: object + required: + - usage_30d + - usage_3m + - usage_6m + - usage_1y + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + required: + - prefix + - ips_in_use + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + responses: + '201': + description: Created IPAM prefix details + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + /v2/services/ipam/prefixes/{prefix_circuit_id}: + get: + operationId: ipam_prefix_get + summary: Get an IPAM Prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: IPAM prefix + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + delete: + operationId: ipam_prefix_delete + summary: Delete an IPAM prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Prefix deleted successfully + /v2/services/ipam/asns: + get: + operationId: ipam_asn_get_list + summary: Get the IPAM ASNs associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM ASNs + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + post: + operationId: ipam_asn_post + summary: Allocate a new IPAM ASN + tags: + - IPAM + requestBody: + description: Request payload for IPAM ASN creation + content: + application/json: + schema: + type: object + properties: + asn_byte_type: + type: integer + enum: + - 2 + description: >- + Whether to allocate a 2 or 4 byte ASN. Only 2 byte ASNs are + supported for now. + default: 2 + responses: + '201': + description: Created IPAM ASN details + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + /v2/services/ipam/asns/{asn}: + get: + operationId: ipam_asn_get + summary: Get an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: IPAM ASN + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + delete: + operationId: ipam_asn_delete + summary: Delete an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: ASN deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: ASN deleted + /v2/services/high-performance-internet: + get: + operationId: hpi_get_list + summary: Get HPIs associated with the current customer + tags: + - High Performance Internet + responses: + '200': + description: List of HPIs + content: + application/json: + schema: + type: array + items: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + post: + operationId: hpi_post + summary: Create a new HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI creation + content: + application/json: + schema: + type: object + required: + - port_circuit_id + - speed + - vlan + - description + - account_uuid + - routing_configuration + properties: + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + responses: + '202': + description: Created HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + /v2/services/high-performance-internet/{hpi_circuit_id}: + get: + operationId: hpi_get + summary: Get a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: HPI + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + put: + operationId: hpi_put + summary: Update a HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI update + content: + application/json: + schema: + type: object + required: + - description + - routing_configuration + properties: + description: + type: string + description: The description of the HPI + example: HPI for customer A + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '202': + description: Updated HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + delete: + operationId: hpi_delete + summary: Delete a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: HPI deleted successfully + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: + operationId: hpi_get_bgp_list + summary: Get the bgp routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of BGP routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_state: + type: string + description: The state of the BGP session + example: established + address_family: + type: string + description: The address family of the BGP session + example: v4 + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: + operationId: hpi_get_static_list + summary: Get the static routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of static routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: The remote_address of the static routing configuration + address_family: + type: string + description: The address family of the static routing configuration + example: v4 + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the static routing configuration + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: + operationId: hpi_get_status + summary: Get HPI status + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Status of an HPI provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-L3-TRAN-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string +components: + securitySchemes: + BearerAuth: + type: http + scheme: bearer diff --git a/sdks/db/custom-request-specs/rated.network.yaml b/sdks/db/custom-request-specs/rated.network.yaml new file mode 100644 index 000000000..0fc459ed5 --- /dev/null +++ b/sdks/db/custom-request-specs/rated.network.yaml @@ -0,0 +1,8436 @@ +openapi: 3.1.0 +info: + title: Rated API Beta + description: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators + and individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) + version: 0.0.1 +paths: + /v0/pricingPlans: + get: + tags: + - Pricing + summary: Get Pricing Plans + operationId: get_pricing_plans_v0_pricingPlans_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PricingPlan' + type: array + title: Response Get Pricing Plans V0 Pricingplans Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness + operationId: >- + get_effectiveness_v0_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorEffectiveness' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness Aggregation + operationId: get_effectiveness_aggregation_v0_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: To + name: to + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/FilterTypeEnum' + default: day + name: filterType + in: query + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__page__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedValidatorEffectivenessDataOrAggregation + '307': + description: Validators aggregation requested by valid PubKeys + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators: + get: + tags: + - Validators + - Validators + summary: Get Metadata List + operationId: get_metadata_list_v0_eth_validators_get + parameters: + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + maximum: 200 + exclusiveMinimum: 0 + title: Size + default: 100 + name: size + in: query + - required: false + schema: + items: + anyOf: + - type: string + - type: string + type: array + title: Operatorsids + name: operatorsIds + in: query + - required: false + schema: + type: string + title: Withdrawaladdress + name: withdrawalAddress + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolOrNodeOperatorIdType' + default: nodeOperator + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}: + get: + tags: + - Validators + summary: Get Metadata + operationId: get_metadata_v0_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorMetadata' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/apr: + get: + tags: + - Validators + summary: Get Apr + operationId: get_apr_v0_eth_validators__validator_index_or_pubkey__apr_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorApr' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators: + get: + tags: + - Operators + summary: Get Summaries + operationId: get_summaries_v0_eth_operators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolType' + default: all + name: poolType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/IdType' + default: depositAddress + name: idType + in: query + - required: false + schema: + type: integer + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 15 + name: size + in: query + - required: false + schema: + type: string + title: Parentid + name: parentId + in: query + - description: Use parentId + required: false + deprecated: true + schema: + type: string + title: Parententity + description: Use parentId + name: parentEntity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/percentiles: + get: + tags: + - Operators + summary: Get Percentiles + operationId: get_percentiles_v0_eth_operators_percentiles_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Percentile' + type: array + title: Response Get Percentiles V0 Eth Operators Percentiles Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}: + get: + tags: + - Operators + summary: Get Operator + operationId: get_operator_v0_eth_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Operator' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/effectiveness: + get: + tags: + - Operators + summary: Get Effectiveness + operationId: get_effectiveness_v0_eth_operators__operator_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectiveness' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/relayers: + get: + tags: + - Operators + summary: Get Relayer Stats + operationId: get_relayer_stats_v0_eth_operators__operator_id__relayers_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 30d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: >- + Response Get Relayer Stats V0 Eth Operators Operator Id + Relayers Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/apr: + get: + tags: + - Operators + summary: Get Operator Apr + operationId: get_operator_apr_v0_eth_operators__operator_id__apr_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorApr' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/summary: + get: + tags: + - Operators + summary: Get Operator Summary + operationId: get_operator_summary_v0_eth_operators__operator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/stakeMovement: + get: + tags: + - Operators + summary: Get Activations Exits Aggregate + operationId: >- + get_activations_exits_aggregate_v0_eth_operators__operator_id__stakeMovement_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ActivationsExitsAggregate' + type: array + title: >- + Response Get Activations Exits Aggregate V0 Eth Operators + Operator Id Stakemovement Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/stats: + get: + tags: + - Network + summary: Get Network Stats + operationId: get_network_stats_v0_eth_network_stats_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkStats' + type: array + title: Response Get Network Stats V0 Eth Network Stats Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/overview: + get: + tags: + - Network + summary: Get Network Overview + operationId: get_network_overview_v0_eth_network_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkOverview' + type: array + title: Response Get Network Overview V0 Eth Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity: + get: + tags: + - Network + summary: Get Network Churn Capacity + operationId: get_network_churn_capacity_v0_eth_network_capacity_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacity' + type: array + title: >- + Response Get Network Churn Capacity V0 Eth Network Capacity + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity/pool: + get: + tags: + - Network + summary: Get Network Churn Capacity Pool + operationId: get_network_churn_capacity_pool_v0_eth_network_capacity_pool_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacityPool' + type: array + title: >- + Response Get Network Churn Capacity Pool V0 Eth Network + Capacity Pool Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards: + get: + tags: + - Network + summary: Get Network Daily Rewards + operationId: get_network_daily_rewards_v0_eth_network_dailyRewards_get + parameters: + - description: The starting date (UTC) to return. For example, 2024-01-01. + required: false + schema: + title: From + description: The starting date (UTC) to return. For example, 2024-01-01. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedNetworkDailyConsensusExecutionRewards + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards/{date}: + get: + tags: + - Network + summary: Get Daily Rewards By Day + operationId: get_daily_rewards_by_day_v0_eth_network_dailyRewards__date__get + parameters: + - required: true + schema: + title: Date + name: date + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/operators/{operator_id}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Operator + operationId: >- + get_withdrawals_predicted_by_operator_v0_eth_withdrawals_predicted_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWithdrawalsPredicted' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Slot + operationId: >- + get_withdrawals_predicted_by_slot_v0_eth_withdrawals_predicted_slot__withdrawal_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Withdrawal Slot + name: withdrawal_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: >- + Response Get Withdrawals Predicted By Slot V0 Eth Withdrawals + Predicted Slot Withdrawal Slot Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/selfReports/validators: + post: + tags: + - Self Reports + summary: Report Validators + operationId: report_validators_v0_selfReports_validators_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReportIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReport' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/overview: + get: + tags: + - Slashings + summary: Get Slashing Overview + operationId: get_slashing_overview_v0_eth_slashings_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingOverview' + type: array + title: Response Get Slashing Overview V0 Eth Slashings Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/leaderboard: + get: + tags: + - Slashings + summary: Get Slashing Leaderboard + operationId: get_slashing_leaderboard_v0_eth_slashings_leaderboard_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SlashingRole' + default: slashed + name: slashingRole + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingLeaderboard' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/cohortAnalysis: + get: + tags: + - Slashings + summary: Get Slashing Cohort Analysis + operationId: get_slashing_cohort_analysis_v0_eth_slashings_cohortAnalysis_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingCohortAnalysis' + type: array + title: >- + Response Get Slashing Cohort Analysis V0 Eth Slashings + Cohortanalysis Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/timeseries: + get: + tags: + - Slashings + summary: Get Slashing Time Series + operationId: get_slashing_time_series_v0_eth_slashings_timeseries_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingTimeSeries' + type: array + title: >- + Response Get Slashing Time Series V0 Eth Slashings Timeseries + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings: + get: + tags: + - Slashings + summary: Get Slashing Penalties All + operationId: get_slashing_penalties_all_v0_eth_slashings_get + parameters: + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/{validator_index_or_pubkey}: + get: + tags: + - Slashings + summary: Get Slashing Penalties + operationId: get_slashing_penalties_v0_eth_slashings__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/geographical: + get: + tags: + - P2P (Beta) + summary: Get P2P Geographical Distribution + operationId: get_p2p_geographical_distribution_v0_eth_p2p_geographical_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/P2PGeographicalDistribution' + type: array + title: >- + Response Get P2P Geographical Distribution V0 Eth P2P + Geographical Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/hostingProvider: + get: + tags: + - P2P (Beta) + summary: Get P2P Hosting Provider Distribution + operationId: get_p2p_hosting_provider_distribution_v0_eth_p2p_hostingProvider_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedP2PHostingProviderDistribution' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks: + get: + tags: + - Blocks + summary: Get Blocks + operationId: get_blocks_v0_eth_blocks_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBlocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks/{consensus_slot}: + get: + tags: + - Blocks + summary: Get Blocks By Slot + operationId: get_blocks_by_slot_v0_eth_blocks__consensus_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Consensus Slot + name: consensus_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Blocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/effectiveness: + get: + tags: + - Polygon Validators + summary: Validator Checkpoint Effectiveness + operationId: >- + validator_checkpoint_effectiveness_v0_polygon_validators__validator_id__effectiveness_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - description: >- + The starting checkpoint or date (UTC) to return. For example, 41100 + or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + name: from + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}: + get: + tags: + - Polygon Validators + summary: Validator Metadata + operationId: validator_metadata_v0_polygon_validators__validator_id__get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators: + get: + tags: + - Polygon Validators + summary: Validator Summaries + operationId: validator_summaries_v0_polygon_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - description: The delegator address to filter by. + required: false + schema: + type: string + title: Delegatoraddress + description: The delegator address to filter by. + name: delegatorAddress + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/summary: + get: + tags: + - Polygon Validators + summary: Validator Summary + operationId: validator_summary_v0_polygon_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/network/overview: + get: + tags: + - Polygon Network + summary: Get Network Overview + operationId: get_network_overview_v0_polygon_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PolygonNetworkOverview' + type: array + title: Response Get Network Overview V0 Polygon Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators: + get: + tags: + - Polygon Delegators + summary: Delegator Summaries + operationId: delegator_summaries_v0_polygon_delegators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/summary: + get: + tags: + - Polygon Delegators + summary: Delegator Summary + operationId: delegator_summary_v0_polygon_delegators__delegator_address__summary_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonDelegatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/rewards: + get: + tags: + - Polygon Delegators + summary: Delegator Rewards + operationId: delegator_rewards_v0_polygon_delegators__delegator_address__rewards_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: from + in: query + - description: >- + The ending (lowest) checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + required: false + schema: + title: To + description: >- + The ending (lowest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: to + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - description: Maximum number of time periods (days or checkpoint) in the results. + required: false + schema: + type: integer + minimum: 0 + title: Size + description: >- + Maximum number of time periods (days or checkpoint) in the + results. + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/overview: + get: + tags: + - Solana Network + summary: Get Network Overview + operationId: get_network_overview_v0_solana_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SolanaNetworkOverview' + type: array + title: Response Get Network Overview V0 Solana Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/validatorDistributions: + get: + tags: + - Solana Network + summary: Get Validator Distributions + operationId: get_validator_distributions_v0_solana_network_validatorDistributions_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorDistributions' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/rewards: + get: + tags: + - Solana Validators + summary: Validator Rewards + operationId: validator_rewards_v0_solana_validators__validator_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance: + get: + tags: + - Solana Validators + summary: Validator Performance + operationId: >- + validator_performance_v0_solana_validators__validator_id__performance_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance/latency: + get: + tags: + - Solana Validators + summary: Validator Latency + operationId: >- + validator_latency_v0_solana_validators__validator_id__performance_latency_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: Slot to get vote latency from. + required: false + schema: + type: integer + minimum: 0 + title: From + description: Slot to get vote latency from. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}: + get: + tags: + - Solana Validators + summary: Validator Metadata + operationId: validator_metadata_v0_solana_validators__validator_id__get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators: + get: + tags: + - Solana Validators + summary: Validator Summaries + operationId: validator_summaries_v0_solana_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/summary: + get: + tags: + - Solana Validators + summary: Validator Summary + operationId: validator_summary_v0_solana_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags: + get: + summary: Get Tags + operationId: get_tags_v1_tags_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + tags: + - Tags + summary: Create Tag + operationId: create_tag_v1_tags_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}: + get: + summary: Get Tag + operationId: get_tag_v1_tags__id__get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + summary: Update Tag + operationId: update_tag_v1_tags__id__patch + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdateIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/tags/{id}/validators: + get: + summary: Get Tag Validators + operationId: get_tag_validators_v1_tags__id__validators_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + summary: Add Validators + operationId: add_validators_v1_tags__id__validators_post + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ValidatorTag' + type: array + title: Response Add Validators V1 Tags Id Validators Post + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}/validators/{pubkey}: + delete: + summary: Remove Validator + operationId: remove_validator_v1_tags__id__validators__pubkey__delete + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: true + schema: + type: string + title: Pubkey + name: pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '204': + description: Successful Response + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/effectiveness: + get: + summary: Get Entity Effectiveness + operationId: get_entity_effectiveness_v1_eth_entities__entity_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/attestations: + get: + summary: Get Entity Attestations + operationId: get_entity_attestations_v1_eth_entities__entity_id__attestations_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/proposals: + get: + summary: Get Entity Proposals + operationId: get_entity_proposals_v1_eth_entities__entity_id__proposals_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/effectiveness: + get: + summary: Get Validators Effectiveness + operationId: get_validators_effectiveness_v1_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/attestations: + get: + summary: Get Validators Attestations + operationId: get_validators_attestations_v1_eth_validators_attestations_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/proposals: + get: + summary: Get Validators Proposals + operationId: get_validators_proposals_v1_eth_validators_proposals_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + summary: Get Validator Effectiveness + operationId: >- + get_validator_effectiveness_v1_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + summary: Get Validator Attestations + operationId: >- + get_validator_attestations_v1_eth_validators__validator_index_or_pubkey__attestations_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + summary: Get Validator Proposals + operationId: >- + get_validator_proposals_v1_eth_validators__validator_index_or_pubkey__proposals_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/effectiveness: + get: + summary: Get Set Effectiveness + operationId: get_set_effectiveness_v1_eth_sets__set_id__effectiveness_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/attestations: + get: + summary: Get Set Attestations + operationId: get_set_attestations_v1_eth_sets__set_id__attestations_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/proposals: + get: + summary: Get Set Proposals + operationId: get_set_proposals_v1_eth_sets__set_id__proposals_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/rewards: + get: + summary: Get Entity Rewards + operationId: get_entity_rewards_v1_eth_entities__entity_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/penalties: + get: + summary: Get Entity Penalties + operationId: get_entity_penalties_v1_eth_entities__entity_id__penalties_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + summary: Get Validator Rewards + operationId: >- + get_validator_rewards_v1_eth_validators__validator_index_or_pubkey__rewards_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + summary: Get Validator Penalties + operationId: >- + get_validator_penalties_v1_eth_validators__validator_index_or_pubkey__penalties_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/rewards: + get: + summary: Get Private Set Rewards + operationId: get_private_set_rewards_v1_eth_sets__set_id__rewards_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/penalties: + get: + summary: Get Private Set Penalties + operationId: get_private_set_penalties_v1_eth_sets__set_id__penalties_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/summaries: + get: + summary: Get Entities Summaries + operationId: get_entities_summaries_v1_eth_entities_summaries_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/summaries: + get: + summary: Get Entity Summaries + operationId: get_entity_summaries_v1_eth_entities__entity_id__summaries_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities: + get: + summary: Get Entities + operationId: get_entities_v1_eth_entities_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}: + get: + summary: Get Entity + operationId: get_entity_v1_eth_entities__entity_id__get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators: + get: + summary: Get Validators + operationId: get_validators_v1_eth_validators_get + parameters: + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}: + get: + summary: Get Validator + operationId: get_validator_v1_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' +components: + schemas: + ActivationsExitsAggregate: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + stakeAction: + $ref: '#/components/schemas/StakeAction' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgEpochsToAction: + type: integer + minimum: 0 + title: Avgepochstoaction + avgMinutesToAction: + type: number + minimum: 0 + title: Avgminutestoaction + amountGwei: + type: integer + minimum: 0 + title: Amountgwei + type: object + required: + - timeWindow + - id + - idType + - stakeAction + - validatorCount + - avgEpochsToAction + - avgMinutesToAction + title: ActivationsExitsAggregate + AprType: + type: string + enum: + - backward + - forward + title: AprType + description: An enumeration. + Blocks: + properties: + epoch: + type: integer + minimum: 0 + title: Epoch + consensusSlot: + type: integer + minimum: 0 + title: Consensusslot + consensusBlockRoot: + type: string + title: Consensusblockroot + executionBlockNumber: + type: integer + minimum: 0 + title: Executionblocknumber + executionBlockHash: + type: string + title: Executionblockhash + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + feeRecipient: + type: string + title: Feerecipient + totalType0Transactions: + type: integer + minimum: 0 + title: Totaltype0Transactions + totalType2Transactions: + type: integer + minimum: 0 + title: Totaltype2Transactions + totalTransactions: + type: integer + minimum: 0 + title: Totaltransactions + totalGasUsed: + type: integer + minimum: 0 + title: Totalgasused + baseFeePerGas: + type: integer + minimum: 0 + title: Basefeepergas + totalBurntFees: + type: integer + minimum: 0 + title: Totalburntfees + totalType2TxFees: + type: integer + minimum: 0 + title: Totaltype2Txfees + totalType0TxFees: + type: integer + minimum: 0 + title: Totaltype0Txfees + totalPriorityFees: + type: integer + minimum: 0 + title: Totalpriorityfees + baselineMev: + type: integer + minimum: 0 + title: Baselinemev + executionProposerDuty: + type: string + title: Executionproposerduty + executionRewards: + type: integer + minimum: 0 + title: Executionrewards + missedExecutionRewards: + type: integer + minimum: 0 + title: Missedexecutionrewards + consensusProposerDuty: + type: string + title: Consensusproposerduty + consensusRewards: + type: integer + minimum: 0 + title: Consensusrewards + missedConsensusRewards: + type: number + minimum: 0 + title: Missedconsensusrewards + totalRewards: + type: integer + minimum: 0 + title: Totalrewards + totalRewardsMissed: + type: number + minimum: 0 + title: Totalrewardsmissed + totalType1Transactions: + type: integer + minimum: 0 + title: Totaltype1Transactions + totalType1TxFees: + type: integer + minimum: 0 + title: Totaltype1Txfees + blockTimestamp: + type: string + format: date-time + title: Blocktimestamp + totalSanctionedTransactions: + type: integer + minimum: 0 + title: Totalsanctionedtransactions + totalPriorityFeesValidator: + type: integer + minimum: 0 + title: Totalpriorityfeesvalidator + relays: + items: + type: string + type: array + title: Relays + blockBuilderPubkeys: + items: + type: string + type: array + title: Blockbuilderpubkeys + totalType3Transactions: + type: integer + minimum: 0 + title: Totaltype3Transactions + totalType3TxFees: + type: integer + minimum: 0 + title: Totaltype3Txfees + type: object + required: + - epoch + - consensusSlot + - validatorIndex + - executionProposerDuty + - consensusProposerDuty + - relays + - blockBuilderPubkeys + title: Blocks + example: + epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: '2023-10-09T11:00:47' + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + ClientDistribution: + properties: + client: + type: string + title: Client + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - client + - validatorShare + title: ClientDistribution + ClientEffectiveness: + properties: + client: + type: string + title: Client + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - client + - avgValidatorEffectiveness + title: ClientEffectiveness + ClientPercentage: + properties: + client: + type: string + title: Client + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - client + - percentage + title: ClientPercentage + CreateTagIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: CreateTagIn + DistType: + enum: + - all + - pros + title: DistType + description: An enumeration. + Error: + properties: + loc: + items: + type: string + type: array + title: Loc + msg: + type: string + title: Msg + type: + type: string + title: Type + type: object + required: + - msg + - type + title: Error + ErrorResponse: + properties: + detail: + items: + $ref: '#/components/schemas/Error' + type: array + title: Detail + type: object + required: + - detail + title: ErrorResponse + FilterTypeEnum: + type: string + enum: + - hour + - day + - datetime + title: FilterTypeEnum + description: An enumeration. + GeoDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - country + - validatorShare + title: GeoDistribution + GranularityEnum: + type: string + enum: + - hour + - day + - week + - month + - quarter + - year + - all + title: GranularityEnum + description: An enumeration. + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + HostingDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - hostingProvider + - validatorShare + title: HostingDistribution + IdType: + type: string + enum: + - depositAddress + - withdrawalAddress + - nodeOperator + - pool + - poolShare + - entity + - validator + title: IdType + description: An enumeration. + Network: + type: string + enum: + - mainnet + - prater + - holesky + title: Network + description: An enumeration. + NetworkChurnCapacity: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activatedValidators: + type: integer + minimum: 0 + title: Activatedvalidators + activationCapacityFilled: + type: number + minimum: 0 + title: Activationcapacityfilled + exitedValidators: + type: integer + minimum: 0 + title: Exitedvalidators + exitCapacityFilled: + type: number + minimum: 0 + title: Exitcapacityfilled + activatedPercentage: + type: number + minimum: 0 + title: Activatedpercentage + exitedPercentage: + type: number + minimum: 0 + title: Exitedpercentage + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + activationChurnLimit: + type: integer + minimum: 0 + title: Activationchurnlimit + exitChurnLimit: + type: integer + minimum: 0 + title: Exitchurnlimit + type: object + required: + - timeWindow + - latestEpoch + - activatedValidators + - activationCapacityFilled + - exitedValidators + - exitCapacityFilled + - activatedPercentage + - exitedPercentage + - churnLimit + - activationChurnLimit + - exitChurnLimit + title: NetworkChurnCapacity + example: + time_window: all + latestEpoch: 186271 + activatedValidators: 238445 + activationCapacityFilled: 0.62372 + exitedValidators: 955 + exitCapacityFilled: 0.0025 + activatedPercentage: 0.47689 + exitedPercentage: 0.00191 + churnLimit: 382294 + activationChurnLimit: 382294 + exitChurnLimit: 382294 + NetworkChurnCapacityPool: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + stakeAction: + $ref: '#/components/schemas/StakeAction' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + pool: + type: string + title: Pool + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + capacityFilled: + type: number + minimum: 0 + title: Capacityfilled + networkCapacityRemaining: + type: number + minimum: 0 + title: Networkcapacityremaining + type: object + required: + - timeWindow + - stakeAction + - latestEpoch + - churnLimit + - pool + - validatorCount + - capacityFilled + - networkCapacityRemaining + title: NetworkChurnCapacityPool + example: + time_window: 7d + stakeAction: activation + latestEpoch: 187225 + churnLimit: 12600 + pool: Lido + validatorCount: 3534 + capacityFilled: 0.28048 + networkCapacityRemaining: 0.41198 + NetworkDailyConsensusExecutionRewards: + properties: + date: + type: string + format: date + title: Date + sumConsensusRewards: + type: integer + minimum: 0 + title: Sumconsensusrewards + sumExecutionRewards: + type: integer + minimum: 0 + title: Sumexecutionrewards + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + minimum: 0 + title: Sumbaselinemev + type: object + title: NetworkDailyConsensusExecutionRewards + example: + 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + NetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + validatorCountDiff: + type: integer + title: Validatorcountdiff + medianValidatorAgeDays: + type: integer + minimum: 0 + title: Medianvalidatoragedays + activeStake: + type: integer + minimum: 0 + title: Activestake + activeStakeDiff: + type: integer + title: Activestakediff + avgValidatorBalance: + type: number + minimum: 0 + title: Avgvalidatorbalance + avgValidatorBalanceDiff: + type: number + title: Avgvalidatorbalancediff + consensusLayerRewardsPercentage: + type: number + minimum: 0 + title: Consensuslayerrewardspercentage + priorityFeesPercentage: + type: number + minimum: 0 + title: Priorityfeespercentage + baselineMevPercentage: + type: number + minimum: 0 + title: Baselinemevpercentage + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + sumMissedSlots: + type: integer + minimum: 0 + title: Summissedslots + missedSlotsPercentage: + type: number + minimum: 0 + title: Missedslotspercentage + avgConsensusAprPercentage: + type: number + title: Avgconsensusaprpercentage + avgExecutionAprPercentage: + type: number + title: Avgexecutionaprpercentage + medianConsensusAprPercentage: + type: number + title: Medianconsensusaprpercentage + medianExecutionAprPercentage: + type: number + title: Medianexecutionaprpercentage + consensusRewardsRatio: + type: number + title: Consensusrewardsratio + executionRewardsRatio: + type: number + title: Executionrewardsratio + avgNetworkAprPercentage: + type: number + title: Avgnetworkaprpercentage + medianNetworkAprPercentage: + type: number + title: Mediannetworkaprpercentage + avgConsensusAprGwei: + type: integer + title: Avgconsensusaprgwei + avgExecutionAprGwei: + type: integer + title: Avgexecutionaprgwei + medianConsensusAprGwei: + type: integer + title: Medianconsensusaprgwei + medianExecutionAprGwei: + type: integer + title: Medianexecutionaprgwei + avgNetworkAprGwei: + type: integer + title: Avgnetworkaprgwei + medianNetworkAprGwei: + type: integer + title: Mediannetworkaprgwei + giniCoefficient: + type: number + minimum: 0 + title: Ginicoefficient + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + clientValidatorEffectiveness: + items: + $ref: '#/components/schemas/ClientEffectiveness' + type: array + title: Clientvalidatoreffectiveness + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activationQueueMinutes: + type: number + minimum: 0 + title: Activationqueueminutes + activatingValidators: + type: integer + minimum: 0 + title: Activatingvalidators + activatingStake: + type: integer + minimum: 0 + title: Activatingstake + exitQueueMinutes: + type: number + minimum: 0 + title: Exitqueueminutes + withdrawalQueueMinutes: + type: number + minimum: 0 + title: Withdrawalqueueminutes + withdrawalProcessingQueueMinutes: + type: number + minimum: 0 + title: Withdrawalprocessingqueueminutes + fullyWithdrawingValidators: + type: integer + minimum: 0 + title: Fullywithdrawingvalidators + partiallyWithdrawingValidators: + type: integer + minimum: 0 + title: Partiallywithdrawingvalidators + totalWithdrawingValidators: + type: integer + minimum: 0 + title: Totalwithdrawingvalidators + fullyWithdrawingBalance: + type: integer + minimum: 0 + title: Fullywithdrawingbalance + partiallyWithdrawingBalance: + type: integer + minimum: 0 + title: Partiallywithdrawingbalance + totalWithdrawingBalance: + type: integer + minimum: 0 + title: Totalwithdrawingbalance + exitingValidators: + type: integer + minimum: 0 + title: Exitingvalidators + exitingStake: + type: integer + minimum: 0 + title: Exitingstake + liquidStakingPenetration: + type: number + minimum: 0 + title: Liquidstakingpenetration + networkNativelyRestaked: + type: number + minimum: 0 + title: Networknativelyrestaked + type: object + required: + - timeWindow + - validatorCount + - medianValidatorAgeDays + - activeStake + - avgValidatorBalance + - sumMissedSlots + - missedSlotsPercentage + - giniCoefficient + - clientPercentages + - latestEpoch + - activationQueueMinutes + - activatingValidators + - activatingStake + - exitQueueMinutes + - withdrawalQueueMinutes + - withdrawalProcessingQueueMinutes + - fullyWithdrawingValidators + - partiallyWithdrawingValidators + - totalWithdrawingValidators + - fullyWithdrawingBalance + - partiallyWithdrawingBalance + - totalWithdrawingBalance + - exitingValidators + title: NetworkOverview + example: + timeWindow: all + validatorCount: 513101 + validatorCountDiff: 0 + medianValidatorAgeDays: 446 + activeStake: 16419232000000000 + activeStakeDiff: 0 + avgValidatorBalance: 33989164381.593678 + avgValidatorBalanceDiff: 0 + consensusLayerRewardsPercentage: 71.00716294317242 + priorityFeesPercentage: 17.670898689999394 + baselineMevPercentage: 11.321938366828187 + avgValidatorEffectiveness: 96.24882777017207 + avgInclusionDelay: 1.026223700745488 + avgUptime: 99.60745479648561 + sumMissedSlots: 54305 + missedSlotsPercentage: 0.9463495357389193 + avgConsensusAprPercentage: 4.110372806103757 + avgExecutionAprPercentage: 1.8784786051796751 + medianConsensusAprPercentage: 3.892783165538195 + medianExecutionAprPercentage: 0.6112049138020833 + consensusRewardsRatio: 0.7100716294317242 + executionRewardsRatio: 0.2899283705682758 + avgNetworkAprPercentage: 5.988851411283433 + medianNetworkAprPercentage: 4.503988079340278 + avg_consensus_apr_gwei: 1315319298 + avg_execution_apr_gwei: 601113154 + median_consensus_apr_gwei: 1245690613 + median_execution_apr_gwei: 195585572 + avg_network_apr_gwei: 1916432452 + median_network_apr_gwei: 1441276185 + giniCoefficient: 0.9374772860811317 + clientPercentages: + - client: Lighthouse + percentage: 0.3744886640155385 + - client: Nimbus + percentage: 0.025649007580706686 + - client: Teku + percentage: 0.19682653817317683 + - client: Prysm + percentage: 0.4004708894725073 + - client: Lodestar + percentage: 0.0025649007580706685 + clientValidatorEffectiveness: + - client: Lighthouse + avgValidatorEffectiveness: 95.42 + - client: Nimbus + avgValidatorEffectiveness: 93.4 + - client: Teku + avgValidatorEffectiveness: 94.9 + latestEpoch: 162521 + activationQueueMinutes: 838.4 + activatingValidators: 787 + activatingStake: 25184000000000 + exitQueueMinutes: 25.6 + withdrawalQueueMinutes: 47392 + withdrawalProcessingQueueMinutes: 47834.2875 + fullyWithdrawingValidators: 32 + partiallyWithdrawingValidators: 35351 + totalWithdrawingValidators: 35383 + fullyWithdrawingBalance: 1024000000000 + partiallyWithdrawingBalance: 1447374543384832 + totalWithdrawingBalance: 39939418387645100 + exitingValidators: 98 + exitingStake: 3136000000000 + liquid_staking_penetration: 0.312321 + network_natively_restaked: 0.035343 + NetworkStats: + properties: + day: + type: integer + minimum: 0 + title: Day + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - day + - avgUptime + - avgInclusionDelay + - avgCorrectness + - avgValidatorEffectiveness + title: NetworkStats + example: + day: 796 + avgUptime: 0.9957368996638016 + avgInclusionDelay: 1.0192267929181533 + avgCorrectness: 0.9908021620574459 + avgValidatorEffectiveness: 97.15146353052468 + Operator: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + displayName: + type: string + title: Displayname + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + type: object + required: + - id + - idType + - displayName + - operatorTags + title: Operator + example: + id: Stakefish + idType: nodeOperator + displayName: Stakefish + operatorTags: + - name: operator + nodeOperatorCount: 2 + OperatorApr: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: OperatorApr + example: + id: Lido + idType: pool + timeWindow: 1d + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + OperatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgProposerEffectiveness: + type: number + minimum: 0 + title: Avgproposereffectiveness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + sumProposedCount: + type: integer + minimum: 0 + title: Sumproposedcount + sumProposerDutiesCount: + type: integer + minimum: 0 + title: Sumproposerdutiescount + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + sumEarnings: + type: integer + title: Sumearnings + sumEstimatedRewards: + type: integer + title: Sumestimatedrewards + sumEstimatedPenalties: + type: integer + title: Sumestimatedpenalties + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + avgAttesterEffectiveness: + type: number + minimum: 0 + title: Avgattestereffectiveness + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + sumExecutionProposedEmptyCount: + type: integer + minimum: 0 + title: Sumexecutionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + required: + - id + - idType + title: OperatorEffectiveness + example: + day: 796 + startEpoch: 179324 + endEpoch: 179100 + id: Stakefish + idType: nodeOperator + validatorCount: 16075 + avgInclusionDelay: 1.0138705386457403 + avgUptime: 0.9999466390184881 + avgCorrectness: 0.9929917401071404 + avgProposerEffectiveness: 99.53271028037379 + avgValidatorEffectiveness: 97.96642775943795 + totalUniqueAttestations: 3616682 + sumCorrectHead: 3547355 + sumCorrectTarget: 3612248 + sumInclusionDelay: 3666847 + sumProposedCount: 213 + sumProposerDutiesCount: 214 + slashesCollected: 0 + slashesReceived: 0 + sumEarnings: 56766373292 + sumEstimatedRewards: 56675239144 + sumEstimatedPenalties: -82967688 + networkPenetration: 0.03132911454080191 + sumPriorityFees: 10662221791 + sumBaselineMev: 5266131924 + sumMissedExecutionRewards: 58181568 + sumConsensusBlockRewards: 6554423259 + sumMissedConsensusBlockRewards: 31228533 + sumAllRewards: 72694727007 + sumCorrectSource: 3614403 + avgAttesterEffectiveness: 97.9580945527236 + sumMissedSyncSignatures: 2837 + sumSyncCommitteePenalties: -44317643 + sumLateSourceVotes: 2279 + sumWrongTargetVotes: 4434 + sumLateTargetVotes: 0 + sumWrongTargetPenalties: -28763358 + sumLateTargetPenalties: 0 + sumMissedAttestations: 193 + sumMissedAttestationPenalties: -1926140 + sumWrongHeadVotes: 48767 + sumWrongHeadPenalties: 0 + sumAttestationRewards: 50120815885 + sumLateSourcePenalties: -7960547 + sumExecutionProposedEmptyCount: 0 + sumMissedAttestationRewards: 269961427 + sumMissedSyncCommitteeRewards: 44317643 + sumExternallySourcedExecutionRewards: 14862131536 + OperatorEffectivenessSummary: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + relayerPercentages: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: Relayerpercentages + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + displayName: + type: string + title: Displayname + aprPercentage: + type: number + title: Aprpercentage + type: object + required: + - id + - idType + - timeWindow + - validatorCount + - avgCorrectness + - avgUptime + - avgValidatorEffectiveness + - clientPercentages + - relayerPercentages + - operatorTags + title: OperatorEffectivenessSummary + example: + id: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + idType: depositAddress + timeWindow: 1d + validatorCount: 37361 + avgCorrectness: 0.9872805930783213 + avgInclusionDelay: 1.0209945048723401 + avgUptime: 0.9990847259025307 + avgValidatorEffectiveness: 96.65219797373126 + clientPercentages: + - client: Prysm + percentage: 0.8462792766083606 + - client: Nimbus + percentage: 0.04797904931317324 + - client: Teku + percentage: 0.034044866093487496 + - client: Lighthouse + percentage: 0.07169680798497875 + networkPenetration: 0.07855633469653803 + relayerPercentages: [] + operatorTags: [] + displayName: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + OperatorTag: + properties: + name: + type: string + title: Name + path: + type: string + title: Path + idType: + $ref: '#/components/schemas/IdType' + type: object + required: + - name + title: OperatorTag + P2PGeographicalDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - country + - countryCode + - validatorShare + - distType + title: P2PGeographicalDistribution + P2PHostingProviderDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - hostingProvider + - validatorShare + - distType + title: P2PHostingProviderDistribution + PageP2P: + properties: + fromRank: + type: integer + title: Fromrank + toRank: + type: integer + title: Torank + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + type: object + required: + - fromRank + title: PageP2P + PaginatedBlocks: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/Blocks' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedBlocks + example: + page: + size: 1 + data: + - epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: >- + \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: >- + \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: 123242323 + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + next: /v0/eth/blocks/?size=10&from=7502092 + total: 1 + PaginatedNetworkDailyConsensusExecutionRewards: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedNetworkDailyConsensusExecutionRewards + example: + page: + size: 1 + data: + - 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + next: /v0/eth/network/dailyRewards?size=10&from=2024-02-19 + total: 1 + PaginatedOperatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectiveness + PaginatedOperatorEffectivenessSummary: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectivenessSummary + PaginatedP2PHostingProviderDistribution: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/P2PHostingProviderDistribution' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedP2PHostingProviderDistribution + PaginatedSlashingLeaderboard: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingLeaderboard' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingLeaderboard + PaginatedSlashingPenalties: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingPenalties' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingPenalties + PaginatedValidatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectiveness + example: + page: + filterType: day + granularity: day + size: 1 + data: + - attesterEffectiveness: 98.82005899705014 + avgCorrectness: 0.9925925925925926 + avgInclusionDelay: 1.0044444444444445 + day: 803 + earnings: 2958548 + endEpoch: 180675 + estimatedPenalties: -6461 + estimatedRewards: 2965823 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startEpoch: 180899 + sumAllRewards: 2958548 + sumAttestationRewards: 2965823 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 221 + sumCorrectSource: 225 + sumCorrectTarget: 224 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 226 + sumLateSourcePenalties: 0 + sumLateSourceVotes: 0 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 19233 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 3 + sumWrongTargetPenalties: -6461 + sumWrongTargetVotes: 1 + syncSignatureCount: 0 + totalAttestationAssignments: 225 + totalAttestations: 237 + totalUniqueAttestations: 225 + uptime: 1 + validatorEffectiveness: 98.82005899705014 + validatorIndex: 100 + next: >- + /v0/eth/validators/100/effectiveness?size=1&from=802&granularity=day&filterType=day + total: 804 + PaginatedValidatorEffectivenessAggregation: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessAggregation' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessAggregation + example: + data: + - attesterEffectiveness: 97.32583666151515 + avgCorrectness: 0.9918362178153197 + avgInclusionDelay: 1.0193737639350782 + day: 803 + earnings: 4280356408 + endDay: 0 + endEpoch: 0 + estimatedPenalties: -12510807 + estimatedRewards: 4128779301 + executionProposedEmptyCount: 0 + proposedCount: 24 + proposerDutiesCount: 24 + proposerEffectiveness: 100 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 4280356408 + sumAttestationRewards: 4052665764 + sumBaselineMev: 0 + sumConsensusBlockRewards: 76113537 + sumCorrectHead: 177727 + sumCorrectSource: 180937 + sumCorrectTarget: 180496 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 184525 + sumLateSourcePenalties: -353416 + sumLateSourceVotes: 81 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: -629004 + sumMissedAttestationRewards: 24938630 + sumMissedAttestations: 47 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumMissedSyncSignatures: 16384 + sumPriorityFees: 0 + sumSyncCommitteePenalties: -409318.20849609375 + sumWrongHeadPenalties: -6971040 + sumWrongHeadVotes: 2231 + sumWrongTargetPenalties: -4148029 + sumWrongTargetVotes: 522 + syncSignatureCount: 0 + totalAttestationAssignments: 181065 + totalAttestations: 202175 + totalUniqueAttestations: 181018 + uptime: 0.9997404247093585 + validatorEffectiveness: 97.33446322952862 + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + page: + filterType: day + size: 1 + total: 1 + PaginatedValidatorEffectivenessData: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessData' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessData + example: + data: + - attesterEffectiveness: 98.46868397067385 + avgCorrectness: 0.9951851851851852 + avgInclusionDelay: 1.0107407407407407 + day: 803 + earnings: 35804991 + endDay: 792 + endEpoch: 178200 + estimatedPenalties: -22921 + estimatedRewards: 35849013 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 35804991 + sumAttestationRewards: 35849013 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 2665 + sumCorrectSource: 2699 + sumCorrectTarget: 2697 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 2729 + sumLateSourcePenalties: -3486 + sumLateSourceVotes: 1 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 137813 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 21 + sumWrongTargetPenalties: -19435 + sumWrongTargetVotes: 3 + syncSignatureCount: 0 + totalAttestationAssignments: 2700 + totalAttestations: 2919 + totalUniqueAttestations: 2700 + uptime: 1 + validatorEffectiveness: 98.46868397067385 + next: >- + /v0/eth/validators/effectiveness?indices=100&indices=101&groupBy=timeWindow&granularity=month&size=1&from=791&filterType=day + page: + filterType: day + granularity: month + size: 1 + total: 27 + PaginatedValidatorEffectivenessDataOrAggregation: + anyOf: + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessData' + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessAggregation' + title: PaginatedValidatorEffectivenessDataOrAggregation + PaginatedValidatorMetadata: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorMetadata' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorMetadata + example: + page: + from: 0 + size: 3 + total: 11 + data: + - validatorIndex: 1 + validatorPubkey: >- + 0xb44440543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004466666 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 4 + validatorPubkey: >- + 0xa62420543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004454b51 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 10 + validatorPubkey: >- + 0xc55540543ceef8dccc065c70da15f7b731e56db5457571c465f0254442bbcd263a0111c8749b4ca6ff20d77004466777 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + next: /v0/eth/validators?from=11&size=3&operatorsIds=&idType= + PaginatedWithdrawalsPredicted: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedWithdrawalsPredicted + Percentile: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + rank: + type: integer + minimum: 0 + title: Rank + value: + type: number + minimum: 0 + title: Value + type: object + required: + - timeWindow + - rank + - value + title: Percentile + PolygonDelegation: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + validatorName: + type: string + title: Validatorname + stakePercentage: + type: number + title: Stakepercentage + type: object + required: + - validatorId + - stakePercentage + title: PolygonDelegation + PolygonDelegatorSummary: + properties: + delegatorAddress: + type: string + title: Delegatoraddress + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkPenetration: + type: number + title: Networkpenetration + delegations: + items: + $ref: '#/components/schemas/PolygonDelegation' + type: array + title: Delegations + aprGross: + type: number + title: Aprgross + aprNet: + type: number + title: Aprnet + aggregateEffectiveness: + type: number + title: Aggregateeffectiveness + blendedCommissionRate: + type: number + title: Blendedcommissionrate + totalDelegatorStake: + type: number + title: Totaldelegatorstake + totalGrossRewards: + type: number + title: Totalgrossrewards + totalNetRewards: + type: number + title: Totalnetrewards + totalCommissionPaid: + type: number + title: Totalcommissionpaid + type: object + required: + - delegatorAddress + - timeWindow + - networkPenetration + - delegations + - aggregateEffectiveness + - blendedCommissionRate + - totalDelegatorStake + - totalGrossRewards + - totalNetRewards + - totalCommissionPaid + title: PolygonDelegatorSummary + example: + delegatorAddress: '0x00000' + timeWindow: 30d + networkPenetration: 0.1 + delegations: + - validatorId: 103 + validatorName: Stake Capital + stakePercentage: 0.1 + - validatorId: 104 + validatorName: Coinbase Cloud + stakePercentage: 0.1 + aprGross: 0.05 + aprNet: 0.05 + aggregateEffectiveness: 0.98865 + blendedCommissionRate: 0.05125 + totalDelegatorStake: 400995914.00753 + totalGrossRewards: 1859026.3456 + totalNetRewards: 1746304.13028 + totalCommissionPaid: 112722.21532 + PolygonNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkCheckpointSigningRate: + type: number + title: Networkcheckpointsigningrate + networkCheckpointProposalRate: + type: number + title: Networkcheckpointproposalrate + networkBorProposalRate: + type: number + title: Networkborproposalrate + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + delegatorApr: + type: number + title: Delegatorapr + heimdallCheckpointApr: + type: number + title: Heimdallcheckpointapr + borProposalApr: + type: number + title: Borproposalapr + heimdallCheckpointRewardsRatio: + type: number + title: Heimdallcheckpointrewardsratio + borProposalRewardsRatio: + type: number + title: Borproposalrewardsratio + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + activeDelegatorCount: + type: integer + minimum: 0 + title: Activedelegatorcount + activeDelegatorDiff: + type: integer + title: Activedelegatordiff + totalStake: + type: number + title: Totalstake + totalDelegatedStake: + type: number + title: Totaldelegatedstake + avgDelegatedStake: + type: number + title: Avgdelegatedstake + totalSelfStake: + type: number + title: Totalselfstake + rewardsCheckpointSignatures: + type: number + title: Rewardscheckpointsignatures + rewardsCheckpointProposals: + type: number + title: Rewardscheckpointproposals + rewardsBorPriorityFees: + type: number + title: Rewardsborpriorityfees + rewardsBorMev: + type: number + title: Rewardsbormev + avgValidatorDelegates: + type: number + title: Avgvalidatordelegates + blendedCommissionRate: + type: number + title: Blendedcommissionrate + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + networkCheckpointSigningRateDiff: + type: number + title: Networkcheckpointsigningratediff + networkCheckpointProposalRateDiff: + type: number + title: Networkcheckpointproposalratediff + networkBorProposalRateDiff: + type: number + title: Networkborproposalratediff + type: object + required: + - timeWindow + - networkEffectiveness + - networkCheckpointSigningRate + - networkCheckpointProposalRate + - networkBorProposalRate + - validatorApr + - netValidatorApr + - delegatorApr + - heimdallCheckpointApr + - borProposalApr + - heimdallCheckpointRewardsRatio + - borProposalRewardsRatio + - activeValidatorCount + - activeValidatorDiff + - activeDelegatorCount + - activeDelegatorDiff + - totalStake + - totalDelegatedStake + - avgDelegatedStake + - totalSelfStake + - rewardsCheckpointSignatures + - rewardsCheckpointProposals + - rewardsBorPriorityFees + - rewardsBorMev + - avgValidatorDelegates + - blendedCommissionRate + - networkEffectivenessDiff + - networkCheckpointSigningRateDiff + - networkCheckpointProposalRateDiff + - networkBorProposalRateDiff + title: PolygonNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkCheckpointSigningRate: 0.999 + networkCheckpointProposalRate: 0.999 + networkBorProposalRate: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + heimdallCheckpointApr: 0.99 + borProposalApr: 0.99 + heimdallCheckpointRewardsRatio: 0.99 + borProposalRewardsRatio: 0.99 + activeValidatorCount: 999 + activeValidatorDiff: -10 + activeDelegatorCount: 999 + activeDelegatorDiff: 999 + totalStake: 999 + totalDelegatedStake: 999 + avgDelegatedStake: 999 + totalSelfStake: 999 + rewardsCheckpointSignatures: 999 + rewardsCheckpointProposals: 999 + rewardsBorPriorityFees: 999 + rewardsBorMev: 999 + avgValidatorDelegates: 999 + blendedCommissionRate: 0.99 + network_effectiveness_diff: 0.01 + network_checkpoint_signing_rate_diff: 0.01 + network_checkpoint_proposal_rate_diff: 0.01 + network_bor_proposal_rate_diff: 0.01 + PolygonValidatorMetadata: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + name: + type: string + title: Name + status: + type: string + title: Status + currentState: + type: string + title: Currentstate + owner: + type: string + title: Owner + signer: + type: string + title: Signer + url: + type: string + title: Url + description: + type: string + title: Description + commission: + type: number + minimum: 0 + title: Commission + type: object + required: + - validatorId + - name + - status + - currentState + - owner + - signer + - commission + title: PolygonValidatorMetadata + example: + validatorId: 103 + name: Stake Capital + status: active + currentState: healthy + owner: '0x00000' + signer: '0x00000' + url: https://stake.capital + description: Stake Capital is a validator for Polygon. + commission: 0.1 + PolygonValidatorSummary: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + currentState: + type: string + title: Currentstate + networkPenetration: + type: number + title: Networkpenetration + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + commissionRate: + type: number + title: Commissionrate + delegatorApr: + type: number + title: Delegatorapr + effectiveness: + type: number + title: Effectiveness + type: object + required: + - validatorId + - timeWindow + - name + - currentState + - networkPenetration + - validatorApr + - netValidatorApr + - commissionRate + - delegatorApr + - effectiveness + title: PolygonValidatorSummary + example: + validatorId: 103 + timeWindow: 30d + name: Stake Capital + currentState: healthy + networkPenetration: 0.24 + validatorApr: 0.05 + commissionRate: 0.05 + netValidatorApr: 0.049 + delegatorApr: 0.05 + effectiveness: 0.984 + PoolOrNodeOperatorIdType: + type: string + enum: + - pool + - nodeOperator + title: PoolOrNodeOperatorIdType + description: An enumeration. + PoolType: + enum: + - all + - cex + - lst + title: PoolType + description: An enumeration. + PricingPlan: + properties: + tier: + $ref: '#/components/schemas/PricingTiersEnum' + price: + type: integer + minimum: 0 + title: Price + computeUnits: + type: integer + minimum: 0 + title: Computeunits + autoscale: + type: boolean + title: Autoscale + autoscalePrice: + type: integer + minimum: 0 + title: Autoscaleprice + cuUpperBound: + type: integer + minimum: 0 + title: Cuupperbound + rateLimits: + type: string + title: Ratelimits + lifetimeRequestsLimit: + type: integer + minimum: 0 + title: Lifetimerequestslimit + type: object + required: + - tier + - autoscale + - rateLimits + title: PricingPlan + PricingTiersEnum: + type: string + enum: + - free + - starter + - build + - growth + - enterprise + - chorus-one + - blockworks + - manifold + title: PricingTiersEnum + description: An enumeration. + RelayerPercentage: + properties: + relayer: + type: string + title: Relayer + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - relayer + - percentage + title: RelayerPercentage + example: + relayer: agnostic + percentage: 0.00041296716911005574 + SelfReport: + properties: + operatorName: + type: string + title: Operatorname + validators: + items: + type: string + type: array + title: Validators + network: + $ref: '#/components/schemas/Network' + poolTag: + type: string + title: Pooltag + type: object + required: + - operatorName + - validators + - network + title: SelfReport + SelfReportIn: + properties: + validators: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Validators + poolTag: + type: string + title: Pooltag + type: object + required: + - validators + title: SelfReportIn + SlashingCohortAnalysis: + properties: + cohort: + type: string + title: Cohort + lastSixMonths: + type: integer + minimum: 0 + title: Lastsixmonths + pastYear: + type: integer + minimum: 0 + title: Pastyear + pastTwoYears: + type: integer + minimum: 0 + title: Pasttwoyears + allTime: + type: integer + minimum: 0 + title: Alltime + type: object + required: + - cohort + - lastSixMonths + - pastYear + - pastTwoYears + - allTime + title: SlashingCohortAnalysis + SlashingLeaderboard: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + slashes: + type: integer + minimum: 0 + title: Slashes + medianSlashedMonth: + type: string + title: Medianslashedmonth + slasherPedigree: + type: string + title: Slasherpedigree + slashingRole: + $ref: '#/components/schemas/SlashingRole' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + type: object + required: + - id + - idType + - slashes + - medianSlashedMonth + - slasherPedigree + - slashingRole + - validatorCount + title: SlashingLeaderboard + SlashingOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + discreteSlashingEvents: + type: integer + minimum: 0 + title: Discreteslashingevents + largestSlashingIncident: + type: integer + minimum: 0 + title: Largestslashingincident + currentSlashingPenaltyGwei: + type: integer + minimum: 0 + title: Currentslashingpenaltygwei + slashingSlotsRatio: + type: number + minimum: 0 + title: Slashingslotsratio + solosRatio: + type: number + minimum: 0 + title: Solosratio + prosRatio: + type: number + minimum: 0 + title: Prosratio + slashingPenaltiesAllRewardsRatio: + type: number + minimum: 0 + title: Slashingpenaltiesallrewardsratio + slashingPenaltiesStakeRatio: + type: number + minimum: 0 + title: Slashingpenaltiesstakeratio + type: object + required: + - timeWindow + - validatorsSlashed + - discreteSlashingEvents + - largestSlashingIncident + - currentSlashingPenaltyGwei + - slashingSlotsRatio + - solosRatio + - prosRatio + - slashingPenaltiesAllRewardsRatio + - slashingPenaltiesStakeRatio + title: SlashingOverview + example: + timeWindow: all + validatorsSlashed: 278 + discreteSlashingEvents: 97 + largestSlashingIncident: 2 + currentSlashingPenaltyGwei: 1064833914 + slashingSlotsRatio: 0.00003 + solosSlotsRatio: 0.57554 + prosSlotsRatio: 0.42446 + slashingPenaltiesAllRewardsRatio: 0.00011 + slashingPenaltiesStakeRatio: 0.00001 + SlashingPenalties: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + slashingEpoch: + type: integer + minimum: 0 + title: Slashingepoch + withdrawableEpoch: + type: integer + minimum: 0 + title: Withdrawableepoch + balanceBeforeSlashing: + type: integer + minimum: 0 + title: Balancebeforeslashing + balanceBeforeWithdrawal: + type: integer + minimum: 0 + title: Balancebeforewithdrawal + slashingPenalties: + type: integer + minimum: 0 + title: Slashingpenalties + type: object + required: + - validatorIndex + - validatorPubkey + - slashingEpoch + - withdrawableEpoch + - balanceBeforeSlashing + - balanceBeforeWithdrawal + - slashingPenalties + title: SlashingPenalties + example: + validatorIndex: 516858 + validatorPubkey: >- + 0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022 + slashingEpoch: 203644 + withdrawableEpoch: 211836 + balanceBeforeSlashing: 32001900366 + balanceBeforeWithdrawal: 30980804667 + slashingPenalties: 1021095699 + SlashingRole: + enum: + - slashed + - slasher + title: SlashingRole + description: An enumeration. + SlashingTimeSeries: + properties: + month: + type: string + format: date + title: Month + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + type: object + required: + - month + - validatorsSlashed + title: SlashingTimeSeries + SolanaNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkVoteSuccessRate: + type: number + title: Networkvotesuccessrate + networkMissedBlocksRate: + type: number + title: Networkmissedblocksrate + networkVotingLatency: + type: number + title: Networkvotinglatency + validatorApy: + type: number + title: Validatorapy + netValidatorApy: + type: number + title: Netvalidatorapy + delegatorApy: + type: number + title: Delegatorapy + rewardsSolanaVoting: + type: number + title: Rewardssolanavoting + rewardsSolanaProposals: + type: number + title: Rewardssolanaproposals + rewardsSolanaMev: + type: number + title: Rewardssolanamev + rewardsSolanaRent: + type: number + title: Rewardssolanarent + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + totalDelegatedStake: + type: number + title: Totaldelegatedstake + activeDelegatorStakeAccountCount: + type: integer + minimum: 0 + title: Activedelegatorstakeaccountcount + activeDelegatorStakeAccountCountDiff: + type: integer + title: Activedelegatorstakeaccountcountdiff + activeDelegatorWithdrawAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorwithdrawauthoritycount + activeDelegatorWithdrawAuthorityCountDiff: + type: integer + title: Activedelegatorwithdrawauthoritycountdiff + stakeAccountWithdrawAuthorityRatio: + type: number + title: Stakeaccountwithdrawauthorityratio + activeDelegatorStakeAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorstakeauthoritycount + activeDelegatorStakeAuthorityCountDiff: + type: integer + title: Activedelegatorstakeauthoritycountdiff + stakeAccountStakeAuthorityRatio: + type: number + title: Stakeaccountstakeauthorityratio + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + giniCoefficient: + type: number + title: Ginicoefficient + type: object + required: + - timeWindow + - networkEffectiveness + - networkVoteSuccessRate + - networkMissedBlocksRate + - networkVotingLatency + - validatorApy + - netValidatorApy + - delegatorApy + - rewardsSolanaVoting + - rewardsSolanaProposals + - rewardsSolanaMev + - rewardsSolanaRent + - activeValidatorCount + - activeValidatorDiff + - totalDelegatedStake + - activeDelegatorStakeAccountCount + - activeDelegatorStakeAccountCountDiff + - activeDelegatorWithdrawAuthorityCount + - activeDelegatorWithdrawAuthorityCountDiff + - stakeAccountWithdrawAuthorityRatio + - activeDelegatorStakeAuthorityCount + - activeDelegatorStakeAuthorityCountDiff + - stakeAccountStakeAuthorityRatio + - networkEffectivenessDiff + - giniCoefficient + title: SolanaNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkVoteSuccessRate: 0.999 + networkMissedBlocksRate: 0.999 + networkVotingLatency: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + rewardsSolanaVoting: 0.999 + rewardsSolanaProposals: 0.999 + rewardsSolanaRent: 0.999 + rewardsSolanaMev: 0.999 + activeValidatorCount: 999 + activeValidatorDiff: -10 + totalDelegatedStake: 999 + activeDelegatorStakeAccountCount: 999 + activeDelegatorStakeAccountCountDiff: 999 + activeDelegatorWithdrawAuthorityCount: 999 + activeDelegatorWithdrawAuthorityCountDiff: 999 + stakeAccountWithdrawAuthorityRatio: 0.999 + activeDelegatorStakeAuthorityCount: 999 + activeDelegatorStakeAuthorityCountDiff: 999 + stakeAccountStakeAuthorityRatio: 0.999 + networkEffectivenessDiff: 0.999 + giniCoefficient: 0.999 + SolanaValidatorDistributions: + properties: + geo: + items: + $ref: '#/components/schemas/GeoDistribution' + type: array + title: Geo + host: + items: + $ref: '#/components/schemas/HostingDistribution' + type: array + title: Host + client: + items: + $ref: '#/components/schemas/ClientDistribution' + type: array + title: Client + type: object + required: + - geo + - host + - client + title: SolanaValidatorDistributions + example: + geo: + - country: United States + validator_share: 0.5 + - country: Germany + validator_share: 0.5 + host: + - hosting_provider: AWS + validator_share: 0.6 + - hosting_provider: Google Cloud + validator_share: 0.4 + client: + - client: Solana v1.7.9 + validator_share: 0.7 + - client: Jito Solana + validator_share: 0.3 + SolanaValidatorMetadata: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + validatorName: + type: string + title: Validatorname + description: + type: string + title: Description + keybaseUsername: + type: string + title: Keybaseusername + url: + type: string + title: Url + city: + type: string + title: City + country: + type: string + title: Country + hostingProvider: + type: string + title: Hostingprovider + client: + type: string + title: Client + type: object + required: + - voteAccount + title: SolanaValidatorMetadata + example: + validatorIdentity: validatorIdentityABC123 + voteAccount: voteAccountABC123 + validatorName: Mike's Validator + description: world's best validator + keybaseUsername: someusername + url: https://validator.url + city: London + country: GB + hostingProvider: Amazon + client: solana-jito + SolanaValidatorSummary: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + validatorApy: + type: number + title: Validatorapy + delegatorApy: + type: number + title: Delegatorapy + voteCommissionRate: + type: number + title: Votecommissionrate + mevCommissionRate: + type: number + title: Mevcommissionrate + totalStake: + type: number + title: Totalstake + networkPenetration: + type: number + title: Networkpenetration + effectiveness: + type: number + title: Effectiveness + stakeAccountCount: + type: integer + minimum: 0 + title: Stakeaccountcount + type: object + required: + - validatorIdentity + - voteAccount + - timeWindow + - name + - validatorApy + - delegatorApy + - voteCommissionRate + - totalStake + - networkPenetration + title: SolanaValidatorSummary + example: + validatorIdentity: validatorIdentity + voteAccount: voteAccount + timeWindow: 30d + validatorName: validatorName + name: name + validatorApy: 0.05 + delegatorApy: 0.05 + voteCommissionRate: 0.05 + mevCommissionRate: 0.05 + networkPenetration: 0.24 + effectiveness: 0.984 + stakeAccountCount: 100 + SortOrderEnum: + type: string + enum: + - asc + - desc + title: SortOrderEnum + description: An enumeration. + StakeAction: + enum: + - activation + - exit + title: StakeAction + description: An enumeration. + Tag: + properties: + id: + type: string + format: uuid4 + title: Id + name: + type: string + title: Name + network: + $ref: '#/components/schemas/Network' + organizationId: + type: string + format: uuid4 + title: Organizationid + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + updatedAt: + type: string + format: date-time + title: Updatedat + type: object + required: + - id + - name + - network + - organizationId + - createdBy + - createdAt + title: Tag + TagUpdateIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: TagUpdateIn + TimeWindow: + type: string + enum: + - 1d + - 7d + - 30d + - all + title: TimeWindow + description: An enumeration. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + ValidatorApr: + properties: + id: + type: integer + minimum: 0 + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: ValidatorApr + example: + validatorIndex: 1000 + idType: validator + timeWindow: all + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + ValidatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + type: object + required: + - validatorIndex + title: ValidatorEffectiveness + ValidatorEffectivenessAggregation: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorEffectivenessAggregation + ValidatorEffectivenessData: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + title: ValidatorEffectivenessData + ValidatorMetadata: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + pool: + type: string + title: Pool + dvtNetwork: + type: string + title: Dvtnetwork + nodeOperators: + items: + type: string + type: array + title: Nodeoperators + depositAddresses: + items: + type: string + type: array + title: Depositaddresses + dvtOperators: + items: + type: string + type: array + title: Dvtoperators + activationEpoch: + type: integer + title: Activationepoch + activationEligibilityEpoch: + type: integer + title: Activationeligibilityepoch + exitEpoch: + type: integer + title: Exitepoch + withdrawableEpoch: + type: integer + title: Withdrawableepoch + withdrawalAddress: + type: string + title: Withdrawaladdress + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorMetadata + example: + activationEpoch: 0 + activationEligibilityEpoch: 0 + depositAddresses: + - '0x74134d0c91798d720a5585364bb4be7396c5b973' + dvtOperators: [] + nodeOperators: [] + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + withdrawalAddress: '0xfff1ce616cf83327981bf61396ad0c04e0c8b771' + ValidatorTag: + properties: + validatorPubkey: + type: string + title: Validatorpubkey + tagId: + type: string + format: uuid4 + title: Tagid + tagName: + type: string + title: Tagname + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + type: object + required: + - validatorPubkey + - tagId + - tagName + - createdBy + - createdAt + title: ValidatorTag + ValidatorTagIn: + properties: + pubkeys: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Pubkeys + type: object + required: + - pubkeys + title: ValidatorTagIn + WithdrawalType: + enum: + - full + - partial + title: WithdrawalType + description: An enumeration. + WithdrawalsPredicted: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + withdrawalType: + $ref: '#/components/schemas/WithdrawalType' + withdrawableAmount: + type: integer + minimum: 0 + title: Withdrawableamount + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + withdrawalSlot: + type: integer + minimum: 0 + title: Withdrawalslot + withdrawalEpoch: + type: integer + minimum: 0 + title: Withdrawalepoch + type: object + required: + - validatorIndex + - withdrawalType + - withdrawableAmount + - id + - idType + - withdrawalSlot + - withdrawalEpoch + title: WithdrawalsPredicted + example: + id: Lido + idType: pool + validatorIndex: 262966 + withdrawableAmount: 1899013868 + withdrawalEpoch: 194148 + withdrawalSlot: 6212758 + withdrawalType: partial + api__schemas__page__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + granularity: + $ref: '#/components/schemas/GranularityEnum' + filterType: + $ref: '#/components/schemas/FilterTypeEnum' + type: object + title: Page + api__schemas__page__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - timeWindow + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + api__schemas__page_polygon__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_polygon__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_polygon__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page_solana__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_solana__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_solana__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - granularity + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + networks__polygon__granularity__Granularity: + type: string + enum: + - checkpoint + - day + title: Granularity + description: An enumeration. + networks__solana__granularity__Granularity: + enum: + - 3k + - day + - epoch + title: Granularity + description: An enumeration. +servers: + - url: https://api.rated.network diff --git a/sdks/db/custom-request-specs/realcube.com.yaml b/sdks/db/custom-request-specs/realcube.com.yaml new file mode 100644 index 000000000..31c3d941d --- /dev/null +++ b/sdks/db/custom-request-specs/realcube.com.yaml @@ -0,0 +1,37144 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: REALCUBE API + description: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). + contact: + name: REALCUBE GmbH + email: uwe.forgber@realcube.com +externalDocs: + description: 'Documentation: Developer Integration Workflow' + url: /api/v1/docs/integration_workflow +security: + - api_key: [] + oauth: + - app_category_read + - app_config_read + - app_config_write + - app_config_destroy + - app_data_repository_read + - app_data_repository_write + - app_data_repository_destroy + - app_subscription_read + - app_subscription_write + - app_subscription_destroy + - app_read + - app_write + - app_destroy + - contract_addition_read + - contract_addition_write + - contract_addition_destroy + - contract_grant_read + - contract_grant_write + - contract_grant_destroy + - contract_membership_cost_read + - contract_membership_cost_write + - contract_membership_cost_destroy + - contract_membership_write + - contract_membership_destroy + - contract_read + - contract_write + - contract_destroy + - cost_type_read + - cost_type_write + - cost_type_destroy + - security_deposit_write + - security_deposit_destroy + - report_account_schema_read + - report_account_schema_write + - report_account_schema_destroy + - report_template_read + - report_template_write + - report_template_destroy + - department_read + - department_write + - department_destroy + - manufacturer_read + - manufacturer_write + - manufacturer_destroy + - room_and_zone_type_read + - room_read + - room_write + - room_destroy + - zone_write + - zone_destroy + - level_read + - level_write + - level_destroy + - facility_read + - facility_write + - facility_destroy + - facility_type_read + - plan_version_write + - plan_version_destroy + - plan_read + - plan_write + - plan_destroy + - plan_config_read + - activity_read + - activity_write + - activity_destroy + - attachment_write + - attachment_destroy + - building_filter_setting_read + - building_filter_setting_write + - building_filter_setting_destroy + - building_save_filter_read + - building_save_filter_write + - building_save_filter_destroy + - building_type_read + - building_unit_membership_write + - building_unit_membership_destroy + - building_unit_type_read + - building_unit_type_write + - building_unit_type_destroy + - building_unit_read + - building_unit_write + - building_unit_destroy + - building_read + - building_write + - building_destroy + - customer_account_config_read + - customer_account_config_write + - customer_account_schema_read + - customer_account_schema_write + - customer_attributes_schema_membership_read + - customer_attributes_schema_membership_write + - customer_attributes_schema_read + - customer_attributes_schema_write + - image_write + - image_destroy + - lot_read + - lot_write + - lot_destroy + - organisation_config_read + - organisation_config_write + - organisation_membership_read + - organisation_membership_write + - organisation_membership_destroy + - organisation_read + - organisation_write + - person_read + - person_write + - person_destroy + - person_membership_write + - person_membership_destroy + - property_read + - property_write + - property_destroy + - property_type_read + - user_write + - user_destroy + - vpi_index_read + - credential_read + - dashboard_config_read + - dashboard_config_write + - dashboard_config_destroy + - time_dependent_attribute_read + - time_dependent_attribute_write + - time_dependent_attribute_destroy + - ep_code_combination_read + - customer_account_write +tags: + - name: users + description: Benutzer + - name: dashboard_configs + description: Dashboard-Konfigurationen + - name: credentials + description: Berechtigungsnachweise + - name: customer_accounts + description: Kundenkonto + - name: customer_account_translations + description: Kundenkontoübersetzungen + - name: customer_account_attribute_groups + description: Kundenkonto-Attributgruppen + - name: customer_account_category_configs + description: Kundenkontokategorie-Konfigurationen + - name: organisations + description: Organisation + - name: organisation_memberships + description: Benutzer Zugehörigkeit zu einer Organisation + - name: organisation_configs + description: Schemakonfiguration zu einer Organisation + - name: plans + description: Pläne + - name: plan_configs + description: Plan-Konfigurationen + - name: plan_versions + description: Plan Versionen + - name: apps + description: Anwendungen + - name: app_categories + description: Anwendungs-Kategorien + - name: app_subscriptions + description: Abonnements für Anwendungen + - name: app_configs + description: Anwendungs-Konfigurationen + - name: app_data_repositories + description: App-Daten-Repository + - name: customer_account_configs + description: Kundenspezifische Konfiguration + - name: customer_attributes_schemas + description: Kundenspezifische Attribute + - name: customer_attributes_schema_memberships + description: Zugehörigkeit der kundenspezifischen Attribute + - name: customer_account_schemas + description: Kundenspezifisches Schema + - name: property_types + description: Liegenschaftstyp + - name: properties + description: Liegenschaft + - name: property_managers + description: Liegenschaft Managers + - name: lots + description: Grundstück + - name: building_types + description: Asset Klasse + - name: building_filter_settings + description: Filtereinstellungen + - name: building_save_filters + description: Filter speichern + - name: buildings + description: Gebäude + - name: building_unit_types + description: Einheit Klasse + - name: building_units_finances + description: Einheit Finanzen + - name: building_units + description: Einheit + - name: building_unit_memberships + description: Zugehörigkeit der Einheit zu Gebäude + - name: people + description: Die Leute + - name: person_memberships + description: Benutzer Zugehörigkeit zu einer Person + - name: contracts + description: Die Verträge + - name: contract_additions + description: Ergänzungen zu einer Contract + - name: contract_grants + description: Zuschüsse zu einer Contract + - name: contract_memberships + description: Benutzer Zugehörigkeit zu einer Contract + - name: contract_membership_costs + description: Mitgliedschaftskosten zu einer Contract Mitgliedschaft + - name: security_deposits + description: Kaution + - name: cost_types + description: Kostenarten + - name: report_templates + description: Die Berichtsvorlagen + - name: report_account_schemas + description: Kontoschema-Bericht + - name: levels + description: Stockwerk + - name: room_and_zone_types + description: Raum- und Flächenart + - name: rooms + description: Raum + - name: zones + description: Fläche + - name: departments + description: Anlagengruppe + - name: manufacturers + description: Hersteller + - name: facility_types + description: Anlagenart + - name: facilities + description: Anlage + - name: activities + description: Vorgänge + - name: activity_types + description: Leistungsarten + - name: attachments + description: Dokumente + - name: images + description: Bilder + - name: time_dependent_attributes + description: Zeitabhängige Attribute + - name: ep_code_combinations + description: EP_code Kombinationen + - name: tenants + description: Mieter + - name: rent_trackers + description: Tracker mieten + - name: roles + description: Rollen + - name: role_policies + description: Rollen Policen + - name: tags + description: Stichworte + - name: platform_configs + description: Plattform Konfigurationen + - name: rent_increase_types + description: Mieterhöhungstypen + - name: rent_increase_indices + description: Mietsteigerungsindizes + - name: task_memberships + description: Task-Mitgliedschaften + - name: task_memberships + description: Task-Mitgliedschaften + - name: rent_increases + description: Mieterhöhungen + - name: emission_factor_settings + description: Emissionsfaktor-Einstellungen +paths: + /v1/platform_configs: + post: + summary: Creates a platform_config within the current organisation + description: Creates a platform_config within the current organisation + tags: + - platform_configs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigCreate' + required: true + responses: + '201': + description: PlatformConfig successfully created + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + get: + summary: Shows the platform_configs + description: Shows the platform_configs + tags: + - platform_configs + responses: + '200': + description: Returns the platform_configs + content: + application/json: + schema: + properties: + platform_configs: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_read + /v1/platform_configs/{platform_config_id}: + put: + summary: Updates an platform_config within the current organisation. + description: >- + Updates an platform_config within the current organisation. Organisation + manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigUpdate' + required: true + responses: + '200': + description: PlatformConfig successfully updated + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + delete: + summary: Marks a platform_config as deleted within the current organisation. + description: >- + Marks a platform_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to delete + required: true + schema: + type: string + responses: + '200': + description: PlatformConfig successfully marked as deleted + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_destroy + /v1/users: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Creates a user. + description: | + # Description + Creates a new user + # Password + Make sure you use a strong password + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + required: true + responses: + '201': + description: Returns the created user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + get: + summary: Returns all users within the given account. + description: >- + Returns all users within the given account. They can be filtered based + on account. + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all users within the given account. + content: + application/json: + schema: + properties: + users: + type: array + items: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_read + /v1/users/log_in: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Login + description: Authenticates user to get the API key or relevant information. + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSignIn' + required: true + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/refresh_token: + get: + security: + - api_key: [] + - oauth: + - user_read + summary: Refresh token + description: Reauthenticate user to get the API key or relevant information. + tags: + - users + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/{user_id}: + put: + summary: Updates the user. + description: Updates the user + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account + required: false + schema: + type: string + - name: user_id + in: path + description: The ID of the user to update + required: true + schema: + type: integer + - name: reset_password_token + in: query + description: The reset token of the user + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + required: true + responses: + '200': + description: User successfully updated + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_write + delete: + summary: Delete the user. + description: Delete the user + tags: + - users + parameters: + - name: user_id + in: path + description: The ID of the user to delete + required: true + schema: + type: integer + responses: + '200': + description: User successfully deleted + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/log_out: + delete: + summary: Invalidates the current api token + description: Invalidates the current api token + tags: + - users + responses: + '200': + description: Returns the signed out user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/reset_password_instructions: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: >- + Sends reset password instructions to the user's email address (in german + & english). + description: >- + Sends reset password instructions to the user's email address (in german + & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserResetPasswordInstructions' + required: true + responses: + '200': + description: Returns the user with email to which the instructions where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/send_invitation: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: Sends invitation to the user's email address (in german & english). + description: Sends invitation to the user's email address (in german & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserInvitations' + required: true + responses: + '200': + description: Returns the user with email to which the invitation where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/roles: + get: + summary: Returns all roles + description: Returns all roles, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all roles + content: + application/json: + schema: + properties: + roles: + type: array + items: + $ref: '#/components/schemas/RoleIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + post: + summary: Creates a Role + description: Creates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreate' + required: true + responses: + '201': + description: Role successfully created + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + /v1/roles/{role_id}: + get: + summary: Shows a Role + description: Shows a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + put: + summary: Updates a Role + description: Updates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + required: true + responses: + '200': + description: Role successfully updated + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + delete: + summary: Deletes the Role + description: Deletes the Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to delete + required: true + schema: + type: integer + responses: + '200': + description: Role successfully deleted + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_destroy + /v1/role_policies: + get: + summary: Returns all Role Policies + description: Returns all role_policies , Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: 'Returns all Role Policies ' + content: + application/json: + schema: + properties: + role_policies: + type: array + items: + $ref: '#/components/schemas/RolePolicyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + post: + summary: Creates a Role Policy + description: | + # Description + Creates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyCreate' + required: true + responses: + '201': + description: Role Policy successfully created + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + /v1/role_policies/{role_policy_id}: + get: + summary: Shows a Role Policy + description: Shows a Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role Policy + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + put: + summary: Updates a Role Policy + description: | + # Description + Updates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyUpdate' + required: true + responses: + '200': + description: Role Policy successfully updated + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + delete: + summary: Deletes the Role Policy + description: Deletes the Role Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to delete + required: true + schema: + type: integer + responses: + '200': + description: Role Policy successfully deleted + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_destroy + /v1/tenants/{boarding_type}: + get: + summary: Shows all tenants + description: Shows all tenants for a specific time range + tags: + - tenants + parameters: + - name: boarding_type + in: path + description: 'The type of boarding: onboarding or offboarding' + required: true + schema: + type: string + enum: + - onboarding + - offboarding + - name: customer_account_id + in: query + description: The id of the customer account + required: true + schema: + type: integer + - name: start_date + in: query + description: The starting date for new tenant + example: '2024-03-29' + schema: + type: string + format: date-time + - name: end_date + in: query + description: The ending date for new tenant + example: '2024-03-30' + schema: + type: string + format: date-time + - name: search_by + in: query + description: Search by object type + schema: + type: string + enum: + - organisation + - property + - building + - building_unit + - name: item_id + in: query + description: Search by object id + schema: + type: integer + responses: + '200': + description: Returns the tenant + content: + application/json: + schema: + properties: + tenant: + $ref: '#/components/schemas/TenantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tenant_read + /v1/customer_account_translations: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_translations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + post: + summary: Creates a customer_account_translation + description: | + # Description + Creates a customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationCreate' + required: true + responses: + '201': + description: CustomerAccountTranslation successfully created + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + /v1/customer_account_translations/{customer_account_translation_id}: + get: + summary: Shows a customer_account_translation + description: Shows a customer_account_translation + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_translation + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + put: + summary: Updates an customer_account_translation + description: | + # Description + Updates an customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationUpdate' + required: true + responses: + '200': + description: CustomerAccountTranslation successfully updated + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + delete: + summary: >- + Deletes the customer_account_translation within the current customer + account. + description: >- + Deletes the customer_account_translation within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountTranslation successfully deleted + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_destroy + /v1/customer_account_attribute_groups: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: search_field + in: query + description: Filter by field + schema: + type: string + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_attribute_groups: + type: array + items: + $ref: '#/components/schemas/CustomerAccountAttributeGroupIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + post: + summary: Creates a customer_account_attribute_group + description: | + # Description + Creates a customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupCreate' + required: true + responses: + '201': + description: CustomerAccountAttributeGroup successfully created + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + get: + summary: Shows a customer_account_attribute_group + description: Shows a customer_account_attribute_group + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_attribute_group + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + put: + summary: Updates an customer_account_attribute_group + description: | + # Description + Updates an customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupUpdate' + required: true + responses: + '200': + description: CustomerAccountAttributeGroup successfully updated + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + delete: + summary: >- + Deletes the customer_account_attribute_group within the current customer + account. + description: >- + Deletes the customer_account_attribute_group within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountAttributeGroup successfully deleted + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_destroy + /v1/ep_code_combinations: + get: + summary: Returns all ep_code_combinations + description: >- + Returns all ep_code_combinations, Organisation manager, building member + 🔒 + tags: + - ep_code_combinations + responses: + '200': + description: Returns all ep_code_combinations + content: + application/json: + schema: + properties: + ep_code_combinations: + $ref: '#/components/schemas/EpCodeCombinationByFacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - ep_code_combination_read + /v1/credentials/me: + get: + summary: Returns user if logged via OAuth + description: | + # Description + Returns user if logged via OAuth + tags: + - credentials + responses: + '200': + description: Returns logged user + content: + application/json: + schema: + properties: + credentials: + type: array + items: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_read + /v1/credentials/auth: + post: + summary: Returns EstateOs token + description: | + # Description + Returns EstateOs token if the logged in user has permissions + tags: + - credentials + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns logged user jwt token + content: + application/json: + schema: + properties: + Authorization: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_write + /v1/dashboard_configs: + post: + summary: Creates a dashboard_config within the current organisation + description: Creates a dashboard_config within the current organisation + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigCreate' + required: true + responses: + '201': + description: DashboardConfig successfully created + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + /v1/dashboard_configs/{customer_account_id}: + get: + summary: Shows the dashboard_configs + description: Shows the dashboard_configs + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer_account to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the dashboard_configs + content: + application/json: + schema: + properties: + dashboard_configs: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_read + put: + summary: Updates an dashboard_config within the current organisation. + description: >- + Updates an dashboard_config within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigUpdate' + required: true + responses: + '200': + description: DashboardConfig successfully updated + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + delete: + summary: Marks a dashboard_config as deleted within the current organisation. + description: >- + Marks a dashboard_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: DashboardConfig successfully marked as deleted + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_destroy + /v1/dashboards: + get: + summary: Return customer account dashboards + description: Return customer account dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: "value1", key2: "value2" } + schema: + type: string + - name: locale + in: query + description: Locale + required: true + schema: + type: string + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}: + get: + summary: Shows a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + put: + summary: Updates a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardUpdate' + required: true + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/synchronise: + get: + summary: Synchronise dashboards + description: Synchronise dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/session_expire: + get: + summary: Expire all sessions for the current user + description: Expire all sessions for the current user + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: locale + in: query + description: The locale of the user + required: true + schema: + type: string + enum: + - en + - de + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}/copy: + put: + summary: Copy a dashboard on looker + description: > + # Description + + Copy a dashboard on looker on the folder specified for the current + account. + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + responses: + '200': + description: Dashboard successfully copied + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/order: + put: + summary: Order dashboards + description: | + # Description + Order dashboards by providing dashboard ids in array + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardOrderUpdate' + required: true + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/explore: + get: + summary: Return customer account explore with url + description: Return customer account explore with url + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + responses: + '200': + description: Returns the explore + content: + application/json: + schema: + properties: + explore: + type: object + properties: + buildings_url: + type: string + units_url: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/apps: + get: + summary: Returns all apps + description: Returns all apps, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all apps + content: + application/json: + schema: + properties: + apps: + type: array + items: + $ref: '#/components/schemas/AppIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + post: + summary: Creates a app + description: Creates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCreate' + required: true + responses: + '201': + description: App successfully created + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + /v1/apps/{app_id}: + get: + summary: Shows a app + description: Shows a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + put: + summary: Updates a app + description: Updates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppUpdate' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app + description: Deletes the app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to delete + required: true + schema: + type: integer + responses: + '200': + description: App successfully deleted + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_categories: + get: + summary: Returns all app's categories + description: Returns all app's categories, Admin, Supervisor 🔒 + tags: + - app_categories + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's categories + content: + application/json: + schema: + properties: + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_category_read + /v1/app_subscriptions: + get: + summary: Returns all app's subscriptions + description: Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's subscriptions + content: + application/json: + schema: + properties: + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + post: + summary: Creates an app's subscription. + description: | + # Description + • Creates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscriptionCreate' + required: true + responses: + '201': + description: App's subscription successfully created + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + /v1/app_subscriptions/{app_subscription_id}: + get: + summary: Shows an app's subscription + description: Shows an app's subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's subscription + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + put: + summary: Updates a app's subscription + description: | + # Description + • Updates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscription' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + delete: + summary: Deletes the subscription + description: Deletes the subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to delete + required: true + schema: + type: integer + responses: + '200': + description: App's subscription successfully deleted + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_destroy + /v1/app_configs: + get: + summary: Returns all app's configs. + description: Returns all app's configs, Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + responses: + '200': + description: Returns all app's configs + content: + application/json: + schema: + properties: + app_configs: + type: array + items: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + post: + summary: Creates an app's config. + description: Creates an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfigCreate' + required: true + responses: + '201': + description: App's config successfully created + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + /v1/app_configs/{app_config_id}: + get: + summary: Shows an app's config. + description: Shows an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's config + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + put: + summary: Updates a app's config. + description: Updates a app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfig' + required: true + responses: + '200': + description: App config successfully updated + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + delete: + summary: Deletes the config. + description: Deletes the config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to delete + required: true + schema: + type: integer + responses: + '200': + description: App's config successfully deleted + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_destroy + /v1/apps/{app_id}/memberships: + post: + summary: Creates a app membership to category + description: Creates a app membership to category, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app membership to create + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCategoryMembershipShow' + required: true + responses: + '201': + description: App Category Membership successfully created + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app category membership + description: Deletes the app category membership, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app category membership to delete + required: true + schema: + type: integer + responses: + '200': + description: App category membership successfully deleted + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_data_repositories: + get: + summary: Returns all subscription's data_repositories. + description: Returns all subscription's data_repositories. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns all app's data_repositories + content: + application/json: + schema: + properties: + app_data_repositories: + type: array + items: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + post: + summary: Creates a app_data_repository + description: Creates a app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryCreate' + required: true + responses: + '201': + description: App's data_repository successfully created + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + /v1/app_data_repositories/latest_version: + get: + summary: Shows an app_data_repository. + description: Shows an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns the app_data_repository + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + /v1/app_data_repositories/{app_data_repository_id}: + put: + summary: Updates an app_data_repository + description: Updates an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryUpdate' + required: true + responses: + '200': + description: App's data_repository successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + delete: + summary: Deletes the app_data_repository. + description: Deletes the app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + responses: + '200': + description: App's data_repository successfully deleted + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_destroy + /v1/plans: + get: + summary: Returns all plans within the given building + description: >- + Returns all plans within the given building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + responses: + '200': + description: Returns all plans within the given building + content: + application/json: + schema: + properties: + plans: + type: array + items: + $ref: '#/components/schemas/PlanIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + post: + summary: Creates a plan + description: >- + Creates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreate' + required: true + responses: + '201': + description: Plan successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + /v1/plans/{plan_id}: + get: + summary: Shows a plan + description: >- + Shows a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the plan + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + put: + summary: Updates a plan + description: >- + Updates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanUpdate' + required: true + responses: + '200': + description: Plan successfully updated + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + delete: + summary: Deletes the plan within the current building + description: >- + Deletes the plan within the current building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan successfully deleted + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_destroy + /v1/plan_configs: + get: + summary: Returns all plan's configs. + description: Returns all plan's configs. Admin, Supervisor 🔒 + tags: + - plan_configs + parameters: + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: | + The type of the parent + Allowed parent_types: ["Organisation", "Building", "Building::Unit"] + required: false + schema: + type: string + responses: + '200': + description: Returns all plan's configs + content: + application/json: + schema: + properties: + plan_configs: + type: array + items: + $ref: '#/components/schemas/PlanConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_config_read + /v1/plan_versions: + post: + summary: Creates a plan + description: >- + Creates a plan, organisation_manager, building_member, plan_member, + plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionCreate' + required: true + responses: + '201': + description: Plan Version successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + /v1/plan_versions/{id}: + put: + summary: Updates a plan version + description: >- + Updates a plan version, organisation_manager, building_member, + plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionUpdate' + required: true + responses: + '200': + description: Plan Version successfully updated + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + delete: + summary: Deletes the plan version within the current plan + description: >- + Deletes the plan version within the current plan, organisation_manager, + building_member, plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan Version successfully deleted + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_destroy + /v1/organisations: + get: + summary: >- + Returns all organisations the authenticated user is member of including + her membership role within each organisation + description: > + Returns all organisations the authenticated user is member of including + her membership role within each organisation + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all organisations the authenticated user is member of + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_read + post: + summary: Creates a organisation of the user for a customer account + description: | + Creates a organisation of the user for a customer account + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account of organisation. + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationCreate' + required: true + responses: + '200': + description: Creates an organisation of the user for a customer account + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + /v1/organisations/{organisation_id}: + put: + summary: Updates an organisation. + description: Updates an organisation. Organisation manager only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationUpdate' + required: true + responses: + '200': + description: Organisation successfully updated + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + delete: + summary: Deletes the organisation. + description: Deletes the organisation. Admin only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to delete + required: true + schema: + type: integer + responses: + '200': + description: Organisation successfully marked as deleted + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_destroy + /v1/organisation_configs: + post: + summary: Creates a config in an organisation for a user. + description: >- + Creates a config in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Config successfully created + content: + application/json: + schema: + properties: + organisation_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + /v1/organisation_configs/{organisation_config_id}: + get: + summary: Returns the config for the current organisation of the user. + description: >- + Returns the config for the current organisation of the user. + Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + responses: + '200': + description: Returns all configs within the given organisation + content: + application/json: + schema: + properties: + organisation_configs: + type: array + items: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_read + put: + summary: Update a configs in an organisation for a user. + description: >- + Update a configs in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + delete: + summary: Deletes the organisation configs. + description: Deletes the organisation configs. Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config to delete + required: true + schema: + type: integer + responses: + '200': + description: Config successfully marked as deleted + content: + application/json: + schema: + properties: + organisations_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_destroy + /v1/organisation_memberships: + get: + summary: Returns all memberships within the given organisation. + description: >- + Returns all memberships within the given organisation. Organisation + manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: current_organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: user_id + in: query + description: ID of the user + required: false + schema: + type: integer + responses: + '200': + description: Returns all memberships within the given organisation + content: + application/json: + schema: + properties: + memberships: + type: array + items: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_read + post: + summary: Creates a membership in an organisation for a user. + description: >- + Creates a membership in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembership' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + /v1/organisation_memberships/{organisations_membership_id}: + put: + summary: Updates the organisation membership. + description: Updates the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + required: true + responses: + '200': + description: Organisation membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + delete: + summary: Deletes the organisation membership. + description: Deletes the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to delete + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_destroy + /v1/customer_accounts/{id}/time_attribute_schema: + put: + summary: Updates a customer_account's time_attribute_schema. + description: >- + Updates a customer account's time_attribute_schema. Account membership + only🔒🔒 + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCreate' + required: true + responses: + '200': + description: Customer account's time_attribute_schema successfully updated + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_write + /v1/customer_accounts: + get: + summary: Gets all user's customer_accounts. + description: Gets all user's customer_accounts. + tags: + - customer_accounts + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_accounts/{id}: + get: + summary: Gets a customer_account. + description: Gets a customer account + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_attributes_schemas: + get: + summary: Returns all customer attributes schemas. + description: Returns all customer attributes schemas. Account manager only🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer attributes schemas + content: + application/json: + schema: + properties: + customer_attributes_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + post: + summary: Creates a customer attributes schema. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema. A created customer attributes + schema can not be + + changed afterwards, but in case you use an existing name for the same + attributes type the version field is + + incremented. + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaCreate' + required: true + responses: + '201': + description: Customer attributes schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_write + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + summary: Shows a customer attributes schema. + description: Shows a customer attributes schema. Account manager only🔒🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_attributes_schema_id + in: path + description: ID of the customer attributes schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + /v1/customer_attributes_schema_memberships: + get: + summary: Returns all customer attributes schema memberships. + description: >- + Returns all customer attributes schema memberships. Account manager + only🔒🔒 + tags: + - customer_attributes_schema_memberships + parameters: + - name: organisation_ids + description: IDs of organisations + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: integer + responses: + '200': + description: Returns all customer attributes schema memberships + content: + application/json: + schema: + properties: + customer_attributes_schema_memberships: + type: array + items: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_read + post: + summary: Creates a customer attributes schema membership. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema membership. For each organisation + it is only possible to have a base + + customer attributes schema and its subsequent versions per attributes + type. + +
+ + Example: + + + + + + + + + + + + + + + + +
Organisation ASchema with name "Schema A", attributes type "building" and version 1
Organisation ASchema with name "Schema A", attributes type "building" and version 2
Organisation ASchema with name "Schema A", attributes type "building_unit" and version 1
+ tags: + - customer_attributes_schema_memberships + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaMembershipCreate' + required: true + responses: + '201': + description: Customer attributes schema membership successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema_membership: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_write + /v1/customer_account_configs: + get: + summary: Return customer account configuration of customer_account + description: Return customer account configuration of customer_account + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: locale + in: query + description: Locale + required: false + schema: + type: string + responses: + '200': + description: Return customer account configuration of customer_account + content: + application/json: + schema: + properties: + customer_account_configs: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_read + post: + summary: Create customer account configuration. + description: Create customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigCreate' + required: true + responses: + '200': + description: Create customer account configuration + content: + application/json: + schema: + properties: + customer_account_config: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_configs/{customer_account_config_id}: + put: + summary: Updates a customer account configuration. + description: Updates a customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_config_id + in: path + description: The ID of the customer account to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigUpdate' + required: true + responses: + '200': + description: Customer account configuration successfully updated + content: + application/json: + schema: + properties: + customer_account_config: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_schemas: + get: + summary: Returns all customer account schemas. + description: Returns all customer account schemas. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer account schemas + content: + application/json: + schema: + properties: + customer_account_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + post: + summary: Create a customer account schema. + description: Create a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaCreate' + required: true + responses: + '201': + description: Customer account schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + summary: Shows a customer account schema. + description: Shows a customer account schema. Account manager only🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + put: + summary: Update a customer account schema. + description: Update a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaUpdate' + required: true + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_categories: + get: + summary: Return customer account categories of customer_account + description: Return customer account categories of customer_account + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: category_id + in: query + description: Filter customer account categories based on category id + required: false + schema: + type: integer + responses: + '200': + description: Return customer account categories of customer_account + content: + application/json: + schema: + properties: + customer_account_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_read + post: + summary: Creates a customer account category + description: | + # Description + Creates a customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + /v1/customer_account_categories/{customer_account_category_id}: + put: + summary: Update the customer account category + description: Update the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryUpdate' + required: true + responses: + '200': + description: Customer account category successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + delete: + summary: Delete the customer account category + description: Delete the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_destroy + /v1/contracts: + get: + summary: Returns all contracts within the given customer account + description: | + # Description + Returns all contracts within the given customer account + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: ids + in: query + description: IDs of the contract + required: false + style: form + explode: false + schema: + type: array + items: + type: integer + - name: building_id + in: query + description: ID of the building related with contract + required: false + schema: + type: integer + - name: unit_id + in: query + description: ID of the unit related with contract + required: false + schema: + type: integer + responses: + '200': + description: Returns all contracts within the given customer account + content: + application/json: + schema: + properties: + contracts: + type: array + items: + $ref: '#/components/schemas/ContractIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + post: + summary: Creates a contract + description: | + # Description + Creates a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractCreate' + required: true + responses: + '201': + description: Contract successfully created + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + /v1/contracts/{contract_id}: + get: + summary: Shows a contract + description: | + # Description + Shows a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the contract + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + put: + summary: Updates an contract + description: | + # Description + Updates an contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractUpdate' + required: true + responses: + '200': + description: Contract successfully updated + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + delete: + summary: Deletes the contract + description: Deletes the contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + responses: + '200': + description: Contract successfully deleted + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_destroy + /v1/contract_memberships/{contract_membership_id}: + delete: + summary: Destroys the contract membership. + description: Destroys the contract membership. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_membership_id + in: path + description: ID of the contract membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_destroy + /v1/contract_memberships: + post: + summary: Creates a membership in contract. + description: Creates a membership in contract. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_write + /v1/contract_membership_costs: + get: + summary: Returns all contract membership costs for current contract membership + description: Returns all contract membership costs for current contract membership + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract membership costs + content: + application/json: + schema: + properties: + contract_membership_costs: + type: array + items: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + post: + summary: Create contract membership cost + description: Create contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Create contract membership cost + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + /v1/contract_membership_costs/{contract_membership_cost_id}: + get: + summary: Shows a contract membership cost + description: Shows a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Return contract membership cost + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + put: + summary: Update a contract membership cost + description: Update a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Contract membership cost successfully updated + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + delete: + summary: Delete the contract membership cost + description: Delete the contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Contract membership cost successfully deleted + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_destroy + /v1/contract_additions: + get: + summary: Returns all contract additions for current contract + description: Returns all contract additions for current contract + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract additions + content: + application/json: + schema: + properties: + contract_additions: + type: array + items: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + post: + summary: Create contract addition + description: Create contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Create contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + /v1/contract_additions/{contract_addition_id}: + get: + summary: Shows a contract addition + description: Shows a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Return contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + put: + summary: Update a contract addition + description: Update a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Contract addition successfully updated + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + delete: + summary: Delete the contract addition + description: Delete the contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Contract addition successfully deleted + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_destroy + /v1/contract_grants: + get: + summary: Returns all contract grants for current contract + description: Returns all contract grants for current contract + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract grants + content: + application/json: + schema: + properties: + contract_grants: + type: array + items: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + post: + summary: Create contract grant + description: Create contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Create contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + /v1/contract_grants/{contract_grant_id}: + get: + summary: Shows a contract grant + description: Shows a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Return contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + put: + summary: Update a contract grant + description: Update a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Contract grant successfully updated + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + delete: + summary: Delete the contract grant + description: Delete the contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Contract grant successfully deleted + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_destroy + /v1/security_deposits: + post: + summary: Creates a security deposit + description: > + # Description + + Creates a security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '201': + description: Security Deposit successfully created + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + /v1/security_deposits/{security_deposit_id}: + put: + summary: Updates an security deposit + description: > + # Description + + Updates an security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + - name: security_deposit_id + in: path + description: The ID of the security deposit to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '200': + description: Security Deposit successfully updated + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + delete: + summary: Deletes the Security Deposit + description: Deletes the Security Deposit + tags: + - security_deposits + parameters: + - name: security_deposit_id + in: path + description: ID of the Security Deposit + required: true + schema: + type: integer + - name: contract_membership_id + in: query + description: The ID of the contract_membership + required: true + schema: + type: integer + responses: + '200': + description: Security Deposit successfully deleted + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_destroy + /v1/cost_types: + get: + summary: Returns all types of costs within the given customer_account + description: Returns all types of costs within the given customer_account + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of costs within the given customer_account + content: + application/json: + schema: + properties: + cost_types: + type: array + items: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + post: + summary: Creates a type of cost + description: | + # Description + Creates a type of cost + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeCreate' + required: true + responses: + '201': + description: Cost type successfully created + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + /v1/cost_types/{id}: + get: + summary: Shows a cost type + description: Shows a cost type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns the cost_type + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + put: + summary: Updates an cost_type + description: Updates an cost_type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type to update + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeUpdate' + required: true + responses: + '200': + description: Cost type successfully updated + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + delete: + summary: Deletes the cost_type + description: Deletes the cost_type + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the cost_type to delete + required: true + schema: + type: integer + responses: + '200': + description: Cost type successfully deleted + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_destroy + /v1/property_types: + get: + summary: Returns all property types currently available + description: Returns all property types currently available + tags: + - property_types + responses: + '200': + description: Returns all property types + content: + application/json: + schema: + properties: + property_types: + type: array + items: + $ref: '#/components/schemas/PropertyType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_type_read + /v1/properties: + get: + summary: >- + Returns all properties for the current organisation within the given + organisation. + description: >- + Returns all properties for the current organisation within the given + organisation. Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the properties to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the properties to show + required: false + schema: + type: string + responses: + '200': + description: >- + Returns all properties for the organisation within the given + organisation + content: + application/json: + schema: + properties: + properties: + type: array + items: + $ref: '#/components/schemas/PropertyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + post: + summary: Creates a property for the current organisation of the user. + description: >- + Creates a property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyCreate' + required: true + responses: + '201': + description: Property successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + /v1/properties/{property_id}: + get: + summary: Returns the property for the current organisation of the user. + description: >- + Returns the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property + required: true + schema: + type: integer + responses: + '200': + description: Returns the property + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + put: + summary: Updates the property for the current organisation of the user. + description: >- + Updates the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyUpdate' + required: true + responses: + '200': + description: Property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + delete: + summary: Deletes the property within the current organisation. + description: >- + Deletes the property within the current organisation. Organisation + manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_destroy + /v1/property_managers: + get: + summary: Returns all property managers within the given customer account. + description: >- + Returns all property managers within the given customer account. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all property managers within the given customer account. + content: + application/json: + schema: + properties: + property_managers: + type: array + items: + $ref: '#/components/schemas/PropertyManagerIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + post: + summary: Creates a property manager for the current customer account. + description: >- + Creates a property manager for the current customer account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerCreate' + required: true + responses: + '201': + description: Property Manager successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + /v1/property_managers/{property_manager_id}: + get: + summary: Returns the property manager for the current account of the user. + description: >- + Returns the property manager for the current account of the user. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager + required: true + schema: + type: integer + responses: + '200': + description: Returns the property manager + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + put: + summary: Updates the property manager for the current account of the user. + description: >- + Updates the property manager for the current account of the user. Admin + and Supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerUpdate' + required: true + responses: + '200': + description: Property Manager successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + delete: + summary: Deletes the property manager within the current account. + description: >- + Deletes the property manager within the current account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property Manager successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_destroy + /v1/lots: + get: + summary: Returns all lots within the given organisation. + description: >- + Returns all lots within the given organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all lots within the given organisation + content: + application/json: + schema: + properties: + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + post: + summary: Creates a lot. + description: Creates a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotCreate' + required: true + responses: + '201': + description: Lot successfully created + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + /v1/lots/{lot_id}: + get: + summary: Shows a lot. + description: Shows a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the lot + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + put: + summary: Updates an lot. + description: Updates an lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotUpdate' + required: true + responses: + '200': + description: Lot successfully updated + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + delete: + summary: Deletes the lot within the current organisation. + description: >- + Deletes the lot within the current organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to delete + required: true + schema: + type: integer + responses: + '200': + description: Lot successfully deleted + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_destroy + /v1/building_filter_settings: + get: + summary: Returns all building filter settings currently available + description: Returns all building filter settings currently available + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + post: + summary: Create building filter settings + description: Create building filter settings + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Create building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + /v1/building_filter_settings/filter_setting_fields: + get: + summary: Returns all building and building unit fields. + description: Returns all building and building unit fields. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building and building unit fields + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettingFields' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + /v1/building_filter_settings/{building_filter_setting_id}: + get: + summary: Shows a building filter setting + description: Shows a building filter setting + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + building_filter_setting: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + put: + summary: Updates a building filter setting. + description: Updates a building filter setting. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting you want to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Building filter setting successfully updated + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + delete: + summary: Deletes the building filter setting within the current customer account. + description: >- + Deletes the building filter setting within the current customer account. + Account manager only🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Building filter setting successfully deleted + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_destroy + /v1/building_save_filters: + get: + summary: Returns all save filters for current user + description: Returns all save filters for current user + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all save filters + content: + application/json: + schema: + properties: + building_save_filter: + type: array + items: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + post: + summary: Create building save filter + description: Create building save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Create save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + /v1/building_save_filters/{building_save_filter_id}: + get: + summary: Shows a save filter + description: Shows a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Return save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + put: + summary: Update a save filter + description: Update a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Save filter successfully updated + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + delete: + summary: Delete the save filter + description: Delete the save filter + tags: + - building_save_filters + parameters: + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Save filter successfully deleted + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_destroy + /v1/building_types: + get: + summary: Returns all building types currently available + description: Returns all building types currently available + tags: + - building_types + responses: + '200': + description: Returns all building types + content: + application/json: + schema: + properties: + building_types: + type: array + items: + $ref: '#/components/schemas/BuildingType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_type_read + /v1/buildings: + get: + summary: Returns all buildings within the given organisation + description: > + # Description + + Returns all buildings within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: presets_standard_fields + in: query + description: > + Filter building with standard fields of building and building_units +
+ { + building: { name: ['name_of_building',...], city: ['Berlin', ...]} + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: false + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building with customer_attributes of building and + building_units
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building: { region: 'Südwest|West', ...} + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: false + schema: + type: object + - name: tags + in: query + description: > + Filter building with tag label related to building and + building_units
+ { + building: ['label_of_a_tag',...] + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building with category label related to building and + building_units
+ { + building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } } + building_unit: { building_unit_places: ['Building unit place 1'] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all buildings within the given organisation + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + presets: + $ref: '#/components/schemas/BuildingPresets' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + post: + summary: Creates a building + description: > + # Description + + Creates a building + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingCreate' + required: true + responses: + '201': + description: Building successfully created + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + /v1/buildings/{building_id}: + get: + summary: Shows a building + description: Shows a building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the building + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShowWithFacilities' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + put: + summary: Updates an building + description: > + # Description + + Updates an building + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUpdate' + required: true + responses: + '200': + description: Building successfully updated + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + delete: + summary: Deletes the building within the current organisation. + description: >- + Deletes the building within the current organisation. Account manager + only🔒🔒 + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to delete + required: true + schema: + type: integer + responses: + '200': + description: Building successfully deleted + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_destroy + /v1/buildings/{building_id}/scorecard_memberships: + get: + summary: List scorecard memberships by building + description: List scorecard memberships by building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + /v1/building_unit_types: + get: + summary: >- + Returns all building unit types for that customer account including + default types + description: >- + Returns all building unit types for that customer account including + default types + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building unit types + content: + application/json: + schema: + properties: + building_unit_types: + type: array + items: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + post: + summary: Create building unit type. + description: Create building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitTypeCreate' + required: true + responses: + '200': + description: Create building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + /v1/building_unit_types/{building_unit_type_id}: + get: + summary: Shows a building unit type + description: Shows a building unit type + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Return building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + put: + summary: Updates a building unit type. + description: Updates a building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully updated + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + delete: + summary: Deletes building unit type within the current customer account. + description: >- + Deletes building unit type within the current customer account. Account + manager only🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully deleted + content: + application/json: + schema: + properties: + building_unit_types: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_destroy + /v1/building_units: + get: + summary: Returns all building units within the given organisation + description: > + # Description + + Returns all building units within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: building_ids + in: query + description: The IDs of building + required: false + example: 1,2,3 + schema: + type: string + - name: presets_standard_fields + in: query + description: | + Filter building units with standard fields
+ { + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: true + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building units with customer_attributes fields
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: true + schema: + type: object + - name: tags + in: query + description: | + Filter units with tag label
+ { + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building units with category label related to building_units +
+ { + building: {} + building_unit: { building_unit_places: ["Building unit place label"] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all building units within the given organisation + content: + application/json: + schema: + properties: + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + post: + summary: Creates a building unit + description: > + # Description + + Creates a building unit + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitCreate' + required: true + responses: + '201': + description: Building unit successfully created + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + /v1/building_units/{building_unit_id}: + get: + summary: Shows a building unit and all memberships of that unit + description: Shows a building unit and all memberships of that unit + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to show + required: true + schema: + type: integer + responses: + '200': + description: Returns building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + put: + summary: Updates the building unit + description: > + # Description + + Updates the building unit + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["quality_of_available_features", + "current_condition", "planned_monthly_rent", "planned_operating_cost", + "planned_total_rent", "planned_deposit", + "heating_costs_in_operating_costs", "quality_of_available_features", + "current_condition"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be updated + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitUpdate' + required: true + responses: + '200': + description: Returns the updated building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + delete: + summary: Destroys the building unit and all memberships of that unit! + description: Destroys the building unit and all memberships of that unit! + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Returns the destroyed building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_destroy + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + summary: Destroys the organisation membership + description: Destroys the organisation membership + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_membership_id + in: path + description: ID of the organisation membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_destroy + /v1/building_unit_memberships: + post: + summary: Creates a membership in building unit + description: Creates a membership in building unit + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_write + /v1/building_energies: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building energies of the building + content: + application/json: + schema: + properties: + building_energies: + type: array + items: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_read + post: + summary: Creates a building energy + description: | + # Description + Creates a building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_energy: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/building_energies/{building_energy_id}: + put: + summary: Update building energy + description: Update building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_energy_id + in: path + description: ID of the building energy to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyUpdate' + required: true + responses: + '200': + description: Building energy successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/buildings_finances: + get: + summary: Return building finances of the building + description: Return building finances of the building + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building finances of the building + content: + application/json: + schema: + properties: + buildings_finances: + type: array + items: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_read + post: + summary: Creates a building finance + description: | + # Description + Creates a building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + buildings_finance: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/buildings_finances/{buildings_finance_id}: + put: + summary: Update building finance + description: Update building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: buildings_finance_id + in: path + description: ID of the building finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceUpdate' + required: true + responses: + '200': + description: Building finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/building_units_finances: + post: + summary: Creates a building unit finance + description: | + # Description + Creates a building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_units_finance: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_units_finances/{building_units_finance_id}: + put: + summary: Update building unit finance + description: Update building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_units_finance_id + in: path + description: ID of the building unit finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceUpdate' + required: true + responses: + '200': + description: Building unit finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_fms: + get: + summary: Return building fms of the building + description: Return building fms of the building + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building fms of the building + content: + application/json: + schema: + properties: + building_fms: + type: array + items: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_read + post: + summary: Creates a building fm + description: | + # Description + Creates a building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_fm: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_fms/{building_fm_id}: + put: + summary: Update building fm + description: Update building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_fm_id + in: path + description: ID of the building fm to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmUpdate' + required: true + responses: + '200': + description: Building fm successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_unit_retails: + get: + summary: Return building unit retails of the building + description: Return building unit retails of the building + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit + content: + application/json: + schema: + properties: + building_unit_retails: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_read + post: + summary: Creates a building unit retail + description: | + # Description + Creates a building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailCreate' + required: true + responses: + '201': + description: Building unit retail successfully created + content: + application/json: + schema: + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retails/{building_unit_retail_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_retail_id + in: path + description: ID of the building unit retail to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retail_metrics: + get: + summary: Return building unit retails of the building unit retail + description: Return building unit retails of the building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit retail + content: + application/json: + schema: + properties: + building_unit_retail_metrics: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_read + post: + summary: Creates a building unit retail metric + description: | + # Description + Creates a building unit retail metric + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricCreate' + required: true + responses: + '201': + description: Building unit retail metric successfully created + content: + application/json: + schema: + properties: + building_unit_retail_metric: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail + required: true + schema: + type: integer + - name: building_unit_retail_metric_id + in: path + description: ID of the building unit retail metric to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_waters: + get: + summary: Return building waters of the building + description: Return building waters of the building + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building waters of the building + content: + application/json: + schema: + properties: + building_waters: + type: array + items: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_read + post: + summary: Creates a building water + description: | + # Description + Creates a building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_water: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/building_waters/{building_water_id}: + put: + summary: Update building water + description: Update building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_water_id + in: path + description: ID of the building water to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterUpdate' + required: true + responses: + '200': + description: Building water successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/addtl_building_ids: + get: + summary: Return addtl building ids of the building + description: Return addtl building ids of the building + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return addtl building ids + content: + application/json: + schema: + properties: + addtl_building_ids: + type: array + items: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_read + post: + summary: Creates a addtl building id + description: | + # Description + Creates a addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + addtl_building_id: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + summary: Update addtl building id + description: Update addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: addtl_building_id_id + in: path + description: ID of the addtl building id to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdUpdate' + required: true + responses: + '200': + description: Addtl building id successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/phases: + get: + summary: Return phases of the building + description: Return phases of the building + tags: + - phases + responses: + '200': + description: Return phases of the building or unit + content: + application/json: + schema: + properties: + phases: + type: array + items: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_read + post: + summary: Creates a phase + description: | + # Description + Creates a phase + tags: + - phases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseCreate' + required: true + responses: + '201': + description: Phase successfully created + content: + application/json: + schema: + properties: + phase: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/phases/{phase_id}: + put: + summary: Update phase + description: Update phase + tags: + - phases + parameters: + - name: phase_id + in: path + description: ID of the phase to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseUpdate' + required: true + responses: + '200': + description: Building phase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/rent_trackers: + post: + summary: Creates a rent_tracker + description: | + # Description + Creates a rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '201': + description: RentTracker successfully created + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + get: + summary: Return rent_trackers + description: Return rent_trackers + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: organisation_id + in: query + description: ID of the organisation + schema: + type: string + - name: unit_ids + in: query + description: IDs of the units + example: 1,2,3 + schema: + type: string + - name: contract_ids + in: query + description: IDs of the contracts + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return rent_trackers + content: + application/json: + schema: + properties: + rent_trackers: + type: array + items: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + /v1/rent_trackers/{rent_tracker_id}: + get: + summary: Return rent_tracker + description: Return rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker + required: true + schema: + type: string + responses: + '200': + description: Returns rent_tracker + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + put: + summary: Update rent_tracker + description: Update rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '200': + description: Building rent_tracker successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + /v1/building_parkings: + get: + summary: Return building parkings of the building + description: Return building parkings of the building + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building parkings of the building + content: + application/json: + schema: + properties: + building_parkings: + type: array + items: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_read + post: + summary: Creates a building parking + description: | + # Description + Creates a building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_parking: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_parkings/{building_parking_id}: + put: + summary: Update building parking + description: Update building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_parking_id + in: path + description: ID of the building parking to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingUpdate' + required: true + responses: + '200': + description: Building parking successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building + content: + application/json: + schema: + properties: + building_areas: + type: array + items: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_area: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_areas/{building_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_unit_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building unit + content: + application/json: + schema: + properties: + building_unit_areas: + type: array + items: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_area: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_areas/{building_unit_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_places: + get: + summary: Return building unit places of the unit + description: Return building unit places of the unit + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit places of the unit + content: + application/json: + schema: + properties: + building_unit_places: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_read + post: + summary: Creates a building unit places + description: | + # Description + Creates a building unit places + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places/{building_unit_place_id}: + put: + summary: Update building unit place + description: Update building unit place + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_place_id + in: path + description: ID of the building unit place to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceUpdate' + required: true + responses: + '200': + description: Building unit place successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places_timeboxeds: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place timeboxes of the unit + content: + application/json: + schema: + properties: + building_unit_places_timeboxeds: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_read + post: + summary: Creates a building unit place timeboxed + description: | + # Description + Creates a building energy + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedCreate' + required: true + responses: + '201': + description: Building unit place timeboxed successfully created! + content: + application/json: + schema: + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + summary: Update building unit place timeboxed + description: Update building unit place timeboxed + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_places_timeboxed_id + in: path + description: ID of the building unit place timeboxed to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedUpdate' + required: true + responses: + '200': + description: Building unit place timeboxed successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_properties: + get: + summary: Return building unit place properties + description: Return building unit place properties + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit place timeboxed + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place properties of the timeboxed + content: + application/json: + schema: + properties: + building_unit_places_properties: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_read + post: + summary: Creates a building unit place property + description: | + # Description + Creates a building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit timeboxed + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyCreate' + required: true + responses: + '201': + description: Building unit place property successfully created! + content: + application/json: + schema: + properties: + building_unit_places_property: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + summary: Update building unit place property + description: Update building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the timeboxed + required: true + schema: + type: integer + - name: building_unit_places_property_id + in: path + description: ID of the building unit place property to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyUpdate' + required: true + responses: + '200': + description: Building unit place property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/people: + get: + summary: Returns all people within the given organisation. + description: >- + Returns all people within the given organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all people within the given organisation + content: + application/json: + schema: + properties: + people: + type: array + items: + $ref: '#/components/schemas/PersonIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + post: + summary: Creates a person. + description: Creates a person. Organisation manager only 🔒 + tags: + - people + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: false + schema: + type: integer + - name: contact + in: query + description: Boolean check if the person is a contact + required: false + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonCreate' + required: true + responses: + '201': + description: Person successfully created + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + /v1/people/{person_id}: + get: + summary: Shows a person. + description: Shows a person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the person + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + put: + summary: Updates an person. + description: Updates an person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonUpdate' + required: true + responses: + '200': + description: Person successfully updated + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + delete: + summary: Deletes the person within the current organisation. + description: >- + Deletes the person within the current organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to delete + required: true + schema: + type: integer + responses: + '200': + description: Person successfully deleted + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_destroy + /v1/report_templates: + get: + summary: Returns all report template for current customer account + description: Returns all report template for current customer account + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report templates + content: + application/json: + schema: + properties: + report_templates: + type: array + items: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + post: + summary: Create report template. + description: Create report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Create report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + /v1/report_templates/{report_template_id}: + get: + summary: Shows a report template + description: Shows a report template + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Return report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + put: + summary: Update a report template. + description: Update a report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Report template successfully updated + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + delete: + summary: Delete the report template. + description: Delete the report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Report template successfully deleted + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_destroy + /v1/report_account_schemas: + get: + summary: Returns all report account schemas for current customer account + description: Returns all report account schemas for current customer account + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report account schemas + content: + application/json: + schema: + properties: + report_account_schemas: + type: array + items: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + post: + summary: Customer account users only 🔒 + description: Create report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Create report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + /v1/report_account_schemas/{report_account_schema_id}: + get: + summary: Shows a report account schema + description: Shows a report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Return report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + put: + summary: Update a report account schema. + description: Update a report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Report account schema successfully updated + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + delete: + summary: Delete the report account schema. + description: Delete the report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Report account schema successfully deleted + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_destroy + /v1/person_memberships: + get: + summary: 'Returns all person_memberships within the given organisation. ' + description: Returns all person_memberships within the given organisation. + tags: + - person_memberships + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: true + schema: + type: integer + - name: member_id + in: query + description: The ID of the member + required: true + schema: + type: integer + - name: member_type + in: query + description: The type of the member + required: true + schema: + type: string + responses: + '200': + description: Returns all person_memberships within the given customer account + content: + application/json: + schema: + properties: + person_memberships: + type: array + items: + $ref: '#/components/schemas/PersonMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_read + post: + summary: Creates a membership in person + description: Creates a membership in person + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_write + /v1/person_memberships/{person_membership_id}: + delete: + summary: Destroys the person membership + description: Destroys the person membership + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_membership_id + in: path + description: ID of the person membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_destroy + /v1/levels: + get: + summary: Returns all levels within the given organisation. + description: >- + Returns all levels within the given organisation. Organisation manager + only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: query + description: The ID of the building + required: false + schema: + type: integer + - name: name + in: query + description: The name of the level + required: false + schema: + type: string + responses: + '200': + description: Returns all levels within the given organisation + content: + application/json: + schema: + properties: + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + post: + summary: Creates a level + description: Creates a level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelCreate' + required: true + responses: + '201': + description: Level successfully created + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + /v1/levels/{level_id}: + put: + summary: Updates an level + description: Updates an level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelUpdate' + required: true + responses: + '200': + description: Level successfully updated + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + delete: + summary: Deletes the level within the current organisation + description: Deletes the level within the current organisation + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to delete + required: true + schema: + type: integer + responses: + '200': + description: Level successfully deleted + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_destroy + get: + summary: Shows a level. + description: Shows a level. Organisation manager only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the level + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + /v1/room_and_zone_types: + get: + summary: Returns all room and area types currently available + description: Returns all room and area types currently available + tags: + - room_and_zone_types + responses: + '200': + description: Returns all room and area types + content: + application/json: + schema: + properties: + room_and_zone_types: + type: array + items: + $ref: '#/components/schemas/RoomAndZoneType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_and_zone_type_read + /v1/rooms: + get: + summary: Returns all rooms within the given organisation + description: Returns all rooms within the given organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all rooms within the given organisation + content: + application/json: + schema: + properties: + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + post: + summary: Creates a room + description: Creates a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomCreate' + required: true + responses: + '201': + description: Room successfully created + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + /v1/rooms/{room_id}: + get: + summary: Shows a room + description: Shows a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the room + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + put: + summary: Updates an room + description: Updates an room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomUpdate' + required: true + responses: + '200': + description: Room successfully updated + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + delete: + summary: Deletes the room within the current organisation + description: Deletes the room within the current organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to delete + required: true + schema: + type: integer + responses: + '200': + description: Room successfully deleted + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_destroy + /v1/zones: + post: + summary: Creates a zone + description: Creates a zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneCreate' + required: true + responses: + '201': + description: Zone successfully created + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + /v1/zones/{zone_id}: + put: + summary: Updates an zone + description: Updates an zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneUpdate' + required: true + responses: + '200': + description: Zone successfully updated + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + delete: + summary: Deletes the zone within the current organisation + description: Deletes the zone within the current organisation + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to delete + required: true + schema: + type: integer + responses: + '200': + description: Zone successfully deleted + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_destroy + /v1/departments: + get: + summary: Returns all departments within the given organisation + description: Returns all departments within the given organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all departments within the given organisation + content: + application/json: + schema: + properties: + departments: + type: array + items: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_read + post: + summary: Creates a department within the current organisation + description: Creates a department within the current organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentCreate' + required: true + responses: + '201': + description: Department successfully created + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + /v1/departments/{department_id}: + put: + summary: Updates an department within the current organisation. + description: >- + Updates an department within the current organisation. Organisation + manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentUpdate' + required: true + responses: + '200': + description: Department successfully updated + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + delete: + summary: Marks a department as deleted within the current organisation. + description: >- + Marks a department as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to delete + required: true + schema: + type: integer + responses: + '200': + description: Department successfully marked as deleted + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_destroy + /v1/manufacturers: + get: + summary: Returns all manufacturers within the given organisation + description: Returns all manufacturers within the given organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all manufacturers within the given organisation + content: + application/json: + schema: + properties: + manufacturers: + type: array + items: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + summary: Creates a manufacturer within the current organisation + description: Creates a manufacturer within the current organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}: + put: + summary: Updates an manufacturer within the current organisation. + description: >- + Updates an manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerUpdate' + required: true + responses: + '200': + description: Manufacturer successfully updated + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + summary: Deletes the manufacturer within the current organisation. + description: >- + Deletes the manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to delete + required: true + schema: + type: integer + responses: + '200': + description: Manufacturer successfully deleted + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/manufacturers/{manufacturer_id}/model_types: + get: + description: Returns all types of models within the given manufacturer + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of models within the given manufacturer + content: + application/json: + schema: + properties: + model_types: + type: array + items: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + description: Creates a model_type + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + put: + description: Updates an model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to update + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeUpdate' + required: true + responses: + '200': + description: Model type successfully updated + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + description: Deletes the model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to delete + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Model type successfully deleted + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/facility_types: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint to show a drop down of all available facility types. + Once a specific facility type is selected you can lazy load the matching + JSON schema via the Facility Types SHOW endpoint. + tags: + - facility_types + responses: + '200': + description: Returns all facility types excluding their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/facility_types_with_schema: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint if you implement an own cache mechanism. The facility + types do only change infrequently. + tags: + - facility_types + responses: + '200': + description: Returns all facility types including their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeWithSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/{facility_type_id}: + get: + summary: Shows a facility type + description: Shows a facility type + tags: + - facility_types + parameters: + - name: facility_type_id + in: path + description: The ID of the facility type to show + required: true + schema: + type: integer + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns the facility type + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facilities: + get: + summary: Returns all facilities within the given organisation + description: |+ + # Description + Returns all facilities within the given organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: custom_id + in: query + description: Filter facilities by custom_id + required: false + schema: + type: string + - name: inventory_number + in: query + description: Filter facilities by inventory_number + required: false + schema: + type: string + - name: serial_number + in: query + description: Filter facilities by serial_number + required: false + schema: + type: string + - name: year_of_construction + in: query + description: Filter facilities by year_of_construction + required: false + schema: + type: string + - name: manufacturer_id + in: query + description: Filter facilities by manufacturer_id + required: false + schema: + type: string + - name: department_id + in: query + description: Filter facilities by department_id + required: false + schema: + type: string + - name: facility_type_id + in: query + description: Filter facilities by facility_type_id + required: false + schema: + type: string + - name: property_id + in: query + description: Filter facilities by property_id + required: false + schema: + type: string + - name: lot_id + in: query + description: Filter facilities by lot_id + required: false + schema: + type: string + - name: building_id + in: query + description: Filter facilities by building_id + required: false + schema: + type: string + - name: level_id + in: query + description: Filter facilities by level_id + required: false + schema: + type: string + - name: room_id + in: query + description: Filter facilities by room_id + required: false + schema: + type: string + - name: zone_id + in: query + description: Filter facilities by zone_id + required: false + schema: + type: string + - name: user_id + in: query + description: Filter facilities by user_id + required: false + schema: + type: string + - name: page + in: query + description: page for pagination by default 0 + required: false + schema: + type: number + - name: per_page + in: query + description: number of items per page by default 50 + required: false + schema: + type: number + responses: + '200': + description: Returns all facilities within the given organisation + content: + application/json: + schema: + properties: + facilities: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + post: + summary: Creates a facility + description: |+ + # Description + Creates a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityCreate' + required: true + responses: + '201': + description: Facility successfully created + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + /v1/facilities/{facility_id}: + get: + summary: Shows a facility + description: |+ + # Description + Shows a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the facility + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + put: + summary: Updates an facility + description: |+ + # Description + Updates an facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to update + required: true + schema: + type: integer + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityUpdate' + required: true + responses: + '200': + description: Facility successfully updated + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + delete: + summary: Deletes the facility within the current organisation + description: |+ + # Description + Deletes the facility within the current organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to delete + required: true + schema: + type: integer + responses: + '200': + description: Facility successfully deleted + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_destroy + /v1/activities: + get: + summary: Returns all activities within the given organisation. + description: >- + Returns all activities within the given organisation. They can be + filtered based on property or building + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: query + description: The ID property to filter the activities. + required: false + schema: + type: string + - name: building_id + in: query + description: The ID of building to filter activities + required: false + schema: + type: string + responses: + '200': + description: Returns all activities within the given organisation. + content: + application/json: + schema: + properties: + activities: + type: array + items: + $ref: '#/components/schemas/ActivityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + post: + summary: Creates an activity + description: >+ + # Description + + Creates an activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityCreate' + required: true + responses: + '201': + description: Activity successfully created + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + /v1/activities/{activity_id}: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: The ID of the activity to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + put: + summary: Update the activity + description: Update the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityUpdate' + required: true + responses: + '200': + description: Activity successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + delete: + summary: Delete the activity + description: Delete the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to delete + required: true + schema: + type: string + responses: + '200': + description: Activity successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_destroy + /v1/activities/{external_id}/reference: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: path + description: The External ID of the activity to show + required: true + schema: + type: string + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + /v1/activity_types: + get: + summary: Returns all activity types + description: Returns all activity types, Admin, Supervisor 🔒 + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current account + required: false + schema: + type: integer + responses: + '200': + description: Returns all activity types + content: + application/json: + schema: + properties: + activity_types: + type: array + items: + $ref: '#/components/schemas/ActivityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + post: + summary: Creates an activity type + description: | + # Description + Creates an activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '201': + description: Activity type successfully created + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + /v1/activity_types/{activity_type_id}: + get: + summary: Shows a activity type + description: | + # Description + Shows a activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity type + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + put: + summary: Update the activity type + description: Update the activity type + tags: + - activity_types + parameters: + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '200': + description: Activity type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + delete: + summary: Delete the activity type + description: Delete the activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Activity type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_destroy + /v1/attachments: + post: + summary: Creates an attachment + description: >+ + # Description + + Creates an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentCreate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/copy: + post: + summary: Duplicate an attachment + description: >+ + # Description + + Duplicate an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentDuplicate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/{attachment_id}: + delete: + summary: Marks an attachment as deleted. + description: >+ + # Description + + Marks an attachment as deleted. + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: attachment_id + in: path + description: The ID of the attachment to delete + required: true + schema: + type: integer + responses: + '200': + description: Attachment successfully marked as deleted + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_destroy + /v1/images: + post: + summary: Creates an image + description: >+ + # Description + + Creates an image + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageCreate' + required: true + responses: + '201': + description: Image successfully created + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + /v1/images/{image_id}: + put: + summary: Updates an image. + description: >+ + # Description + + Updates an image. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageUpdate' + required: true + responses: + '200': + description: Image successfully updated + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + delete: + summary: Marks an image as deleted. + description: >+ + # Description + + Marks an image as deleted. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to delete + required: true + schema: + type: integer + responses: + '200': + description: Image successfully marked as deleted + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_destroy + /v1/time_dependent_attributes: + get: + summary: Returns all time_dependent_attributes within the given parent + description: Returns all time_dependent_attributes within the given parent + tags: + - time_dependent_attributes + parameters: + - name: id + in: query + description: Filter time_dependent_attributes by id. + required: false + schema: + type: string + - name: parent_id + in: query + description: Filter time_dependent_attributes by parent_id. + required: false + schema: + type: string + - name: parent_type + in: query + description: | + Filter time_dependent_attributes by parent_type. + Allowed parent_types: Building, Building::Unit + required: false + schema: + type: string + - name: attribute_key + in: query + description: Filter time_dependent_attributes by attribute_key. + required: false + schema: + type: string + responses: + '200': + description: Returns all time_dependent_attributes within the given parent + content: + application/json: + schema: + properties: + time_dependent_attributes: + type: array + items: + $ref: '#/components/schemas/TimeDependentAttributeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_read + post: + summary: Creates a time_dependent_attribute + description: | + # Description + Creates a time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeCreate' + required: true + responses: + '201': + description: TimeDependentAttribute successfully created + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + put: + summary: Updates an time_dependent_attribute + description: | + # Description + Updates an time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeUpdate' + required: true + responses: + '200': + description: TimeDependentAttribute successfully updated + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + delete: + summary: Deletes the specified time_dependent_attribute + description: Deletes the specified time_dependent_attribute + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to delete + required: true + schema: + type: integer + responses: + '200': + description: TimeDependentAttribute successfully deleted + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_destroy + /v1/webhooks: + get: + summary: Returns all webhooks + description: Returns all webhooks within the given customer account. + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all webhooks within the organisation + content: + application/json: + schema: + properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/WebhookIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + post: + summary: Creates a webhook + description: | + # Description + Creates a new webhook + # URL + The url where the payload will be sent + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + # Modes + testing = 0 , live = 1 + # Organisation IDs + Leaving it empy will send the event to all of the customer account organisations + # Secret + This secret is used to encrypt checksum + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreate' + required: true + responses: + '201': + description: Webhook successfully created + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + /v1/webhooks/{webhook_id}: + get: + summary: Shows a webhook + description: Shows a webhook, Organisation manager 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the webhook + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + put: + summary: Updates a webhook + description: | + # Description + Updates a webhook, Organisation manager 🔒 + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookUpdate' + required: true + responses: + '200': + description: Webhook successfully updated + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + delete: + summary: Deletes the webhook within the current organisation. + description: >- + Deletes the webhook within the current organisation. Organisation + manager only 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: The ID of the webhook to delete + required: true + schema: + type: integer + responses: + '200': + description: Webhook successfully deleted + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_destroy + /v1/tags: + get: + summary: Returns all tags within the given customer account. + description: >- + Returns all tags within the given customer account. It also returns the + count of buildings and units + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: label + in: query + description: Search for the label + required: false + schema: + type: string + responses: + '200': + description: Returns all tags within the given customer account + content: + application/json: + schema: + properties: + tags: + type: array + items: + $ref: '#/components/schemas/TagIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_read + post: + summary: Creates a tag + description: | + # Description + Creates a tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagCreate' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/{tag_id}: + put: + summary: Update the tag + description: Update the tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: ID of the tag you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdate' + required: true + responses: + '200': + description: Tag successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + delete: + summary: Marks a tag as deleted. + description: | + # Description + Marks a tag as deleted. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: The ID of the tag to delete + required: true + schema: + type: integer + responses: + '200': + description: Tag successfully marked as deleted + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_destroy + /v1/tags/merge: + post: + summary: Merges master tags with other tags + description: | + # Description + Master tag is the main tag that get all other tags building or units + Other tags after the merge will be deleted + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeBody' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/assign_buildings: + put: + summary: Assign multiple tags to multiple buildings + description: > + # Description + + Assign multiple tags to multiple buildings + + ATTENTION ⚠️ This will NOT delete previously assigned tags to those + buildings + + If you see more tags they probably are assigned from building + create/update endpoint. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagAssignBuildings' + required: true + responses: + '200': + description: Tags assigned successfully + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/imports: + get: + summary: Return all imports + description: Return all imports + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: is_demo + in: query + description: Filter by is_demo + required: false + schema: + type: boolean + - name: location_type + in: query + description: Filter the imports by type + required: false + schema: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + responses: + '200': + description: Return all imports for the specific customer account + content: + application/json: + schema: + properties: + csv_imports: + type: array + items: + $ref: '#/components/schemas/CsvImportIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + post: + summary: Creates a import by file + description: | + # Description + Creates a new import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportCreate' + required: true + responses: + '201': + description: Csv imported successfully! + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShowCreate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/imports/{import_id}: + get: + summary: Shows information for specific import + description: Shows information for an import. + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the csv import + required: true + schema: + type: integer + responses: + '200': + description: Return an import + content: + application/json: + schema: + properties: + csv_import: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + put: + summary: Update the import + description: Update the import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the import you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportUpdate' + required: true + responses: + '200': + description: Import successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/scorecards: + get: + summary: Returns all scorecards + description: Returns all scorecards within the given customer account. + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all scorecards within the customer account + content: + application/json: + schema: + properties: + scorecards: + type: array + items: + $ref: '#/components/schemas/ScorecardIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + post: + summary: Creates a scorecard + description: > + # Description + + Creates a new scorecard. This only creates a new scorecard. The score + calculation + + is triggered when the scorecard is assigned to a building. Check + scorecard_memberships + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardCreate' + required: true + responses: + '201': + description: Scorecard successfully created + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + /v1/scorecards/{scorecard_id}: + get: + summary: Shows a scorecard + description: Shows a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + put: + summary: Updates a scorecard + description: | + # Description + Updates a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardUpdate' + required: true + responses: + '200': + description: Scorecard successfully updated + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + delete: + summary: Deletes the scorecard within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: The ID of the scorecard to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard successfully deleted + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_destroy + /v1/scorecard_segments: + post: + summary: Creates a scorecard segment + description: | + # Description + Creates a new scorecard segment + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentCreate' + required: true + responses: + '201': + description: Scorecard segment successfully created + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + /v1/scorecard_segments/{scorecard_segment_id}: + put: + summary: Updates a scorecard segment + description: | + # Description + Updates a scorecard segment, Account manager 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: >- + The ID of the scorecard segment (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentUpdate' + required: true + responses: + '200': + description: Scorecard segment successfully updated + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + delete: + summary: Deletes the scorecard segment within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: The ID of the scorecard segment to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard segment successfully deleted + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_destroy + /v1/scorecard_topics: + post: + summary: Creates a scorecard topic + description: | + # Description + Creates a new scorecard topic + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicCreate' + required: true + responses: + '201': + description: Scorecard topic successfully created + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + /v1/scorecard_topics/{scorecard_topic_id}: + put: + summary: Updates a scorecard topic + description: | + # Description + Updates a scorecard topic, Account manager 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: >- + The ID of the scorecard topic (only shows the topic based on current + account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicUpdate' + required: true + responses: + '200': + description: scorecard topic successfully updated + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + delete: + summary: Deletes the scorecard topic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: The ID of the scorecard topic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard topic successfully deleted + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_destroy + /v1/scorecard_subtopics: + post: + summary: Creates a scorecard subtopic + description: | + # Description + Creates a new scorecard subtopic + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicCreate' + required: true + responses: + '201': + description: Scorecard subtopic successfully created + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + put: + summary: Updates a scorecard subtopic + description: | + # Description + Updates a scorecard subtopic, Account manager 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: >- + The ID of the scorecard subtopic (only shows the subtopic based on + current account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicUpdate' + required: true + responses: + '200': + description: scorecard subtopic successfully updated + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + delete: + summary: Deletes the scorecard subtopic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: The ID of the scorecard subtopic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard subtopic successfully deleted + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_destroy + /v1/scorecard_memberships/de_assign: + post: + summary: De-assigns scorecard memberships from scorecard + description: | + # Description + De-assigns scorecard memberships from scorecard + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipDeAssign' + required: true + responses: + '201': + description: Scorecard membership de-assigned successfully + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships: + get: + summary: 'Returns all scorecard memberships within the given account. ' + description: Returns all scorecard memberships within the given account. + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter memberships + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard_memberships within the given customer account + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + post: + summary: Creates a scorecard membership + description: | + # Description + Creates a new scorecard membership + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCreate' + required: true + responses: + '201': + description: Scorecard membership successfully created + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/{scorecard_membership_id}: + get: + summary: Shows a scorecard membership + description: Shows a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + delete: + summary: Deletes the scorecard membership within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: The ID of the scorecard membership to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard membership successfully deleted + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_destroy + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + summary: Refresh a scorecard membership + description: Refresh a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + /v1/scorecard_memberships/refresh_by_scorecard: + post: + summary: Refresh scores for specific scorecard/s + description: Refresh scores for specific scorecard/s + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByScorecard' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/refresh_all_by_parent: + post: + summary: Refresh all scorecards by parent + description: Refresh all scorecards by parent + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByParent' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/calculated_costs: + post: + summary: Calculated costs of scorecard memberships + description: >- + Return calculated costs of scorecard memberships, Customer account + manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + calculated_costs: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipCostResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/count_buildings: + post: + summary: Get number of buildings by providing scorecard ids + description: >- + Get number of buildings by providing scorecard ids, Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + scorecard_membership: + type: array + items: + $ref: '#/components/schemas/CountBuildingsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_assigners: + get: + summary: 'Returns all scorecard assigners within the given account. ' + description: Returns all scorecard assigners within the given account. + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter assigners + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard assigners within the given customer account + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + post: + summary: Creates a scorecard assigner + description: | + # Description + Creates a new scorecard assigner + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardAssignerCreate' + required: true + responses: + '201': + description: Scorecard assigner successfully created + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_write + /v1/scorecard_assigners/{scorecard_assigner_id}: + get: + summary: Shows a scorecard assigner + description: Shows a scorecard assigner, Customer account manager 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: >- + The ID of the scorecard assigner (only shows the scorecards based on + current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard assigner + content: + application/json: + schema: + properties: + scorecard_assigners: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + delete: + summary: Deletes the scorecard assigner within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: The ID of the scorecard assigner to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard assigner successfully deleted + content: + application/json: + schema: + properties: + scorecard_assigner: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_destroy + /v1/data_catalogs: + get: + summary: Returns all data catalogs + description: Returns all data catalogs within the given customer account. + tags: + - data_catalogs + parameters: + - name: locale + in: query + description: The locale for filtering the data catalogs. + required: false + schema: + type: string + enum: + - en + - de + - name: app_ids + in: path + description: The ids of the apps for filtering the data catalogs. + required: true + schema: + type: string + responses: + '200': + description: Returns all data catalogs within the app + content: + application/json: + schema: + properties: + data_catalog: + type: array + items: + $ref: '#/components/schemas/DataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + post: + summary: Creates a data catalog + description: | + # Description + Creates a new catalog + tags: + - data_catalogs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogCreate' + required: true + responses: + '201': + description: data_catalog successfully created + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + /v1/data_catalogs/{data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the data_catalogs based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + put: + summary: Updates a data_catalog + description: | + # Description + Updates a data_catalog, Organisation manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog (only shows the data catalog) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogUpdate' + required: true + responses: + '200': + description: Data catalog successfully updated + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + delete: + summary: Deletes the data catalog within the current app. + description: >- + Deletes the data_catalog within the current account. Customer account + manager only 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog to delete + required: true + schema: + type: integer + responses: + '200': + description: Data catalog successfully deleted + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_destroy + /v1/raw_data_catalogs: + get: + summary: Returns all raw data catalogs + description: Returns all raw data catalogs within the given customer account. + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: limit + in: query + description: >- + Limit the number of results to return, if null then return all + results + required: false + schema: + type: integer + - name: order_by + in: query + description: >- + The ordering of the results returned, if null then will return not + ordered results. + Possible columns: app_id, status, version, + Possible order: asc, desc + required: false + example: app_id.desc, status.desc, version.desc + schema: + type: string + responses: + '200': + description: Returns all raw data catalogs within the app + content: + application/json: + schema: + properties: + raw_data_catalog: + type: array + items: + $ref: '#/components/schemas/RawDataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: raw_data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the raw_data_catalogs based + on current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + RawDataCatalog: + $ref: '#/components/schemas/RawDataCatalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/rent_increase_types: + post: + summary: Creates a rent_increase_type (Admin only) + description: | + # Description + Creates a rent_increase_type + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '201': + description: RentIncreaseType successfully created + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + get: + summary: Return rent_increase_types + description: Return rent_increase_types + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent_increase_types + content: + application/json: + schema: + properties: + rent_increase_types: + type: array + items: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + /v1/rent_increase_types/{rent_increase_type_id}: + get: + summary: Return rent_increase_type + description: Return rent_increase_type + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_type + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + put: + summary: Update rent_increase_type + description: | + # Description + Update rent_increase_type (Admin only) + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '200': + description: Building rent_increase_type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + delete: + summary: Delete a rent_increase_type (Admin only) + description: | + # Description + Delete a rent_increase_type. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_type_id + in: path + description: The ID of the rent_increase_type to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_type successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_destroy + /v1/rent_increase_indices: + post: + summary: Creates a rent_increase_index (Admin only) + description: | + # Description + Creates a rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '201': + description: RentIncreaseIndex successfully created + content: + application/json: + schema: + properties: + rent_increase_indices: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + get: + summary: Return rent_increase_indices + description: Return rent_increase_indices + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: query + description: ID of the rent_increase_type + schema: + type: integer + - name: date + in: query + description: Date of the rent_increase_index + schema: + type: string + format: date + - name: subtype + in: query + description: Subtype (building_type) of the rent_increase + schema: + type: string + responses: + '200': + description: Return rent_increase_indices + content: + application/json: + schema: + properties: + rent_increase_indices: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + /v1/rent_increase_indices/{rent_increase_index_id}: + get: + summary: Return rent_increase_index + description: Return rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_index + content: + application/json: + schema: + properties: + rent_increase_index: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + put: + summary: Update rent_increase_index + description: | + # Description + Update rent_increase_index (Admin only) + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '200': + description: Building rent_increase_index successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + delete: + summary: Delete a rent_increase_index (Admin only) + description: | + # Description + Delete a rent_increase_index. + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: The ID of the rent_increase_index to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_index successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_destroy + /v1/task_memberships: + post: + summary: Creates a task_membership + description: | + # Description + Creates a task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '201': + description: TaskMembership successfully created + content: + application/json: + schema: + properties: + task_membership: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + get: + summary: Return task_memberships + description: Return task_memberships + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_ids + in: query + description: IDs of the tasks + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return task_memberships + content: + application/json: + schema: + properties: + task_memberships: + type: array + items: + $ref: '#/components/schemas/TaskMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_read + /v1/task_memberships/{task_membership_id}: + delete: + summary: Delete the task_membership + description: Delete the task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership you want to delete + required: true + schema: + type: string + responses: + '200': + description: TaskMembership successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_destroy + put: + summary: Update task_membership + description: Update task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '200': + description: Building task_membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + /v1/rent_increases: + post: + summary: Creates a rent's increase (Admin only) + description: | + # Description + Creates a rent's increase + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseCreate' + required: true + responses: + '201': + description: RentIncrease successfully created + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + get: + summary: Return rent's increases + description: Return rent's increases + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent's increases + content: + application/json: + schema: + properties: + rent_increases: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + /v1/rent_increases/{rent_increase_id}/apply: + put: + summary: Apply rent' increase + description: | + # Description + Apply rent_increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + - name: apply + in: query + required: true + schema: + type: boolean + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + /v1/rent_increases/{rent_increase_id}: + get: + summary: Return rent's increase + description: Return rent's increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase + required: true + schema: + type: integer + responses: + '200': + description: Returns rent' increase + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + put: + summary: Update rent' increase + description: | + # Description + Update rent_increase (Admin only) + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncrease' + required: true + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + delete: + summary: Delete a rent_increase (Admin only) + description: | + # Description + Delete a rent_increase. + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_id + in: path + description: The ID of the rent_increase to delete + required: true + schema: + type: integer + responses: + '200': + description: Rent's increase successfully deleted + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_destroy + /v1/emission_factor_settings/update: + post: + summary: Updates an EmissionFactorSetting + description: Updates an EmissionFactorSetting within account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingUpdate' + required: true + responses: + '200': + description: EmissionFactorSetting successfully updated + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings: + get: + summary: Returns all EmissionFactorSettings within the given account + description: Returns all EmissionFactorSettings within the given account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns all EmissionFactorSettings within the given account + content: + application/json: + schema: + properties: + emission_factor_settings: + type: array + items: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + post: + summary: Creates an EmissionFactorSetting + description: Creates an EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingCreate' + required: true + responses: + '201': + description: EmissionFactorSetting successfully created + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings/{emission_factor_setting_id}: + get: + summary: Shows a EmissionFactorSetting + description: Shows a EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns the EmissionFactorSetting + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + delete: + summary: Deletes the EmissionFactorSetting within the account. + description: Deletes the EmissionFactorSetting within the account. + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: EmissionFactorSetting successfully deleted + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_destroy + /v1/customer_account_category_configs: + post: + summary: Creates a customer account category config + description: | + # Description + Creates a customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigCreate' + required: true + responses: + '201': + description: Customer account category config successfully created + content: + application/json: + schema: + properties: + customer_account_category_config: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + /v1/customer_account_category_configs/{customer_account_category_config_id}: + put: + summary: Update the customer account category config + description: Update the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigUpdate' + required: true + responses: + '200': + description: Customer account category config successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + delete: + summary: Delete the customer account category config + description: Delete the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category config successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_destroy +servers: + - url: api.realcube.com/api +components: + parameters: + current_organisation_id: + name: current_organisation_id + in: query + description: ID of the current organisation + required: true + schema: + type: integer + requestBodies: + ContractMembershipCostCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCostCreate' + required: true + ActivityTypeCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeCreate' + required: true + ContractAdditionCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractAdditionCreate' + required: true + BuildingFilterSettingsCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFilterSettingsCreate' + required: true + SecurityDepositCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityDepositCreate' + required: true + TaskMembership: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembership' + required: true + RentIncreaseType: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseType' + required: true + OrganisationConfigCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationConfigCreate' + required: true + ContractGrantCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractGrantCreate' + required: true + BuildingSaveFiltersCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingSaveFiltersCreate' + required: true + RentTrackerCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerCreate' + required: true + ReportTemplateCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportTemplateCreate' + required: true + ReportAccountSchemaCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportAccountSchemaCreate' + required: true + ScorecardMembershipCost: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCost' + required: true + RentIncreaseIndices: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndices' + required: true + securitySchemes: + api_key: + type: apiKey + name: X-Api-Key + in: header + oauth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + scopes: + app_category_read: Get the app categories + app_config_read: Get the app_configs + app_config_write: Create or edit an app_config + app_config_destroy: Delete the app_config + app_data_repository_read: Get the app_data_repositories + app_data_repository_write: Create or edit an app_data_repository + app_data_repository_destroy: Delete the app_data_repository + app_subscription_read: Get the app_subscriptions + app_subscription_write: Create or edit an app_subscription + app_subscription_destroy: Delete the app_subscription + app_read: Get the apps + app_write: Create or edit an app + app_destroy: Delete the app + contract_addition_read: Get the contract_additions + contract_addition_write: Create or edit an contract_addition + contract_addition_destroy: Delete the contract_addition + contract_grant_read: Get the contract_grants + contract_grant_write: Create or edit an contract_grant + contract_grant_destroy: Delete the contract_grant + contract_membership_cost_read: Get the contract_membership_costs + contract_membership_cost_write: Create or edit an contract_membership_cost + contract_membership_cost_destroy: Delete the contract_membership_cost + contract_membership_write: Create or edit an contract_membership + contract_membership_destroy: Delete the contract_membership + contract_read: Get the contracts + contract_write: Create or edit an contract + contract_destroy: Delete the contract + cost_type_read: Get the cost_types + cost_type_write: Create or edit an cost_type + cost_type_destroy: Delete the cost_type + security_deposit_write: Create or edit an security_seposit + security_deposit_destroy: Delete the security_seposit + report_account_schema_read: Get the report_account_schemas + report_account_schema_write: Create or edit an report_account_schema + report_account_schema_destroy: Delete the report_account_schema + report_template_read: Get the report_templates + report_template_write: Create or edit the report_template + report_template_destroy: Delete the report_template + department_read: Get the departments + department_write: Create or edit an department + department_destroy: Delete the department + manufacturer_read: Get the manufacturers + manufacturer_write: Create or edit an manufacturer + manufacturer_destroy: Delete the manufacturer + room_and_zone_type_read: Get room_and_zone_types + room_read: Get the rooms + room_write: Create or edit an room + room_destroy: Delete the room + zone_write: Create or edit an zone + zone_destroy: Delete the zone + level_read: Get level + level_write: Create or edit an facility_type + level_destroy: Delete the facility_type + facility_read: Get facility + facility_write: Create or edit an facility_type + facility_destroy: Delete the facility_type + facility_type_read: Get the facility_types + plan_version_write: Create or edit an plan_version + plan_version_destroy: Delete the plan_version + plan_read: Get the plans + plan_write: Create or edit an plan + plan_destroy: Delete the plan + plan_config_read: Get the config of a plan + activity_read: Fetch activities + activity_write: Create and edit an activity + activity_destroy: Delete the activity + attachment_write: Create or edit an attachment + attachment_destroy: Delete the attachment + building_filter_setting_read: Get the building_filter_settings + building_filter_setting_write: Create or edit an building_filter_setting + building_filter_setting_destroy: Delete the building_filter_setting + building_save_filter_read: Get the building_save_filters + building_save_filter_write: Create or edit an building_save_filter + building_save_filter_destroy: Delete the building_save_filter + building_type_read: Get the building_types + building_unit_membership_write: Create or edit an building_unit_membership + building_unit_membership_destroy: Delete the building_unit_membership + building_unit_type_read: Get the building_unit_types + building_unit_type_write: Create or edit an building_unit_type + building_unit_type_destroy: Delete the building_unit_type + building_unit_read: Get the building_units + building_unit_write: Create or edit an building_unit + building_unit_destroy: Delete the building_unit + building_read: Get the buildings + building_write: Create or edit an building + building_destroy: Delete the building + customer_account_config_read: Get the customer_account_configs + customer_account_config_write: Create or edit an customer_account_config + customer_account_schema_read: Get the customer_account_schemas + customer_account_schema_write: Create or edit an customer_account_schema + customer_attributes_schema_membership_read: Get the customer_attributes_schema_memberships + customer_attributes_schema_membership_write: Create or edit an customer_attributes_schema_membership + customer_attributes_schema_read: Get the customer_attributes_schemas + customer_attributes_schema_write: Create or edit an customer_attributes_schema + image_write: Create or edit the image + image_destroy: Delete the image + lot_read: Get the lots + lot_write: Create or edit an lot + lot_destroy: Delete the lot + organisation_config_read: Get the organisation_configs + organisation_config_write: Create or edit an organisation_config + organisation_membership_read: Get the organisation_memberships + organisation_membership_write: Create or edit an organisation_membership + organisation_membership_destroy: Delete the organisation_membership + organisation_read: Get the organisations + organisation_write: Create or edit an organisation + person_read: Get the people + person_write: Create or edit an person + person_destroy: Delete the person + person_membership_write: Create or edit an person_membership + person_membership_destroy: Delete the person_membership + property_read: Get the properties + property_write: Create or edit an property + property_destroy: Delete the property + property_type_read: Get the property_types + user_write: Log In or edit, or reset password for an user + user_destroy: Log out + vpi_index_read: Get the vpi_index + credential_read: Get oauth credentials + dashboard_config_read: Get dashboard config for an account + dashboard_config_write: Add or edit the dashboard config for an account + dashboard_config_destroy: Remove the dashboard config for an account + time_dependent_attribute_read: Get time_dependent_attribute for an account + time_dependent_attribute_write: Add or edit the time_dependent_attribute for an account + time_dependent_attribute_destroy: Remove the time_dependent_attribute for an account + ep_code_combination_read: Get the ep_code_combinations + customer_account_write: '' + schemas: + PlatformConfig: + type: object + properties: + landing_page_marketing: + type: object + properties: + headline: + type: string + button_title: + type: string + button_link: + type: string + button_displayed: + type: boolean + image: + type: string + body: + type: string + PlatformConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + PlatformConfigCreate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + PlatformConfigUpdate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + User: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + format: email + phone: + type: string + locale: + type: string + enum: + - de + - en + - gsw + user_settings: + type: object + UserShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - last_editor + properties: + thumbnail_url: + type: string + last_editor: + $ref: '#/components/schemas/User' + UserEmail: + properties: + email: + type: string + UserCreate: + allOf: + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + redirect_url: + type: string + role_policy_ids: + type: array + items: {} + UserUpdate: + allOf: + - $ref: '#/components/schemas/User' + - properties: + password: + type: string + current_password: + type: string + role_policy_ids: + type: array + items: {} + UserResetPasswordInstructions: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserInvitations: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserSignIn: + required: + - email + - password + properties: + email: + type: string + format: email + password: + type: string + UserSignedIn: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - api_key + properties: + role: + type: string + enum: + - admin + - client + api_key: + type: string + thumbnail_url: + type: string + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserWithRefreshedToken: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - api_key + - first_name + - last_name + - email + properties: + api_key: + type: string + Role: + type: object + properties: + name: + type: string + description: + type: string + role_policy_maps_attributes: + type: array + items: + type: object + properties: + id: + type: number + role_policy_id: + type: number + _destroy: + type: string + RoleShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RoleCreate: + allOf: + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + RoleUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RoleIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + RolePolicy: + type: object + properties: + name: + type: string + description: + type: string + rules: + type: object + RolePolicyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RolePolicyCreate: + allOf: + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + RolePolicyUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RolePolicyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Tenant: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + TenantContract: + type: object + properties: + id: + type: string + start_date: + type: string + end_date: + type: string + TenantUnit: + type: object + properties: + id: + type: string + name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + province: + type: string + country: + type: string + zip_code: + type: string + latitude: + type: string + longitude: + type: string + TenantShow: + allOf: + - $ref: '#/components/schemas/Tenant' + - required: [] + properties: + contract: + $ref: '#/components/schemas/TenantContract' + unit: + $ref: '#/components/schemas/TenantUnit' + CustomerAccountTranslation: + type: object + properties: + language: + type: string + value: + type: string + field: + type: string + parent_id: + type: string + parent_type: + type: string + CustomerAccountTranslationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountTranslationCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - required: + - name + - user + - last_editor + - organisation + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + CustomerAccountAttributeGroup: + type: object + properties: + name: + type: string + fields: + type: array + items: + type: string + read_only: + type: boolean + parent_type: + type: string + CustomerAccountAttributeGroupShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountAttributeGroupCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - required: + - name + - user + - last_editor + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + EpCodeCombination: + type: object + properties: + facility_type_id: + type: integer + ep_code: + type: string + repetition: + type: integer + EpCodeCombinationByFacilityType: + allOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/EpCodeCombinationIndex' + - required: + - facility_type_id + EpCodeCombinationIndex: + allOf: + - type: array + items: + $ref: '#/components/schemas/EpCodeCombination' + - required: + - facility_type_id + DashboardConfig: + type: object + properties: + aws_settings: + type: object + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_region: + type: string + aws_account_id: + type: string + dashboard_id: + type: string + identity_type: + type: string + enum: + - QUICKSIGHT + - IAM + - ANONYMOUS + DashboardConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + properties: + customer_account: + type: array + items: + $ref: '#/components/schemas/CustomerAccountLightShow' + embed_dashboard: + type: object + properties: + embed_url: + type: string + status: + type: number + request_id: + type: string + DashboardConfigCreate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + DashboardConfigUpdate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + Dashboard: + type: object + properties: + name: + type: string + description: + type: string + looker_item: + type: string + looker_config: + type: object + position: + type: integer + show_dashboard: + type: boolean + DashboardShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Dashboard' + - required: + - looker_embed_url + properties: + looker_embed_url: + type: string + customer_account_id: + type: integer + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + DashboardIndex: + allOf: + - $ref: '#/components/schemas/Dashboard' + - properties: + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + looker_embed_url: + type: string + customer_account_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + DashboardUpdate: + allOf: + - required: + - show_dashboard + properties: + name: + type: string + description: + type: string + looker_item: + type: string + show_dashboard: + type: boolean + DashboardOrderUpdate: + allOf: + - required: + - dashboard_ids + properties: + dashboard_ids: + type: array + items: + type: integer + App: + type: object + properties: + name: + type: string + currency: + type: string + short_name: + type: string + logo_base64: + type: string + logo_filename_with_extension: + type: string + data_partner_interface: + type: string + default_retail_price: + type: integer + default_retail_currency: + type: string + default_realcube_price: + type: integer + default_realcube_currency: + type: string + default_price_category: + type: string + default_data_lifetime: + type: integer + catalog_update_frequency: + type: integer + data_partner_base_url: + type: string + data_partner_score_url: + type: string + AppShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCreate: + allOf: + - $ref: '#/components/schemas/App' + - required: + - name + - currency + AppUpdate: + allOf: + - $ref: '#/components/schemas/App' + AppIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCategory: + type: object + properties: + name: + type: string + AppCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppCategory' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + apps: + type: array + items: + $ref: '#/components/schemas/App' + AppSubscription: + type: object + properties: + name: + type: string + description: + type: string + periodicity: + type: string + price: + type: number + AppSubscriptionCreate: + allOf: + - properties: + app_id: + type: integer + name: + type: string + enum: + - Free Tier + - Premium + periodicity: + type: string + enum: + - month + - year + - $ref: '#/components/schemas/AppSubscription' + AppSubscriptionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppSubscription' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + required: + - name + - price + - periodicity + AppConfig: + type: object + properties: + organisation_ids: + type: array + items: + type: integer + AppConfigCreate: + properties: + organisation_ids: + type: array + items: + type: integer + app_subscription_id: + type: integer + AppConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + AppCategoryMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - app_id + - app_category_id + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/App' + app_category: + $ref: '#/components/schemas/AppCategory' + AppDataRepository: + type: object + properties: + app_data: + type: object + AppDataRepositoryCreate: + type: object + properties: + app_data: + type: object + app_subscription_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + AppDataRepositoryUpdate: + type: object + properties: + app_data: + type: object + AppDataRepositoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppDataRepository' + - required: + - app_data + - app_subscription_id + properties: + app_data: + properties: + example: + type: object + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + Plan: + type: object + properties: + name: + type: string + trade: + type: string + enum: + - AA + - AR + - BA + - BD + - BG + - BP + - DV + - ET + - EW + - FA + - FT + - HT + - IA + - KP + - KT + - LP + - MT + - SB + - SI + - ST + - TE + - TG + - TW + - VE + - VM + - VP + - VT + plan_type: + type: string + enum: + - AA + - AB + - AF + - AM + - AP + - AU + - BA + - BC + - BE + - BG + - BL + - BM + - BN + - BP + - BS + - BT + - BW + - BZ + - DE + - DP + - DS + - DT + - EB + - EL + - EP + - ER + - ET + - EW + - FA + - FS + - FL + - FN + - FT + - FW + - GR + - HH + - HL + - HP + - HZ + - IP + - KA + - KL + - KM + - KO + - KP + - KW + - LA + - LE + - LF + - LG + - ME + - MS + - MT + - NL + - NS + - PP + - PZ + - RW + - SA + - SB + - SI + - SK + - SP + - SS + - SW + - TH + - TK + - TV + - UB + - VK + - VL + - VM + - VS + - VT + - WA + - WP + - AS + - MO + - BD + - PF + - TP + - MF + planning_phase: + type: string + enum: + - '00' + - '10' + - '20' + - '30' + - '40' + - '50' + - '60' + - '70' + - '80' + - '90' + - AQ + - WE + - XX + presentation: + type: string + enum: + - GR + - SC + - AN + - XX + - PE + - SH + - VI + plan_content: + type: string + floor: + type: string + description: + type: string + PlanShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanCreate: + allOf: + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + PlanUpdate: + allOf: + - $ref: '#/components/schemas/Plan' + PlanIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - building + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanConfig: + type: object + properties: + current_filename_config: + type: object + parent_type: + type: string + PlanConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlanConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + PlanVersion: + type: object + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + PlanVersionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - status + properties: + version: + type: string + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + PlanVersionCreate: + allOf: + - required: + - status + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + version: + type: string + PlanVersionUpdate: + allOf: + - required: + - status + properties: + version: + type: string + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + Organisation: + type: object + properties: + name: + type: string + description: + type: string + comment: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + OrganisationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - properties: + customer_accounts: + $ref: '#/components/schemas/CustomerAccountShow' + - required: + - name + - organisation_memberships + - last_editor + properties: + organisation_memberships: + $ref: '#/components/schemas/OrganisationMembershipShow' + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + nullable: true + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + OrganisationCreate: + allOf: + - $ref: '#/components/schemas/Organisation' + - required: + - name + OrganisationUpdate: + allOf: + - $ref: '#/components/schemas/Organisation' + OrganisationConfig: + type: object + required: + - id + - building + - building_unit + - user + - organisation + - last_editor + properties: + id: + type: integer + building: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserShow' + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + deleted_at: + type: string + format: date-time + OrganisationConfigCreate: + properties: + building: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + OrganisationMembership: + type: object + required: + - id + - user + - organisation + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + OrganisationMembershipCreate: + allOf: + - type: object + required: + - user_id + properties: + user_id: + type: integer + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + OrganisationMembershipCreateFromEmail: + type: object + required: + - email + properties: + email: + type: string + format: email + permitted_building_ids: + type: array + items: {} + OrganisationMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/OrganisationMembership' + - type: object + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationMembershipUpdate: + allOf: + - type: object + properties: + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + CustomerAccount: + properties: + time_attribute_schema: + type: object + properties: + building: + type: array + items: {} + unit: + type: array + items: {} + CustomerAccountShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountLightShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + has_contract: + type: boolean + demo_account: + type: boolean + demo_expires_at: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccount' + CustomerAttributesSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_de: + type: object + json_schema_en: + type: object + CustomerAttributesSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_en: + type: object + json_schema_de: + type: object + required: + - name + - version + - attributes_type + - json_schema + CustomerAttributesSchemaCreate: + allOf: + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + required: + - name + - attributes_type + - json_schema_de + - json_schema_en + CustomerAttributesSchemaMembership: + type: object + properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchema' + CustomerAttributesSchemaMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAttributesSchemaMembership' + - required: + - organisation + - customer_attributes_schema + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + CustomerAttributesSchemaMembershipCreate: + type: object + properties: + organisation_id: + type: integer + customer_attributes_schema_id: + type: integer + required: + - organisation_id + - customer_attributes_schema_id + CustomerAccountConfig: + type: object + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + demo_data_uploaded: + type: boolean + PolicyAttributesMap: + properties: + policy_map: + type: object + CustomerAccountConfigShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - $ref: '#/components/schemas/PolicyAttributesMap' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + contract_csv_url: + type: string + example: >- + data:text/csv;base64,bmFtZSxwZXJzb25fZmlyc3RfbmFtZSxwZXJzb25fbGFzdF9uYW1lLGJ1aWxkaW5nX25hbWUsYnVpbGRpbmdfdW5pdF9uYW1lLGNvbnRyYWN0X21lbWJlcnNoaXBfdHlwZSxjb250cmFjdF90eXBlLHBhcmVudF9pZCxleHRlcm5hbF9pZCxyZW50YWxfcGVyaW9kLGNvbnRyYWN0X3N1Yl90eXBlLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbWluaW11bV9jb250cmFjdF90ZXJtLG5vdGljZV9wZXJpb2QsY2FuY2VsbGluZ19hdF9kYXRlLGNhbmNlbGxlZF9hdF9kYXRlLHJlbnRfaW5jcmVhc2VfYWxsb3dhbmNlLGluZGV4X2Jhc2VkX2NvbmZpZyxzdGF0dXMscGVyc29uX21lbWJlcnNoaXBzX2F0dHJpYnV0ZXMsbWVtYmVyc2hpcHNfYXR0cmlidXRlcyxjdXJyZW5jeSxLYWx0bWlldGUsU29uc3RpZ2UsRGllbnN0ZSxNd1N0LEluc3RhbmRoYWx0dW5nLFZlcndhbHR1bmdzZ2Viw7xocmVuLFJlcGFyYXR1cmVuLFZlcnNpY2hlcnVuZyx0ZXN0Y29zdCxUSGlTSVNURVNUCg== + landing_page_dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardIndex' + has_datamarket_access: + type: boolean + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountConfigCreate: + allOf: + - required: + - building_fields + - building_unit_fields + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + CustomerAccountConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - required: + - demo_data_uploaded + properties: + demo_data_uploaded: + type: boolean + CustomerAccountSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + CustomerAccountSchemaUpdate: + type: object + properties: + name: + type: string + comment: + type: string + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountCategory: + type: object + properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + conversion_factor: + type: integer + customer_editable: + type: boolean + external_conversion: + type: boolean + category: + type: integer + enum: + - length_metric + - area_metric + - area_norm + - currency + - energy_type + - energy_volume + - emission_volume + - finance + - water + - water_volume + - activity + - shop_concept + - retail + - retail_metric + - addl_id + - phase + - phase_status + - payment_category + - rent_tracker_payment + - parking + - summary_unit_type + - summary_unit_type_classifier + - building_area_type + - unit_area_type + - construction_project_category + - main_energy_source + - state_of_renovation + - heating_used_energy + - kitchen_type + - objectphase + - region + - role + - unit_type + - property + - property_value + - facility_type + - floor + - institution_type + - roof_form + - unit_role + - unit_finance + - certificate_issuer + - certificate_system + - achieved_certificate_level + - energy_performance + - energy_source + CustomerAccountCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategory' + - required: + - label_id + - customer_account_translations + properties: + label_id: + type: integer + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + CustomerAccountCategoryCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + CustomerAccountCategoryUpdate: + allOf: + - properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + customer_editable: + type: boolean + CustomerAccountCategoryIndex: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + - properties: + label_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Contract: + type: object + properties: + parent_id: + type: string + contract_type: + type: string + enum: + - tenancy_contract + - lease_contract + name: + type: string + external_id: + type: string + source_system: + type: string + rental_period: + type: string + contract_sub_type: + type: string + enum: + - empty + - owner_occupation + - rentable + start_date: + type: string + format: date-time + end_date: + type: string + format: date-time + minimum_contract_term: + type: string + format: date-time + debtor_number: + type: string + notice_period: + type: object + properties: + value: + type: number + period: + type: string + enum: + - days + - weeks + - months + - years + cancelling_at_date: + type: string + format: date-time + cancelled_at_date: + type: string + format: date-time + rent_increase_type: + type: string + enum: + - comparable_rent + - index_based_increase + - graduate_rent + rent_increase_allowance: + type: string + format: date-time + index_based_config: + type: object + properties: + base_index_date: + type: string + base_index_points: + type: integer + threshhold_type: + type: string + enum: + - percentage + - points + threshhold_value: + type: integer + increase_type: + type: string + enum: + - percentage + - value + increase_value: + type: integer + graduate_rent_config: + type: object + properties: + increase_period: + type: string + enum: + - monthly + - yearly + amount_type: + type: string + enum: + - percentage + - value + amount_value: + type: integer + increase_yearly_date: + type: string + increase_monthly_day: + type: string + status: + type: string + enum: + - draft + - final + - rejected + currency: + type: string + enum: + - EUR + - CHF + notes: + type: string + Amount: + type: object + properties: + name: + type: string + amount_per_month: + type: object + properties: + value: + type: number + currency: + type: string + enum: + - EUR + - USD + ContractAttributes: + properties: + person_memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + person_id: + type: string + member_id: + type: string + member_type: + type: string + role: + type: string + _destroy: + type: string + memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + member_id: + type: string + member_type: + type: string + _destroy: + type: string + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ContractShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - required: + - type + - status + - user + - last_editor + - customer_account + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + type: object + properties: + notes: + type: string + parent: + $ref: '#/components/schemas/ContractIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + organisation: + $ref: '#/components/schemas/Organisation' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + rent_increase_mappings: + type: array + items: + $ref: '#/components/schemas/RentIncreaseMappingShow' + ContractCreate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - required: + - type + - status + properties: + organisation_id: + type: integer + ContractUpdate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - properties: + organisation_id: + type: integer + ContractIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - properties: + thumbnail_url: + type: string + organisation: + type: object + properties: + id: + type: integer + name: + type: string + ContractMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - contract + - member + - last_editor + properties: + contract: + $ref: '#/components/schemas/Contract' + member: + type: object + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ContractMembershipCreate: + type: object + required: + - contract_id + - member_id + - member_type + properties: + contract_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - property + ContractMembershipCost: + type: object + properties: + amount: + type: number + description: + type: string + iban: + type: string + swift: + type: string + to_be_paid_at: + type: string + valid_from: + type: string + format: date-time + ContractMembershipCostShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractMembershipCost' + - required: + - amount + properties: + unit_type: + $ref: '#/components/schemas/BuildingUnitType' + cost_type: + $ref: '#/components/schemas/CostType' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractMembershipCostCreate: + allOf: + - $ref: '#/components/schemas/ContractMembershipCost' + - properties: + unit_type_id: + type: number + cost_type_id: + type: number + ContractAddition: + type: object + properties: + name: + type: string + signing_date: + type: string + format: date-time + ContractAdditionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + properties: + contract: + $ref: '#/components/schemas/Contract' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractAdditionCreate: + allOf: + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + ContractGrant: + type: object + properties: + name: + type: string + description: + type: string + total_amount: + type: number + grant_type: + type: string + enum: + - pre_opening + - rent_free_time + - other + fee_split: + type: array + items: + properties: + percentage: + type: number + date_received: + type: string + format: date-time + ContractGrantShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractGrantCreate: + allOf: + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + SecurityDeposit: + required: [] + type: object + properties: + amount: + type: integer + to_be_paid_before: + type: string + format: date-time + payment_type: + type: string + enum: + - one_time_payment + - paid_in_three_monthly_fees + deposit_type: + type: string + enum: + - cash + - bank_transaction + - savings_account + - surety + SecurityDepositShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + - user + - last_editor + - contract_membership + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + SecurityDepositCreate: + allOf: + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + CostType: + type: object + properties: + name: + type: string + category: + type: string + CostTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeCreate: + allOf: + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeUpdate: + allOf: + - $ref: '#/components/schemas/CostType' + PropertyType: + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Property: + type: object + properties: + name: + type: string + country: + type: string + zip_code: + type: string + city: + type: string + custom_id: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + PropertiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PropertyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - required: + - name + - property_type + - property_manager + - user + - organisation + - last_editor + - lots + - buildings + - attachments + properties: + deleted_at: + type: string + format: date-time + property_type: + $ref: '#/components/schemas/PropertyType' + property_manager: + $ref: '#/components/schemas/PropertyManager' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PropertyCreate: + allOf: + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/PropertiesAttributes' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + PropertyUpdate: + allOf: + - $ref: '#/components/schemas/Property' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + PropertyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/ActivitiesAttributes' + - required: + - name + - property_type + properties: + deleted_at: + type: string + format: date-time + property_manager_id: + type: integer + property_type: + $ref: '#/components/schemas/PropertyType' + thumbnail_url: + type: string + PropertyManager: + type: object + properties: + name: + type: string + email: + type: string + phone_number: + type: string + contact_first_name: + type: string + contact_last_name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + zip_code: + type: string + country: + type: string + PropertyManagerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerCreate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerUpdate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + Lot: + type: object + properties: + custom_id: + type: string + external_id: + type: string + source_system: + type: string + name: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + LotsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + LotShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + LotCreate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - property_id + - name + properties: + property_id: + type: integer + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + LotUpdate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + LotIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingFilterSettings: + type: object + properties: + name: + type: string + status: + type: boolean + tags_active: + type: boolean + fields: + type: array + items: + type: string + property_fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingFields: + type: object + properties: + fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingsShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingFilterSettingsCreate: + allOf: + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingSaveFilters: + type: object + properties: + name: + type: string + filter: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + BuildingSaveFiltersShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingSaveFiltersCreate: + allOf: + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + BuildingType: + type: object + required: + - id + - name + - code + properties: + id: + type: integer + name: + type: string + code: + type: string + parent_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Building: + type: object + properties: + name: + type: string + external_id: + type: string + source_system: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + latitude: + type: number + longitude: + type: number + units_count: + type: number + year_of_construction: + type: integer + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + architect: + type: string + contract_ids: + type: array + items: {} + organisation_id: + type: number + customer_attributes_schema_id: + type: number + planned_monthly_rent: + type: number + number_of_floors: + type: number + number_of_windows: + type: number + user_intervention_window_number: + type: number + user_intervention_window_area: + type: number + last_refurbishment_at: + type: string + format: date + heating_type: + type: string + main_energy_provider: + type: string + deso_facility: + type: boolean + institution_type: + type: array + items: + type: integer + facility_type: + type: array + items: + type: integer + number_of_lifts: + type: integer + protective_area: + type: boolean + parking_garage: + type: integer + main_energy_source: + type: integer + stairwells: + type: integer + state_of_renovation: + type: integer + construction_project_category: + type: integer + last_modernisation: + type: string + format: date-time + heating_used_energy: + type: array + items: + type: integer + kitchen_type: + type: integer + objectphase: + type: integer + region: + type: integer + floors_above_ground: + type: integer + floors_below_ground: + type: integer + customer_attributes: + type: object + fund_name: + type: string + own_use: + type: boolean + listed_building: + type: boolean + house_number: + type: string + address_suffix: + type: string + energy_certificate_type: + type: string + enum: + - consumption_orientated + - demand_orientated + energy_class: + type: string + stored_energy_validity: + type: string + format: date-time + accounting_rules_applied: + type: string + year_of_construction_heat_generator: + type: string + air_conditioning: + type: boolean + BuildingsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - type: object + required: + - name + - user + - building_type + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + facility_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + heating_used_energies: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + institution_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + roof_forms: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + objectphases: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + regions: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + kitchen_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + construction_project_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + state_of_renovations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + main_energy_sources: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingCreate: + allOf: + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - building_type_id + - parent_id + - parent_type + - name + - customer_attributes + - customer_attributes_schema_id + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUpdate: + allOf: + - $ref: '#/components/schemas/Building' + - properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + organisation_id: + type: integer + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingsAttributes' + BuildingIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + BuildingShowWithFacilities: + allOf: + - $ref: '#/components/schemas/BuildingShow' + - type: object + properties: + facilities_count: + type: number + BuildingPresets: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + tags: + properties: + building: + type: array + items: {} + building_unit: + type: array + items: {} + BuildingIndexWithoutUnits: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + apps: + type: array + items: + type: string + BuildingForProperty: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + BuildingUnitType: + type: object + required: + - id + - name + - updated_at + - created_at + properties: + id: + type: integer + customer_account_id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitTypeCreate: + type: object + required: + - name + properties: + name: + type: string + BuildingUnit: + type: object + properties: + name: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + tenant: + type: string + owner: + type: string + building_id: + type: number + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + social_floor_area_in_sqm: + type: number + market_rental_price: + type: number + format: float + number_of_rooms: + type: number + number_of_bedrooms: + type: number + number_of_bathrooms: + type: number + quality_of_available_features: + type: string + current_condition: + type: string + description: + type: string + description_of_features: + type: string + features: + type: array + enum: + - einbauküche + - balkon/terrasse + - garten + - stufenloser_zugang + - wg_geeignet + - parkplatz_vorhanden + - haustiere_erlaubt + - aufzug + - gäste_wc + - keller + - wohnberechtigungsschein + items: {} + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + planned_monthly_rent: + type: number + planned_operating_cost: + type: number + planned_deposit: + type: number + planned_total_rent: + type: number + heating_costs_in_operating_costs: + type: boolean + contracted_lease_base_rent: + type: string + contracted_lease_operating_costs: + type: string + contracted_lease_deposit: + type: string + floor: + type: integer + group_home: + type: integer + customer_attributes: + type: object + BuildingUnitsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingUnitShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - required: + - name + - building + - type + - user + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneIndex' + facilites: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingUnitIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + contract_ids: + type: array + example: [] + items: {} + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingUnitCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - required: + - name + - building_id + - customer_attributes + properties: + building_id: + type: integer + building_unit_type_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUnitUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - properties: + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingUnitsAttributes' + BuildingUnitMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - unit + - member + - last_editor + properties: + unit: + $ref: '#/components/schemas/BuildingUnit' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingUnitMembershipCreate: + type: object + required: + - unit_id + - member_id + - member_type + properties: + unit_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - level + - room + - zone + - facility + BuildingEnergy: + type: object + properties: + energy_volume: + type: integer + co2_emission_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingEnergyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type + - building + - energy_volume_metric + - co2_emission_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingEnergyCreate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyIndex: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category + - building + - value_metric + properties: + building: + $ref: '#/components/schemas/Building' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceIndex: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category + - building_unit + - value_metric + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingFm: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingFmShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingFmCreate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmUpdate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmIndex: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetail: + type: object + BuildingUnitRetailShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept + - building_unit + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetailMetric: + type: object + properties: + value: + type: integer + BuildingUnitRetailMetricShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - building_unit_retail + - category + - value_metric + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailMetricCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingWater: + type: object + properties: + water_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingWaterShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category + - building + - water_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingWaterCreate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterUpdate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterIndex: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + AddtlBuildingId: + type: object + properties: + addtl_id: + type: string + AddtlBuildingIdShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + AddtlBuildingIdCreate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdUpdate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdIndex: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Phase: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - building + - building::unit + phase_is_milestone: + type: boolean + szenario: + type: string + version: + type: integer + plan_start_date: + type: string + format: date-time + plan_end_date: + type: string + format: date-time + plan_cost: + type: integer + actual_start_date: + type: string + format: date-time + actual_end_date: + type: string + format: date-time + actual_cost: + type: integer + PhaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Phase' + - required: + - phase_category + - status + - plan_cost_metric + - actual_cost_metric + properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + PhaseCreate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseUpdate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseIndex: + allOf: + - $ref: '#/components/schemas/Phase' + - properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + RentTracker: + type: object + properties: + version: + type: integer + planned_pay: + type: integer + planned_pay_date: + type: string + format: date-time + actual_pay: + type: integer + actual_pay_date: + type: string + format: date-time + RentTrackerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category + - pay_currency + properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + building_unit: + $ref: '#/components/schemas/BuildingUnit' + property: + $ref: '#/components/schemas/Property' + building: + $ref: '#/components/schemas/Building' + contract: + $ref: '#/components/schemas/Contract' + lessor: + $ref: '#/components/schemas/Person' + child_of: + $ref: '#/components/schemas/RentTracker' + RentTrackerCreate: + allOf: + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category_id + - pay_currency_id + properties: + payment_category_id: + type: integer + pay_currency_id: + type: integer + building_unit_id: + type: integer + property_id: + type: integer + building_id: + type: integer + contract_id: + type: integer + lessor_id: + type: integer + child_of_id: + type: integer + lessee_ids: + type: array + items: + type: integer + RentTrackerIndex: + allOf: + - $ref: '#/components/schemas/RentTracker' + - properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingParking: + type: object + properties: + places: + type: integer + BuildingParkingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category + properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingParkingCreate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingUpdate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingIndex: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingArea: + type: object + properties: + volume: + type: integer + BuildingAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitArea: + type: object + properties: + volume: + type: integer + BuildingUnitAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlace: + type: object + BuildingUnitPlaceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label + properties: + building: + $ref: '#/components/schemas/Building' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlaceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlacesTimeboxed: + type: object + properties: + num_of_units: + type: integer + num_of_places: + type: integer + num_of_vacant_places: + type: integer + area: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitPlacesTimeboxedShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - building_unit_place + - area_metric + - area_norm + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesTimeboxedCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitPlacesProperty: + type: object + BuildingUnitPlacesPropertieshow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - building_unit_places_timeboxed + - property + - property_value + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesPropertyCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Person: + type: object + properties: + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + email: + type: string + phone: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + country: + type: string + external_id: + type: string + source_system: + type: string + PeopleAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PersonShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - required: + - name + - user + - organisation + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PersonCreate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + PersonUpdate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + PersonIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + - user + - organisation + ReportTemplate: + type: object + properties: + name: + type: string + query: + properties: + filters: + type: array + items: + properties: + dimension: + type: string + operator: + type: string + values: + type: array + items: {} + measures: + type: array + items: {} + dimensions: + type: array + items: {} + timeDimensions: + type: array + items: {} + ReportTemplateShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportTemplateCreate: + allOf: + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportAccountSchema: + type: object + properties: + cubes: + type: array + items: + properties: + name: + type: string + measures: + type: array + items: {} + dimensions: + type: array + items: {} + filters: + type: array + items: {} + timeDimensions: + type: array + items: {} + segments: + type: array + items: {} + limit: + type: integer + offset: + type: integer + order: + type: string + enum: + - asc + - desc + timezone: + type: string + renewQuery: + type: boolean + ungrouped: + type: boolean + ReportAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + ReportAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + PersonMembership: + type: object + properties: + person_id: + type: number + label_id: + type: number + role: + type: string + member_type: + type: string + member_id: + type: number + deleted_at: + type: string + format: date-time + PersonMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PersonMembership' + - required: + - user + - organisation + PersonMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + required: + - id + - person + - member + - last_editor + properties: + deleted_at: + type: string + format: date-time + label: + $ref: '#/components/schemas/CustomerAccountCategory' + person: + $ref: '#/components/schemas/Person' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + PersonMembershipCreate: + type: object + required: + - person_id + - member_id + - member_type + properties: + person_id: + type: integer + role: + type: string + enum: + - lessee + - lift_manager + - building_owner + - building_operator + - investor + - facility_manager + - property_manager + - asset_manager + - lessor + - contact + label_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - facility + - contract + Level: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: integer + category: + type: string + enum: + - flat_roof + - saddleback_roof + - hipped_roof + - polygons_hipped_roof + - crippled_hipped_roof + - tent_roof + - monopitch_roof + - schedule_roof + - mansard_roof + - trailing_roof + - only_roof + - roof_with_different_roof_pitches + description: > + flat_roof: Flachdach + + saddleback_roof: Satteldach + + hipped_roof: Walmdach + + polygons_hipped_roof: Vielecken Walmdach + + crippled_hipped_roof: Krüppelwalmdach + + tent_roof: Zeltdach + + monopitch_roof: Pultdach + + schedule_roof: Scheddach + + mansard_roof: Mansardendach + + trailing_roof: Schleppdach + + only_roof: Nurdach + + roof_with_different_roof_pitches: Dach mit Verschiedenen + Dachneigungen + LevelsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + LevelShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - required: + - name + - number + - building + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + LevelCreate: + allOf: + - $ref: '#/components/schemas/Level' + - required: + - building_id + - name + - number + properties: + building_id: + type: integer + - $ref: '#/components/schemas/LevelsAttributes' + LevelUpdate: + allOf: + - $ref: '#/components/schemas/Level' + LevelIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - $ref: '#/components/schemas/LevelsAttributes' + - properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + RoomAndZoneType: + type: object + required: + - id + - name + - code + - level + - net_floor_area_code + properties: + id: + type: integer + name: + type: string + code: + type: string + din_277_name: + type: string + example: + type: string + net_floor_area_code: + type: string + parent_id: + type: integer + depth: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Room: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: string + area_in_sqm: + type: number + height_in_m: + type: number + perimeter_in_m: + type: number + RoomsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + RoomShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - required: + - name + - user + - last_editor + - organisation + - level + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + level: + $ref: '#/components/schemas/LevelIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + RoomCreate: + allOf: + - $ref: '#/components/schemas/Room' + - required: + - level_id + - name + properties: + level_id: + type: integer + room_and_zone_type_id: + type: integer + - $ref: '#/components/schemas/RoomsAttributes' + RoomUpdate: + allOf: + - $ref: '#/components/schemas/Room' + - properties: + room_and_zone_type_id: + type: integer + RoomIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - $ref: '#/components/schemas/RoomsAttributes' + - required: + - name + properties: + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + level: + $ref: '#/components/schemas/Level' + thumbnail_url: + type: string + Zone: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + area_in_sqm: + type: number + ZoneShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - name + - user + - room_and_zone_type + - last_editor + - organisation + - zone + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + room: + $ref: '#/components/schemas/RoomIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + ZoneCreate: + allOf: + - $ref: '#/components/schemas/Zone' + - required: + - room_id + - room_and_zone_type_id + - name + properties: + room_id: + type: integer + room_and_zone_type_id: + type: integer + ZoneUpdate: + allOf: + - $ref: '#/components/schemas/Zone' + - properties: + room_and_zone_type_id: + type: integer + ZoneIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - room_and_zone_type_id + - name + properties: + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + Department: + type: object + properties: + name: + type: string + DepartmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Department' + - required: + - name + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + DepartmentCreate: + allOf: + - $ref: '#/components/schemas/Department' + - required: + - name + DepartmentUpdate: + allOf: + - $ref: '#/components/schemas/Department' + Manufacturer: + type: object + properties: + name: + type: string + ManufacturerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ManufacturerCreate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + ManufacturerUpdate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + ModelType: + type: object + properties: + name: + type: string + ModelTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ModelType' + - required: + - name + - type: object + required: + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ModelTypeCreate: + allOf: + - $ref: '#/components/schemas/ModelType' + - required: + - name + ModelTypeUpdate: + allOf: + - $ref: '#/components/schemas/ModelType' + FacilityType: + type: object + required: + - id + - code + - group_1 + - version + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeIndex: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeWithSchema: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Facility: + type: object + properties: + name: + type: string + custom_id: + type: string + external_id: + type: string + source_system: + type: string + ep_code: + type: string + comment: + type: string + inventory_number: + type: string + serial_number: + type: string + year_of_construction: + type: integer + last_inspection_at: + type: string + format: date-time + last_maintenance_at: + type: string + format: date-time + next_inspection_at: + type: string + format: date-time + next_maintenance_at: + type: string + format: date-time + latitude: + type: number + longitude: + type: number + type_dependent_attributes: + type: object + equipment_collection: + type: boolean + quantity: + type: number + facility_parent: + type: string + FacilitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + FacilityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - required: + - name + - facility_type + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + parent: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + level: + $ref: '#/components/schemas/LevelIndex' + room: + $ref: '#/components/schemas/RoomIndex' + zone: + $ref: '#/components/schemas/ZoneIndex' + manufacturer: + $ref: '#/components/schemas/Manufacturer' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + facility_type: + $ref: '#/components/schemas/FacilityType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + activities: + type: array + items: + $ref: '#/components/schemas/ActivityForFacility' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + FacilityCreate: + allOf: + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - required: + - facility_type_id + - location_id + - location_type + properties: + facility_type_id: + type: integer + model_type_id: + type: integer + location_id: + type: integer + location_type: + type: string + enum: + - property + - lot + - building + - level + - room + - zone + manufacturer_id: + type: integer + parent_id: + type: integer + FacilityUpdate: + allOf: + - $ref: '#/components/schemas/Facility' + - properties: + facility_type_id: + type: integer + model_type_id: + type: integer + manufacturer_id: + type: integer + parent_id: + type: integer + - $ref: '#/components/schemas/FacilitiesAttributes' + FacilityIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - properties: + facility_type: + $ref: '#/components/schemas/FacilityType' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + Activity: + type: object + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + external_id: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + ActivitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ActivityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Activity' + - required: + - deleted_at + - facility + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + facility: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + ActivityCreate: + allOf: + - $ref: '#/components/schemas/Activity' + - required: + - category + - company + - facility_ids + - property_id + properties: + activity_type_id: + type: integer + facility_ids: + type: array + items: + type: integer + property_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + ActivityUpdate: + allOf: + - required: + - category + - company + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + activity_type_id: + type: integer + ActivityIndex: + allOf: + - $ref: '#/components/schemas/Activity' + - $ref: '#/components/schemas/ActivitiesAttributes' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/Organisation' + facility: + $ref: '#/components/schemas/Facility' + attachments: + $ref: '#/components/schemas/Attachment' + ActivityForFacility: + allOf: + - $ref: '#/components/schemas/Activity' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + type: array + items: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + ActivityType: + type: object + properties: + name: + type: string + ActivityTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ActivityType' + - required: + - deleted_at + - user + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + ActivityTypeCreate: + allOf: + - $ref: '#/components/schemas/ActivityType' + - required: + - name + ActivityTypeIndex: + allOf: + - $ref: '#/components/schemas/ActivityType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Attachment: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Attachment' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + AttachmentCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentDuplicate: + type: object + required: + - copy_attachment_id + properties: + copy_attachment_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + AttachmentIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Image: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + ImageShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Image' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + ImageCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageUpdate: + type: object + properties: + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + TimeDependentAttribute: + required: + - attribute_key + - attribute_value + - attribute_timestamp + - parent_id + - parent_type + type: object + properties: + parent_id: + type: integer + customer_account_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + attribute_key: + type: string + attribute_value: + type: string + attribute_type: + type: string + enum: + - individual + - global + attribute_timestamp: + type: string + format: date-time + TimeDependentAttributeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + TimeDependentAttributeCreate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeUpdate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Webhook: + type: object + properties: + url: + type: string + description: + type: string + mode: + type: number + events: + type: array + items: {} + secret: + type: string + organisation_ids: + type: array + items: {} + WebhookShow: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/UserIndex' + organisation_ids: + type: array + items: + $ref: '#/components/schemas/Organisation' + WebhookCreate: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + WebhookUpdate: + allOf: + - $ref: '#/components/schemas/Webhook' + WebhookIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Webhook' + - required: + - customer_account_id + Tag: + type: object + properties: + label: + type: string + TagShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Tag' + - required: + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagCreate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagsMergeBody: + properties: + master_tag: + type: integer + other_tags: + type: array + items: {} + TagUpdate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + label: + type: string + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagAssignBuildings: + allOf: + - required: + - building_ids + - tag_ids + properties: + building_ids: + type: array + items: + type: integer + tag_ids: + type: array + items: + type: integer + CsvImport: + type: object + properties: + location_type: + type: string + is_demo: + type: boolean + number_of_imported_records: + type: integer + metadata: + type: object + CsvImportShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CsvImport' + - required: + - organisation + - customer_account + properties: + metadata: + type: object + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportShowCreate: + required: + - import_data + - general_status + - invalid_columns + properties: + import_data: + $ref: '#/components/schemas/CsvImportShow' + metadata: + type: object + general_status: + type: string + invalid_columns: + type: array + items: + properties: + row_number: + type: integer + failed_rows: + type: object + CsvImportCreate: + type: object + required: + - location_type + - file_base64 + - file_filename_with_extension + properties: + location_type: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + is_demo: + type: boolean + metadata: + type: object + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + CsvImportIndex: + allOf: + - $ref: '#/components/schemas/CsvImportShow' + - properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportUpdate: + allOf: + - required: + - category + - company + properties: + status: + type: string + enum: + - canceled + - draft + - partially_imported + - imported + description: | + imported + canceled + partially_imported + Scorecard: + type: object + properties: + name: + type: string + description: + type: string + status: + type: string + enum: + - draft + - final + ScorecardShow: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + customer_account_id: + type: integer + assigners: + type: array + items: {} + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + segments: + $ref: '#/components/schemas/ScorecardSegment' + global: + type: boolean + ScorecardCreate: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - name + - status + properties: + global: + type: boolean + ScorecardUpdate: + allOf: + - $ref: '#/components/schemas/Scorecard' + ScorecardIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + - segments + - active + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + assigners: + type: array + items: {} + segments: + $ref: '#/components/schemas/ScorecardSegment' + customer_account_id: + type: integer + global: + type: boolean + ScorecardSegment: + type: object + properties: + name: + type: string + weight_type: + type: string + position: + type: integer + ScorecardSegmentShow: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - name + - weight_type + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSegmentCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - scorecard_id + properties: + scorecard_id: + type: number + ScorecardSegmentUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + ScorecardTopic: + type: object + properties: + name: + type: string + weight_type: + type: string + weight_value: + type: integer + position: + type: integer + ScorecardTopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardTopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - scorecard_segment_id + properties: + scorecard_segment_id: + type: number + ScorecardTopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + ScorecardSubtopic: + type: object + properties: + name: + type: string + weight_value: + type: integer + scorecard_scores: + type: array + items: + type: object + properties: + score: + type: integer + range_type: + type: string + enum: + - in_range + - eq + - lt + - lte + - gt + - gte + attribute_value: + type: string + example: Can be of a type string, date, or array with two elements! + attribute_type: + type: string + attribute_id: + type: string + position: + type: integer + ScorecardSubtopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSubtopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - scorecard_topic_id + properties: + scorecard_topic_id: + type: number + ScorecardSubtopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + ScorecardMembership: + type: object + properties: + scorecard_id: + type: number + parent_type: + type: string + enum: + - building + - building_unit + - facility + parent_id: + type: number + SegmentScore: + type: object + properties: + score: + type: number + topic_scores: + type: array + items: + $ref: '#/components/schemas/TopicScore' + segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + TopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + subtopic_scores: + type: array + items: + $ref: '#/components/schemas/SubtopicScore' + topic: + $ref: '#/components/schemas/ScorecardTopicShow' + SubtopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + attribute_values: + type: object + example: '{ value: 123, type: numeric }' + status: + type: string + enum: + - pending + - calculated + - error + subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + ScorecardMembershipCost: + type: object + properties: + parent_id: + type: number + parent_type: + type: string + scorecard_id: + type: number + scorecard_name: + type: string + segment_id: + type: number + segment_name: + type: string + topic_id: + type: number + topic_name: + type: string + subtopic_id: + type: number + subtopic_name: + type: string + data_catalog_id: + type: number + technical_key: + type: string + name: + type: string + realcube_price: + type: integer + allOf: + - required: + - parent_ids + - scorecard_ids + properties: + parent_ids: + type: array + items: + type: integer + scorecard_ids: + type: array + items: + type: integer + ScorecardMembershipsIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - segment_scores + - scorecard_id + - parent_type + properties: + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + scorecard: + $ref: '#/components/schemas/Scorecard' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + parent: + $ref: '#/components/schemas/BuildingShow' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardMembershipsCosts: + allOf: + - properties: + id: + type: integer + - $ref: '#/components/schemas/ScorecardMembershipCost' + ScorecardMembershipsShow: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - scorecard_id + - parent_id + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + parent: + $ref: '#/components/schemas/BuildingShow' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + ScorecardMembershipDeAssign: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + ScorecardMembershipCreate: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByScorecard: + allOf: + - required: + - scorecard_id + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_ids: + type: array + items: + type: integer + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByParent: + allOf: + - required: + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + ScorecardMembershipCostResponse: + allOf: + - required: + - name + - realcube_price + - parent_id + - parent_type + - scorecard_id + - scorecard_name + - segment_id + - segment_name + - topic_id + - topic_name + - subtopic_id + - subtopic_name + - data_catalog_id + - technical_key + properties: + name: + type: string + realcube_price: + type: integer + parent_type: + type: string + parent_id: + type: integer + scorecard_id: + type: integer + scorecard_name: + type: string + segment_id: + type: integer + segment_name: + type: string + topic_id: + type: integer + topic_name: + type: string + CountBuildingsResponse: + allOf: + - required: + - scorecard_id + - nr_of_buildings + properties: + scorecard_id: + type: integer + nr_of_buildings: + type: integer + ScorecardMembershipUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + ScorecardAssigner: + type: object + ScorecardAssignersIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignersShow: + allOf: + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignerCreate: + allOf: + - required: + - assigner_id + - scorecard_id + properties: + assigner_ids: + type: array + items: + type: integer + scorecard_id: + type: number + DataCatalog: + type: object + properties: + technical_key: + type: string + name: + type: string + sku: + type: string + source: + type: string + description: + type: string + country: + type: string + locale: + type: string + quality_indicator: + type: string + enum: + - fact + - predicted + - estimated + category_l1: + type: string + category_l2: + type: string + category_l3: + type: string + category_l4: + type: string + category_l5: + type: string + realcube_price: + type: integer + realcube_currency: + type: string + realcube_price_category: + type: string + data_lifetime: + type: integer + attribute_type: + type: string + enum: + - numeric + - fixed + - boolean + - date + - string + unit: + type: string + data_catalogsShow: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + DataCatalogCreate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - technical_key + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + app_id: + type: integer + DataCatalogUpdate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + DataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + properties: + user_id: + type: integer + last_editor_id: + type: integer + app_id: + type: integer + RawDataCatalog: + type: object + properties: + version: + type: integer + status: + type: string + enum: + - applied + - new + raw_data: + type: object + RawDataCatalogsShow: + allOf: + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RawDataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RentIncreaseType: + type: object + properties: + name: + type: string + description: + type: string + category: + type: integer + RentIncreaseTypeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseIndices: + type: object + properties: + value: + type: integer + date: + type: string + format: date + rent_increase_type_id: + type: string + subtype: + type: string + enum: + - residential + - office + - commercial + RentIncreaseIndicesIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseIndices' + - properties: + deleted_at: + type: string + format: date-time + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseMapping: + type: object + properties: + values: + type: object + apply_automatically: + type: boolean + contract_id: + type: integer + rent_increase_type_id: + type: integer + user_id: + type: integer + last_editor_id: + type: integer + RentIncreaseMappingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseMapping' + - required: + - rent_increase_type + properties: + rent_increase_type: + type: object + RentIncreaseMappingIndex: + allOf: + - $ref: '#/components/schemas/RentIncreaseMapping' + - properties: + rent_increase_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + TaskMembership: + type: object + properties: + task_id: + type: integer + place_id: + type: integer + organisation_id: + type: integer + place_type: + type: string + enum: + - Building + - Building::Unit + TaskMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembership' + - properties: + organisation_id: + type: integer + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + TaskMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembershipShow' + - properties: + organisation_id: + type: integer + place_name: + type: string + place_parent_id: + type: integer + RentIncrease: + type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + RentIncreaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + customer_account: + type: object + contract_membership: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + member_type: + type: string + member_id: + type: string + member_name: + type: string + parent_id: + type: string + parent_name: + type: string + contract: + type: object + costs: + type: array + items: + type: object + RentIncreaseIndex: + allOf: + - required: + - id + - created_at + properties: + id: + type: integer + created_at: + type: string + format: date-time + contract_membership_id: + type: integer + start_date: + type: string + format: date-time + value: + type: integer + status: + type: string + enum: + - 1 + - 2 + - 3 + recurring: + type: boolean + recurring_increase_month: + type: integer + recurring_increase_year: + type: integer + customer_account_id: + type: integer + contract_membership_member_type: + type: string + contract_membership_member_id: + type: integer + contract_membership_member_name: + type: string + person_name: + type: string + contract_start_date: + type: string + format: date-time + contract_membership_cost_amount: + type: integer + rent_increase_type_category: + type: string + rent_increase_type_name: + type: string + rent_increase_type_id: + type: integer + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + automatic_adjustment: + type: boolean + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + building_type: + type: string + enum: + - residential + - office + - commercial + RentIncreaseCreate: + allOf: + - $ref: '#/components/schemas/RentIncrease' + - properties: + rent_increase_type_id: + type: integer + contract_membership_id: + type: integer + EmissionFactorSetting: + type: object + properties: + value: + type: number + EmissionFactorSettingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/EmissionFactorSetting' + - type: object + required: + - value + - label + - customer_account + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + EmissionFactorSettingCreate: + allOf: + - $ref: '#/components/schemas/EmissionFactorSetting' + - required: + - value + - customer_account_id + - label_id + properties: + label_id: + type: integer + EmissionFactorSettingUpdate: + allOf: + - type: array + items: + type: object + properties: + label_id: + type: number + value: + type: number + CustomerAccountCategoryConfig: + type: object + properties: + display: + type: boolean + CustomerAccountCategoryConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - required: + - label_id + - customer_account_translations + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategory' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCategoryConfigCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - properties: + customer_account_category_id: + type: integer + CustomerAccountCategoryConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + SignInError: + properties: + source: + type: string + example: password + title: + type: string + example: Invalid email password combination + AuthenticationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing api key + AuthorizationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing authorization + UnprocessableRequestError: + properties: + source: + type: string + example: record + title: + type: string + example: could not be deleted + NotFoundError: + properties: + source: + type: string + example: id + title: + type: string + example: Couldn't find Resource with 'id'=12 + InternalServerError: + properties: + source: + type: string + example: application + title: + type: string + example: We're sorry, but something went wrong + ServiceUnavailableError: + properties: + source: + type: string + example: application + title: + type: string + example: Service Temporarily Unavailable + PersistedRecord: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - id + - updated_at + - created_at diff --git a/sdks/db/fixed-specs-cache/packet-fabric-fixed-spec.yaml b/sdks/db/fixed-specs-cache/packet-fabric-fixed-spec.yaml new file mode 100644 index 000000000..9b8f0467e --- /dev/null +++ b/sdks/db/fixed-specs-cache/packet-fabric-fixed-spec.yaml @@ -0,0 +1,43168 @@ +publishJson: + company: PacketFabric + serviceName: false + sdkName: packet-fabric-{language}-sdk + clientName: PacketFabric + metaDescription: >- + PacketFabric is the Connectivity Cloud, designed from the ground up for + scale, performance, programmability, elasticity, and security without + compromise, enabling enterprises to build an agile cloud core that delivers + optimal digital business outcomes. PacketFabric's Network-as-a-Service + (NaaS) platform leverages a massively scalable private optical network, the + latest in packet switching technology, and end-to-end automation. + PacketFabric delivers on-demand, private, and secure connectivity services + between hundreds of premier colocation facilities and cloud providers across + the globe. IT, network, and DevOps teams can deploy cloud-scale connectivity + in minutes via an advanced Application Program Interface (API) and web + portal. PacketFabric was recognized as the "2020 Fierce Telecom Innovation + Award for Cloud Services," named one of the "10 Hottest Networking Startups + of 2020" by CRN, a Futuriom 40 Top Private Company, and a "2020 Cool Vendor + in Enhanced Internet Services and Cloud Connectivity" by Gartner. + PacketFabric investors include NantWorks and Digital Alpha Advisors. For + more information, visit packetfabric.com. + apiStatusUrls: inherit + homepage: packetfabric.com + developerDocumentation: docs.packetfabric.com/api/v2/ + categories: + - network +rawSpecString: | + openapi: 3.0.0 + info: + title: PacketFabric API + description: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the + token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H + "On-Behalf: 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + version: 2.0.0 + servers: + - url: https://api.packetfabric.com + description: Production API + security: + - BearerAuth: [] + tags: + - name: Authentication + description: Login/logout endpoints + - name: Activity Logs + description: Log of activities performed by the customer + - name: Announcements + description: Messages from PacketFabric + - name: API keys + description: API keys management API + - name: Billing + description: Billing endpoints + - name: Cloud Provider Credentials + description: Manage your credentials to Cloud Providers. + - name: Cloud Services - AWS + description: AWS specific, and compatible generic cloud routes. + - name: Cloud Services - Azure + description: Azure specific, and compatible generic cloud routes. + - name: Cloud Services - Google Cloud + description: Google Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - IBM + description: IBM Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - Oracle + description: Oracle Cloud specific, and compatible generic cloud routes. + - name: Cloud Routers + description: Base services to build Cloud-to-Cloud connections. + - name: Cloud Router BGP Session Settings + description: Layer 3 network functionality + - name: Cloud Router Connections + description: Cloud-to-Cloud connections. + - name: Cloud Router IPsec + description: IPsec related services. + - name: Cloud Router Route Sets + description: Route Sets for Cloud Router Marketplace Services. + - name: Cloud Router Third Party + description: Cloud Router Third Party services. + - name: Contacts + description: Contact persons of the current customer + - name: Customers + description: Details about the current customer and publicly searchable third parties + - name: Diagnostic Reports + description: Diagnostic reports + - name: Documents + description: Documents of the current customer + - name: Flex Bandwidth + description: Bundled capacity for virtual circuits + - name: Groups + description: Groups management for the current customer + - name: High Performance Internet + description: High Performance Internet (HPI) + - name: IPAM + description: IPAM (IP Address Management) + - name: LAGs + description: Link aggregation groups + - name: Labels + description: Correlation between services and custom identifiers. + - name: Locations + description: Details of physical locations, markets and regions + - name: Maintenance Notifications + description: History of scheduled maintenance operations and sent notifications + - name: Marketplace + description: Viewing and managing marketplace services + - name: Metrics + description: Getting metric data for the current customer + - name: Multi-Factor Authentication + description: Managing multi-factor authentication for the current user + - name: Outbound Cross Connects + description: Viewing and managing outbound cross connects + - name: Objects + description: Linking objects to their labels + - name: Ports + description: Ports of the current customer + - name: Portal Quotes + description: PacketFabric quotes created through the PacketFabric portal + - name: PTP Services + description: >- + Point-to-point service is a bundled service with two ports and an EPL + virtual-circuit connecting them + - name: Request Aliases + description: >- + Request aliases are used to manage points of contact for connection + requests. + - name: Services + description: Virtual Circuit based 3rd-party and backbone services + - name: Streaming Events - Beta + description: Stream events in real-time + - name: SVlan Labels + description: Associate labels with SVlans on a particular port + - name: TeamSignup + description: Team-based signup invitations + - name: Users + description: Users management for the current customer + paths: + /v2/activity-logs/{log_uuid}: + get: + operationId: Activity Logs.get_activity_log + summary: Get activity log entry + tags: + - Activity Logs + parameters: + - required: true + in: path + name: log_uuid + description: UUID of Activity Log entry + schema: + type: string + format: uuid + responses: + '200': + description: Activity log entry + content: + application/json: + schema: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to find + the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/activity-logs: + get: + operationId: Activity Logs.get_activity_log_list + summary: Get activity log entries + description: > + Use this endpoint to get paginated list of Activity Log entries. + + You can set additional filters or set sorting order using query + parameters. + tags: + - Activity Logs + parameters: + - name: level + required: false + description: Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11) + in: query + schema: + type: integer + minimum: 0 + example: 3 + maximum: 7 + - name: category + required: false + description: Filter by category + in: query + schema: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + - name: circuit_id + required: false + description: > + Unified circuit_id filter, supports filtering by: + + - Port - port_circuit_id (eg. PF-AP-SFO1-58) + + - VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345) + + - Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345) + + - Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345) + + - Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345) + + - Cloud Router Connection - connection_circuit_id (eg. + PF-L3-CON-12345) + + - High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345) + in: query + schema: + type: string + example: PF-BC-NYC-NYC-12345 + - name: description + required: false + description: The description of the port to be queried + in: query + schema: + type: string + example: The user description + - name: event + required: false + description: Filter by event + in: query + schema: + type: string + example: login + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + example: time_created + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + - name: time_from + required: false + description: Filter by time_created greater than (after) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - name: time_to + required: false + description: Filter by time_created less than (before) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-30T19:14:42.642Z' + responses: + '200': + description: List of activity log entries + content: + application/json: + schema: + type: array + items: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to + find the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/api-keys: + post: + operationId: post_api_key + summary: Add the new API key + description: > + This endpoint adds the new API key. The API keys can be used by + automated solutions instead of the user session tokens. Use the response + of this endpoint wisely, it is the only time you can see the `token`. + tags: + - API keys + requestBody: + content: + application/json: + schema: + type: object + title: API key parameters + required: + - name + properties: + name: + type: string + description: API key name + example: Silver key + expiration: + type: integer + description: Key expiration in seconds + example: 100500 + responses: + '201': + description: Created API key + content: + application/json: + schema: + type: object + title: API key details when it is just created + description: Information about API key + properties: + token: + type: string + description: >- + Use this token for authorization. It is only returned once + when you create the key + example: >- + api-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + get: + operationId: get_api_keys + summary: Get the list of user's API keys + description: Get the list of user's API keys + tags: + - API keys + responses: + '200': + description: Created API key + content: + application/json: + schema: + type: array + items: + type: object + title: API key details + description: Information about API key + properties: + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + /v2/api-keys/{uuid}: + delete: + operationId: delete_api_key + summary: Deletes API key by UUID + description: Deletes API key by UUID + tags: + - API keys + parameters: + - required: true + in: path + name: uuid + schema: + type: string + format: uuid + description: Target API key UUID + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: API key deleted + /v2/auth/login: + post: + operationId: login + security: [] + summary: Login + description: Start user session. Get the token to authenticate requests + tags: + - Authentication + requestBody: + content: + application/json: + schema: + type: object + title: User credentials + required: + - login + - password + properties: + login: + type: string + description: User login + password: + type: string + description: User password + example: + login: admin + password: p4ssw0rd + description: User credentials + responses: + '200': + description: User session information and token + content: + application/json: + schema: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + get: + operationId: get_login + security: [] + summary: Login + description: > + Authenticates the user with an existing session token. Creates a new + session token for the user and redirects to the PacketFabric Portal + dashboard. + tags: + - Authentication + parameters: + - name: session_token + required: true + description: A valid session_token for the user + in: query + schema: + type: string + - name: timeout + required: false + description: Timeout in minutes to set the session expiration + in: query + schema: + type: integer + responses: + '302': + description: Redirect to the PacketFabric Portal dashboard + /v2/auth/login/mfa: + post: + operationId: login_mfa + security: [] + summary: Login into the application using a multi-factor authentication code + description: > + This endpoint needs to be used only if the user has multi-factor + authentication enabled for their account. After the normal login process + this endpoint must be accessed to send the code used as a second factor + of authentication.

**Note:** Apart from the authentication code, + this endpoint requires the session_token cookie to be properly set. + That's how the application can validate the first factor of + authentication (user/password combination) was completed successfully. + tags: + - Multi-Factor Authentication + requestBody: + content: + application/json: + schema: + type: object + title: Authentication code + required: + - authentication_code + properties: + authentication_code: + type: string + description: Authentication code + example: + authentication_code: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/auth/logout: + get: + operationId: logout + security: [] + summary: Logout + description: Invalidate current user session. Makes the token invalid + tags: + - Authentication + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/auth/sessions: + get: + operationId: get_user_sessions + summary: Get all active user sessions + description: Get the list of all active user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to get sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: User sessions + content: + application/json: + schema: + type: array + items: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license + agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + - token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + delete: + operationId: delete_user_sessions + summary: Deletes all user sessions + description: Delete all user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to delete sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/bgp-settings: + get: + operationId: bgp_session_settings_list + summary: >- + Returns a list of BGP settings instances associated with the current + account. + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP session settings instances. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance.. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: + operationId: bgp_prefixes_list + summary: Returns a list of prefixes associated with a BGP settings instance. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP prefixes. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: + operationId: bgp_l3_get + summary: Returns the L3 IFL data associated with a BGP Session. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: The L3 data associated with a BGP session. + content: + application/json: + schema: + type: object + properties: + local_address: + type: string + example: 10.0.0.1/20 + /v2/billing/services/{circuit_id}: + get: + operationId: get_order + summary: >- + Returns billing details for the given circuit (Port, Cloud, or Virtual + Circuit) + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of Port, Cloud, or Virtual Circuit to fetch billing data for + schema: + type: string + - required: false + in: query + name: service_type + description: >- + (Optional) You can specify the type of the product to fetch the + order for + schema: + type: string + enum: + - cross-connect + example: cross-connect + responses: + '200': + description: Order details + content: + application/json: + schema: + type: array + items: + type: object + properties: + order_id: + type: integer + /v2/billing/services/{circuit_id}/modify: + post: + operationId: modify_order + summary: Modify an existing order + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Successfully modified order + '202': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Order modification started + /v2/billing/services/{circuit_id}/modify/preview: + post: + operationId: modify_order_preview + summary: >- + Preview the price of modifying an existing order. Currently only + supports renewals without speed upgrades. + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: >- + List of orders that would be created if this modification was + applied + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/services/{account_uuid}: + get: + operationId: get_all_account_orders + summary: Returns all orders for the given billing account + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: UUID of the billing account + schema: + type: string + format: uuid + responses: + '200': + description: List of orders + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/pricing: + get: + operationId: get_pricing + summary: Get pricing for specific services + tags: + - Billing + security: [] + parameters: + - required: true + in: query + name: product_type + schema: + type: string + description: Type of product to retrieve pricing for + enum: + - aggregate_capacity + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + - vc_ix + - vc_marketplace + - add_on_fee + - high_performance_internet + - required: false + in: query + name: subscription_term + description: The subscription term, in months, to retrieve pricing for + schema: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + - required: true + in: query + name: location_type + description: >- + Filter pricing info by location type. If no pricing is found, the + service will attempt to search by a broader location type. eg. site + -> pop + schema: + type: string + example: pop + enum: + - site + - pop + - market + - country + - region + - required: false + in: query + name: side_a + description: >- + Code for the a-side location eg. SFO1. When using this paramater to + filter results, ensure location_type is also set. + example: SFO1 + schema: + type: string + - required: false + in: query + name: side_z + description: >- + Code for the z-side location eg. NYC1. When using this paramater to + filter results, ensure location_type is also set. + example: NYC1 + schema: + type: string + - required: false + in: query + name: network_provider_a + description: >- + Limit results to pricing for a specific network provider on the a + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: network_provider_z + description: >- + Limit results to pricing for a specific network provider on the z + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: media + description: Optic media type + example: LX + schema: + type: string + - required: false + in: query + name: provider + description: Filter pricing by provider type + example: aws + schema: + type: string + - required: false + in: query + name: bandwidth_type + description: Filter by dedicated or usage-base pricing + example: usage + schema: + type: string + - required: false + in: query + name: service_class + description: Filter by metro or longhaul connections + example: metro + schema: + type: string + - required: false + in: query + name: speed + description: Filter by connection speed + schema: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + - required: false + in: query + name: account_uuid + description: Filter for account specific pricing + schema: + type: string + format: uuid + example: c25e0c64-6da7-487e-8f47-f5e744813976 + - required: false + in: query + name: add_on_fee_key + description: >- + Filter by the add-on fee key - this is only used for add_on_fee + product types + schema: + type: string + enum: + - route_set + responses: + '200': + description: Pricing details + content: + application/json: + schema: + type: array + items: + type: object + properties: + location_type: + type: string + description: location type of the pricing option + side_a: + type: string + description: side_a provided in the query + side_z: + type: string + description: side_z provided in the query + product_key: + type: string + description: product_key of the pricing option + product_type: + type: string + description: product type for this pricing option + term: + type: string + description: subscription term for this pricing option + speed: + type: string + description: speed in Mbps for this pricing option + media_type: + type: string + description: media type for this pricing option + mrc: + type: string + description: MRC for this pricing option + nrc: + type: string + description: NRC for this pricing option + media_price: + type: string + description: media type specific cost for this pricing option + usage: + type: string + description: usage for this pricing option + /v2/billing/services/early-termination-liability/{circuit_id}: + get: + operationId: get_early_termination_liability + summary: >- + Returns cost for stopping service on a circuit with a subscription term + early + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of circuit to get early termination liability for + schema: + type: string + - required: false + in: query + name: termination_date + description: >- + Datetime (ISO-8601 format) for which to fetch the early termination + liability. Defaults to right now. User's timezone will be used if + timestamp is not timezone aware. Examples: + `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642` + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42' + responses: + '200': + description: Early termination liability + content: + text/plain: + schema: + type: number + example: 15.26 + /v2/billing/accounts/{account_uuid}/invoices: + get: + operationId: get_invoices + summary: Returns list of invoices + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: false + in: query + name: start_date + description: Filter invoices which created after the start_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + - required: false + in: query + name: end_date + description: Filter invoices which created before the end_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + responses: + '200': + description: List of invoices + content: + application/json: + schema: + type: array + items: + type: object + properties: + invoice_id: + type: integer + example: 1 + description: Invoice id + invoice_name: + type: string + example: invoice 1 + description: Invoice name + status: + type: string + example: open + description: Status of the invoice + invoice_date: + type: string + format: date-time + description: date of the invoice creation + example: '2020-01-01T00:00:00+00:00' + is_overdue: + type: boolean + description: Shows if invoice is overdue + example: false + billing_cycle_start_date: + type: string + format: date-time + description: Billing cycle start date + example: '2020-01-01T00:00:00+00:00' + billing_cycle_end_date: + type: string + format: date-time + description: Billing cycle end date + example: '2020-01-31T00:00:00+00:00' + stripe_url: + type: string + description: Shows Stripe-related url for the invoice + example: https://example.org/some/url + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf: + get: + operationId: get_pdf + summary: Returns invoice as PDF + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + responses: + '200': + description: Invoice as PDF file + content: + application/pdf: + schema: + type: string + format: binary + example: '[binary data]' + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv: + get: + operationId: get_csv + summary: Returns invoice as CSV + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + - required: false + in: query + name: condensed + description: Get condensed CSV output + schema: + type: boolean + example: true + responses: + '200': + description: Invoice as CSV file (base64) + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: + operationId: get_stripe_customer_portal_session + summary: Returns stripe customer portal session url + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: >- + uuid of the billing account to get the stripe customer portal + session for + schema: + type: string + responses: + '200': + description: Stripe customer portal session url as json + content: + application/json: + schema: + type: object + properties: + session_url: + type: string + example: http://customer/session + /v2/contacts: + get: + operationId: contact_get_list + summary: Get the contacts associated with the current customer + tags: + - Contacts + parameters: + - name: billing + required: false + description: >- + Filter for billing contacts (`true`) or non-billing contacts + (`false`) + in: query + schema: + type: boolean + - name: contact_uuid + required: false + description: Filter contact by UUID + in: query + schema: + type: string + responses: + '200': + description: List of contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about + the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + post: + operationId: contact_post + summary: Add the contact for the current customer + tags: + - Contacts + requestBody: + description: | + Details to create the Contact. The following validation rules apply: + * Technical contacts require only `first_name`, `last_name`, `phone` and `email` fields; + * `po_number` can only be used for `billing` contacts; + * If `po_number` is used, `first_name` and `last_name` fields are not required + content: + application/json: + schema: + type: object + required: + - email + - phone + - admin + - billing + - tech + properties: + first_name: + description: > + First name of the contact person. Required for admin and + tech contacts. Not required for the contacts with + `po_number` + type: string + maxLength: 255 + example: James + last_name: + description: > + Last name of the contact person. Required for admin and tech + contacts. Not required for the contacts with `po_number` + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + format: email + maxLength: 255 + example: email@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: > + Address of the contact person. Required for admin and + billing contacts + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: >- + City of the contact person. Required for admin and billing + contacts + type: string + maxLength: 64 + example: Chicago + state: + description: > + State of the contact person. Required if the country of + contact is "US", "USA", "CA", "CAN" + type: string + maxLength: 32 + example: IL + postal: + description: >- + Postal code of the contact. Required for some of the + countries + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, defaults to True and only effective if it is a + billing contact i.e. billing=true + type: boolean + responses: + '201': + description: Created contact details + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}: + get: + operationId: contact_get + summary: Get a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Contact object + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + delete: + operationId: contact_delete + summary: Delete a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to delete + schema: + type: string + format: uuid + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + patch: + operationId: contact_update + summary: Update contact + tags: + - Contacts + parameters: + - required: true + description: UUID of the contact to update + in: path + name: contact_uuid + schema: + type: string + format: uuid + requestBody: + description: | + Details to update the Contact + content: + application/json: + schema: + type: object + properties: + first_name: + description: First name of the contact person + type: string + maxLength: 255 + example: James + last_name: + description: Last name of the contact person + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + maxLength: 255 + example: user@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: Address of the contact person + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: City of the contact person + type: string + maxLength: 64 + example: Chicago + state: + description: State of the contact person. + type: string + maxLength: 32 + example: IL + postal: + description: Postal code of the contact + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, only effective if it is a billing contact i.e. + billing=true + type: boolean + responses: + '200': + description: Updated contact information + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}/links/{circuit_id}: + post: + operationId: link_contact_to_object + summary: Link a technical contact to a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to link. Must be a technical contact. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to link. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Contact linked successfully + delete: + operationId: unlink_contact_from_object + summary: Delete a link between a technical contact and a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to unlink. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to unlink. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Link successfully deleted + /v2/contacts/links: + get: + operationId: get_contact_object_links + summary: Retrieve list of contact-circuit links + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: false + in: query + description: Only retrieve links associated with this contact + schema: + type: string + format: uuid + - name: circuit_id + required: false + in: query + description: Only retrieve links associated with this circuit + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Contact-circuit links + content: + application/json: + schema: + type: object + properties: + circuit_links: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + circuit_id: + type: string + example: PF-AP-WDC1-1234 + /v2/customers/company-types: + get: + operationId: get_company_types + security: [] + summary: Get list of company types + description: Company types are used during the signup process + tags: + - Customers + responses: + '200': + description: List of company types + content: + application/json: + schema: + type: object + properties: + company_type_code: + type: string + description: abbreviated company type + example: LLC + description: + type: string + description: description of company type + example: Limited Liability Corporation + /v2/customers/current: + get: + operationId: customer_get + summary: Get current customer data + tags: + - Customers + responses: + '200': + description: Current customer details + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + patch: + operationId: customer_update + summary: Update current customer data + tags: + - Customers + requestBody: + description: Modified fields for the current customer + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + notes: + type: string + description: Private customer notes + example: Cloud services via Amazon Direct Connect + description: + type: string + description: Customer description + example: Importer/exporter + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + description: Changes the customer-wide MFA setting + password: + type: string + description: >- + Current user password. Only required if customer_wide_mfa + changed + example: password111 + company_type_code: + type: string + description: Type of customer company + example: LLC + service_provider_types: + type: array + description: List of marketplace service provider types + items: + type: string + description: Slug of the service provider type + example: cloud-service-providers + industries: + type: array + description: Industries to which the customer belongs + items: + type: string + description: Slug of the industry + example: telecommunications + responses: + '200': + description: Current customer details updated with provided fields + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + /v2/customers/images/{uuid}: + get: + operationId: customer_image_get + summary: Return customer logo for provided customer's UUID + tags: + - Customers + parameters: + - required: true + in: path + name: uuid + description: Customer UUID + schema: + type: string + format: uuid + responses: + '200': + description: Customer logo in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/customers/current/image: + post: + operationId: customer_image_post + summary: >- + Upload image file with a company logo. Supported formats are PNG, JPEG + or BMP + tags: + - Customers + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: string + format: binary + example: JPEG, PNG or BMP image file + responses: + '200': + description: Logo changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/customers/current/locations: + get: + operationId: get_customer_location_list + summary: Get location list for the current customer + tags: + - Customers + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + responses: + '200': + description: >- + List of locations the current customer is in, optionally filtered by + provided parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/customers/current/account-managers: + get: + deprecated: true + operationId: get_customer_account_managers + summary: Get all customer account managers for the current customer + tags: + - Customers + responses: + '200': + description: An object containing a list of customer account managers + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers/current/sales-team: + get: + operationId: get_customer_sales_team + summary: Get the sales team details for the current customer + tags: + - Customers + responses: + '200': + description: An object containing lists of the different sales team members + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + account_executives: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + sales_engineers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers: + get: + operationId: get_customers + summary: Get customer list by filter params + tags: + - Customers + parameters: + - required: false + in: query + name: q + description: Search query string used to filter customers by name or description + schema: + type: string + - required: false + in: query + name: name + description: Filter customers by exact name + schema: + type: string + - required: false + in: query + name: routing_id + description: Filter customers by Customer Routing ID + schema: + type: string + - required: false + in: query + name: market + description: Filter customers by the market operated in + schema: + type: string + - required: false + in: query + name: pop + description: Filter customers by POP name + schema: + type: string + - required: false + in: query + name: type + description: >- + Filter customers by type. Accepts either a single value or an array + of values. + schema: + type: array + items: + type: string + enum: + - customer + - ix + - partner + responses: + '200': + description: List of customers, optionally filtered by provided filter parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer ID + example: PF-1RI-OQ85 + /v2/customers/{customer_uuid}/industries: + get: + operationId: customer_industries_get + summary: Return customer industries by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of industries for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/customers/{customer_uuid}/locations: + get: + operationId: customer_locations_get + summary: Return customer locations by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of locations for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: NYC4 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: NYC + market_description: + type: string + description: Market name + example: New York City + /v2/customers/{customer_uuid}/service-provider-types: + get: + operationId: customer_service_provider_types_get + summary: Return customer service_provider_types by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of service provider types for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/customers/current/ix-details: + patch: + operationId: patch_customer_ix_details + summary: Update IX details for the current customer + tags: + - Customers + requestBody: + description: Modified IX details for the current customer + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + responses: + '200': + description: Current customer IX details updated with provided fields + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/customers/{customer_uuid}/ix-details: + get: + operationId: get_customer_ix_details + summary: Return IX details by IX customer UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: IX details + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/diagnostic-reports: + post: + tags: + - Diagnostic Reports + summary: Create a diagnostic report + requestBody: + content: + application/json: + schema: + type: object + properties: + circuit_ids: + type: array + description: An array of circuit IDs + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + description: + type: string + description: The description of the diagnostic report + example: User provided description + start_time: + type: string + format: date-time + description: >- + The start time of this report and should be at least an hour + ago. Without timezone, start time will be considered as UTC + include_related: + type: boolean + description: Whether to include related reports or not + example: false + required: + - circuit_ids + - start_time + responses: + '200': + description: Response of a created diagnostic report + content: + application/json: + schema: + type: object + properties: + report: + type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + get: + tags: + - Diagnostic Reports + summary: Get diagnostic reports + operationId: get_reports + parameters: + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: reason + schema: + type: string + enum: + - USER + - SYSTEM + - OTHER + description: The reason to filter by + - required: false + in: query + name: user_login + schema: + type: string + description: The user login to filter by + - required: false + in: query + name: circuit_id + schema: + type: string + description: Circuit ID of the service to get the reports + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: q + schema: + type: string + description: Search query string used to filter reports + - required: false + in: query + name: description + schema: + type: string + description: The user provided description of the report + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - current_event_num + - num_expected_events + - report_uuid + - state + - time_created + description: Column to sort results on + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: The offset of results for this page + responses: + '200': + description: Get list of diagnostic reports based on query parameters + content: + application/json: + schema: + type: object + properties: + reports: + type: array + items: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + /v2/diagnostic-reports/{report_uuid}: + get: + tags: + - Diagnostic Reports + summary: Get diagnostic report details by UUID + operationId: get_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report details + content: + application/json: + schema: + type: object + properties: + report: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + delete: + tags: + - Diagnostic Reports + summary: Delete diagnostic report + operationId: delete_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to delete + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Report deleted successfully + /v2/documents: + get: + operationId: document_get_list + summary: Get documents list filtered by params + description: | + Use this endpoint to fetch the list of the documents. + You can use filters for your search results + tags: + - Documents + parameters: + - name: uuid + schema: + type: string + format: uuid + description: Search documents by UUID + example: 12a30d30-20c0-4f62-a982-eb1424631094 + in: query + - name: name + schema: + type: string + description: Search document by name + example: loa.pdf + in: query + required: false + - name: type + description: Search document by type + example: loa + schema: + type: string + enum: + - loa + - msa + - service_order + - test_results + - other + in: query + - name: port_circuit_id + schema: + type: string + description: Search LOA by port id + example: PF-AP-WDC1-1000 + in: query + - name: pop + schema: + type: string + description: Search LOA by pop + example: WDC1 + in: query + - name: vc_circuit_id + schema: + type: string + example: PF-DC-SMF-PDX-12345 + description: Search service orders by Virtual Circuit ID + in: query + - name: cloud_router_circuit_id + schema: + type: string + example: PF-L3-CUST-1400 + description: Search service orders by Cloud Router Circuit ID + in: query + - name: cloud_router_connection_circuit_id + schema: + type: string + example: PF-L3-CON-12345 + description: Search service orders by Cloud Router Connection Circuit ID + in: query + - name: hpi_circuit_id + schema: + type: string + example: PF-L3-TRAN-1400 + description: Search service orders by High Performance Internet Circuit ID + in: query + - name: aggregate_capacity_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + deprecated: true + - name: flex_bandwidth_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + - name: q + required: false + schema: + type: string + description: Search documents by partial name + example: loa + in: query + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - type + - name + - created + - updated + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of documents + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this + document refers to + type: string + format: uri + post: + operationId: document_upload + summary: Create/Upload a document + tags: + - Documents + requestBody: + description: Document uploading form + required: true + content: + multipart/form-data: + schema: + type: object + required: + - type + - description + - document + properties: + document: + type: string + format: binary + description: Binary file contents + type: + type: string + description: Document type + example: loa + enum: + - loa + - msa + description: + type: string + description: Document description + example: description example + port_circuit_id: + type: string + description: >- + Port circuit id. This field is required only for "loa" + document type + example: PF-AP-WDC1-1000 + responses: + '201': + description: Created document details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/documents/{uuid}: + get: + operationId: document_get_by_uuid + security: [] + summary: Download the document + tags: + - Documents + parameters: + - required: true + in: path + name: uuid + description: UUID of the document to download + schema: + type: string + format: uuid + responses: + '200': + description: Document's binary data + content: + application/octet-stream: + schema: + type: string + format: binary + example: '[binary data]' + /v2/events: + post: + operationId: create_event_subscription + summary: Create event subscription + description: > + **This is a beta feature.** + + + Cloud router connections are not supported yet. + + + This is the first step to receive a real-time event stream via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). + + + In this POST request, you declare which types of events and categories + of those event + + types you wish to stream. Assuming your request is valid, the response + will contain a + + `subscription_uuid` that you will use as a path parameter for the + *Stream Events* `/v2/events/{uuid}` + + endpoint described below. + + + Each subscription bundle is permanently associated with the session that + created it and can + + only be streamed within that session. This includes subscription bundles + created using API + + Keys (`/v2/api-keys`). Further, you must begin streaming your new + subscription bundle within + + 5 minutes of creation or it will expire. However, once you begin + streaming a particular + + bundle it will be valid until the session associated with it expires. + + + **Make sure to fully expand the schema by clicking `>` to see the + details for each type of payload.** + tags: + - Streaming Events - Beta + requestBody: + content: + application/json: + schema: + type: object + required: + - streams + properties: + streams: + type: array + items: + anyOf: + - title: Activity Log Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - customer + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - auth + - physical_interface + items: + type: string + enum: + - auth + - bgp + - cloud_connection + - cloud_router + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + - title: Port Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - port + ifds: + type: array + description: > + Specific ports you wish to subscribe to, + identified by port circuit IDs. If none are + + supplied, then all ports to which the customer has + access are assumed. + example: + - PF-AP-ABC-1234 + - PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - errors + - etherstats + - metrics + - optical + items: + type: string + enum: + - errors + - etherstats + - metrics + - optical + - title: Logical Interface Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - vc + vcs: + type: array + description: > + Specific logical interfaces you wish to subscribe + to, each identified by a combination of + + the virtual circuit ID and port circuit ID + associated with the logical interface. If none + + are supplied, then all logical interfaces to which + the customer has access are assumed. + example: + - PF-BC-ABC-QRS-84274-PF&PF-AP-ABC-1234 + - PF-CC-JKL-DEF-13758-PF&PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - metrics + items: + type: string + enum: + - metrics + responses: + '201': + description: Subscription bundle created successfully + content: + application/json: + schema: + type: object + properties: + subscription_uuid: + type: string + format: uuid + description: ID for created bundle of event streams + /v2/events/{uuid}: + get: + operationId: stream_events + summary: Stream events + description: > + **This is a beta feature.** + + + Ensure that you have created a subscription bundle using the *Create + event subscription* `/v2/events` + + endpoint described above and that you have access to the + `subscription_uuid` returned from that request. + + + Using this `subscription_uuid`, you can now stream events in real-time + via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) + from + + `/v2/events/{subscription_uuid}`. + + + Every message that you receive will have the same basic structure of an + `event` field and a + + `data` field. The `data` field will always be a JSON object. The below + is an example of the + + response you would receive when one of your users authenticates with the + PacketFabric Portal or API. + + ``` + + event: customer|auth + + data: {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User Hank Aaron logged + in.","timestamp": "2020-06-11T19:08:10.150711"} + + + ``` + + The precise content of the `data` of a given message will vary widely + depending on its particular + + type. The specifics of each are documented below. + + + In order to keep the connection open, you will also receive heartbeat + messages (`:`) if enough + + time has passed between events. Our API enforces a maximum connection + duration of two hours, + + so any automated system that uses this endpoint will need to account for + reconnecting periodically. + + + The below is a small example client using the + [sseclient](https://github.com/btubbs/sseclient) + + library for consuming a stream of Server-sent events. To use it, you'll + need to install sseclient and + + [requests](https://docs.python-requests.org/en/master/index.html) and be + using Python 3.7 or later. + + You will need to set your username and password into the `username` and + `password` + + variables near the bottom of the file as well. Also, the sseclient + library will automatically + + reconnect when the connection is lost. + + + ``` + + import asyncio + + import datetime + + + import requests + + from sseclient import SSEClient + + + BASE_URL = "https://api.packetfabric.com" + + + LOGIN = f"{BASE_URL}/v2/auth/login" + + LOGOUT = f"{BASE_URL}/v2/auth/logout" + + EVENTS_BASE = f"{BASE_URL}/v2/events" + + + + def login(username, password): + print("Logging in...") + resp = requests.post(LOGIN, json={"login": username, "password": password}) + print(f"Login response: {resp.json()}") + return resp.json()["token"] + + + def logout(token): + headers = {"Authorization": f"Bearer {token}"} + requests.get(LOGOUT, headers=headers) + print("Logged out") + + + def create_subscription(token): + url = EVENTS_BASE + headers = {"Authorization": f"Bearer {token}"} + body = { + "streams": [{"type": "customer"}] + } + resp = requests.post(url, json=body, headers=headers) + return resp.json()["subscription_uuid"] + + + async def consume_client(token, subscription_uuid): + headers = {"Authorization": f"Bearer {token}", "Accept": "text/event-stream"} + url = f"{EVENTS_BASE}/{subscription_uuid}" + r = SSEClient(url, headers=headers) + for event in r: + print(event.dump()) + + + if __name__ == "__main__": + username = "" + password = "" + token = login(username, password) + subscription_uuid = create_subscription(token) + try: + print(f"Starting stream at {datetime.datetime.utcnow().isoformat()}") + asyncio.run(consume_client(token, subscription_uuid)) + finally: + print(f"Ending stream at {datetime.datetime.utcnow().isoformat()}") + logout(token) + ``` + tags: + - Streaming Events - Beta + parameters: + - required: true + in: path + name: uuid + description: UUID of the subscription bundle + schema: + type: string + format: uuid + responses: + default: + description: Event stream + content: + text/event-stream: + schema: + type: object + properties: + event: + type: string + enum: + - customer|auth + - customer|billing + - customer|bgp + - customer|contact + - customer|cloud_connection + - customer|cloud_router + - customer|customer + - customer|document + - customer|lag_interface + - customer|logical_interface + - customer|physical_interface + - customer|outbound_cross_connect + - customer|point_to_point + - customer|rate_limit + - customer|user + - customer|virtual_circuit + - port|errors + - port|etherstats + - port|metrics + - port|optical + - vc|metrics + data: + anyOf: + - title: Activity Log Event Stream Data + example: > + {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User + Hank Aaron logged in.","timestamp": + "2021-08-06T16:23:12.872013+0000"} + type: object + properties: + user: + type: string + description: >- + username of user that performed this action or + 'system' + log_level: + description: Name of the level at which this event was logged + type: string + enum: + - emergency + - alert + - critical + - error + - warning + - notice + - info + - debug + category: + description: Category of the event + type: string + enum: + - auth + - billing + - bgp + - contact + - cloud_connection + - cloud_router + - customer + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + event: + type: string + description: Short name of the event + example: login + message: + type: string + description: Details of the event + example: User Alice logged in + timestamp: + type: string + format: date-time + description: Time of the event + example: '2020-06-11T19:08:10.150711' + - title: Logical Interface Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "vc_circuit_id": "PF-CC-ABC-QRS-24827-PF", "vlan": + "4", "port_circuit_id": "PF-AP-ABC-999-PF", + "bytes_rx_bps": 512, "bytes_rx_total": 1024, + "bytes_tx_bps": 512, "bytes_tx_total": 1024, + "packets_rx_pps": 2048, "packets_rx_total": 4096, + "packets_tx_pps": 2048, "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + vc_circuit_id: + type: string + port_circuit_id: + type: string + vlan: + type: integer + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "port_circuit_id": "PF-AP-ABC-999-PF", "bytes_rx_bps": + 512, "bytes_rx_total": 1024, "bytes_tx_bps": 512, + "bytes_tx_total": 1024, "packets_rx_pps": 2048, + "packets_rx_total": 4096, "packets_tx_pps": 2048, + "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Errors Event Stream + example: > + {"timestamp": "2021-09-22T21:16:22+00:00", + "port_circuit_id": "PF-AP-PHX2-2161831", "rx_discard": + 0, "rx_drop": 0, "rx_fifo": 0, "rx_framing": 0, + "rx_l2_channel": 0, "rx_l2_mismatch_timeout": 0, + "rx_l3_incomplete": 0, "rx_resource": 0, "rx_runt": 0, + "rx_unspecified": 0, "tx_aged": 0, "tx_carrier": 0, + "tx_collision": 0, "tx_drop": 0, "tx_fifo": 0, + "tx_link_crc": 0, "tx_mtu": 0, "tx_resource": 0, + "tx_unspecified": 0} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_discard: + type: integer + rx_drop: + type: integer + rx_fifo: + type: integer + rx_framing: + type: integer + rx_l2_channel: + type: integer + rx_l2_mismatch_timeout: + type: integer + rx_l3_incomplete: + type: integer + rx_resource: + type: integer + rx_runt: + type: integer + rx_unspecified: + type: integer + tx_aged: + type: integer + tx_carrier: + type: integer + tx_collision: + type: integer + tx_drop: + type: integer + tx_fifo: + type: integer + tx_link_crc: + type: integer + tx_mtu: + type: integer + tx_resource: + type: integer + tx_unspecified: + type: integer + - title: Port Etherstats Event Stream + example: > + {"timestamp": "2021-09-22T21:25:48+00:00", + "port_circuit_id": "PF-AP-PLG3-2158617", + "rx_broadcasts": 0, "rx_bytes": + 426166,"rx_code_violations": 0, "rx_crc_errors": 0, + "rx_fifo_errors": 0, "rx_fragment_frames": 0, + "rx_jabber_frames": 0, "rx_mac_control_frames": 0, + "rx_mac_pause_frames": 0, "rx_multicasts": 0, + "rx_oversized_frames": 0, "rx_packets": 5764, + "rx_unicast": 5764, "rx_vlan_tagged_frames": 0, + "tx_broadcasts": 0, "tx_bytes": 996137, + "tx_crc_errors": 0, "tx_fifo_errors": 0, + "tx_mac_control_frames": 0, "tx_mac_pause_frames": 0, + "tx_multicasts": 0, "tx_packets": 7828, "tx_unicast": + 7828} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_broadcasts: + type: integer + rx_bytes: + type: integer + rx_code_violations: + type: integer + rx_crc_errors: + type: integer + rx_fifo_errors: + type: integer + rx_fragment_frames: + type: integer + rx_jabber_frames: + type: integer + rx_mac_control_frames: + type: integer + rx_mac_pause_frames: + type: integer + rx_multicasts: + type: integer + rx_oversized_frames: + type: integer + rx_packets: + type: integer + rx_unicast: + type: integer + rx_vlan_tagged_frames: + type: integer + tx_broadcasts: + type: integer + tx_bytes: + type: integer + tx_crc_errors: + type: integer + tx_fifo_errors: + type: integer + tx_mac_control_frames: + type: integer + tx_mac_pause_frames: + type: integer + tx_multicasts: + type: integer + tx_packets: + type: integer + tx_unicast: + type: integer + - title: Port Optical Event Stream + example: > + {"timestamp": "2021-09-22T21:32:43+00:00", + "port_circuit_id": "PF-AP-WDC1-2158608", + "lane_0_bias_current": 0.0, "lane_0_index": 0.0, + "lane_0_output_power": 0.0, "lane_0_rx_dbm": 0.0, + "lane_0_rx_power": 0.0, "lane_0_tx_dbm": 0.0, + "lane_0_tx_power": 0.0, "lane_1_bias_current": 0.0, + "lane_1_index": 0.0, "lane_1_output_power": 0.0, + "lane_1_rx_dbm": 0.0, "lane_1_rx_power": 0.0, + "lane_1_tx_dbm": 0.0, "lane_1_tx_power": 0.0, + "lane_2_bias_current": 0.0, "lane_2_index": 0.0, + "lane_2_output_power": 0.0, "lane_2_rx_dbm": 0.0, + "lane_2_rx_power": 0.0, "lane_2_tx_dbm": 0.0, + "lane_2_tx_power": 0.0, "lane_3_bias_current": 0.0, + "lane_3_index": 0.0, "lane_3_output_power": 0.0, + "lane_3_rx_dbm": 0.0, "lane_3_rx_power": 0.0, + "lane_3_tx_dbm": 0.0, "lane_3_tx_power": 0.0} + description: Body of the event + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + lane_0_bias_current: + type: number + format: float + lane_0_index: + type: number + format: float + lane_0_output_power: + type: number + format: float + lane_0_rx_dbm: + type: number + format: float + lane_0_rx_power: + type: number + format: float + lane_0_tx_dbm: + type: number + format: float + lane_0_tx_power: + type: number + format: float + lane_1_bias_current: + type: number + format: float + lane_1_index: + type: number + format: float + lane_1_output_power: + type: number + format: float + lane_1_rx_dbm: + type: number + format: float + lane_1_rx_power: + type: number + format: float + lane_1_tx_dbm: + type: number + format: float + lane_1_tx_power: + type: number + format: float + lane_2_bias_current: + type: number + format: float + lane_2_index: + type: number + format: float + lane_2_output_power: + type: number + format: float + lane_2_rx_dbm: + type: number + format: float + lane_2_rx_power: + type: number + format: float + lane_2_tx_dbm: + type: number + format: float + lane_2_tx_power: + type: number + format: float + lane_3_bias_current: + type: number + format: float + lane_3_index: + type: number + format: float + lane_3_output_power: + type: number + format: float + lane_3_rx_dbm: + type: number + format: float + lane_3_rx_power: + type: number + format: float + lane_3_tx_dbm: + type: number + format: float + lane_3_tx_power: + type: number + format: float + /v2/flex-bandwidth: + post: + operationId: create_flex_bandwidth + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + operationId: get_flex_bandwidth_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/flex-bandwidth/{flex_bandwidth_id}: + get: + operationId: get_flex_bandwidth_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + operationId: delete_flex_bandwidth + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/groups: + get: + operationId: group_get + summary: Get the current customer's groups + description: >- + Use this endpoint to get the list of groups available for the current + customer + tags: + - Groups + responses: + '200': + description: List of the current customer's groups + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Group name. You can use it as group identifier + example: regular + _links: + type: object + description: Shows resources you can use the group in + properties: + permissions: + type: string + description: Url to get the list of permissions in this group + example: >- + https://api.packetfabric.com/v2/groups/regular/permissions + users: + type: string + description: Url to get the list of the users in this group + example: https://api.packetfabric.com/v2/groups/regular/users + /v2/groups/{group_name}/users: + get: + operationId: group_get_user_list + summary: Get the list of users in the group + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of users in + schema: + type: string + example: regular + responses: + '200': + description: List of users in the group + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/groups/{group_name}/permissions: + get: + operationId: group_get_permission_list + summary: Get the list of permissions granted for the group + description: >- + Every granted permission makes it possible to use corresponding + resources + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of permissions in + schema: + type: string + example: regular + responses: + '200': + description: List of group's permissions + content: + application/json: + schema: + type: array + items: + type: object + properties: + permission_key: + type: string + description: Permission name + example: group/permission.read + has_permission: + type: boolean + description: >- + Shows if the permission is enabled within the given + group + /v2/locations/{site_code}: + get: + operationId: get_location + summary: Get location data for specified location + tags: + - Locations + parameters: + - required: true + in: path + name: site_code + description: Site code of the target location + schema: + type: string + example: CS-LA1 + responses: + '200': + description: Details of a physical location specified by the site code + content: + application/json: + schema: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/locations: + get: + operationId: get_location_list + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2.1/locations: + get: + operationId: get_location_list2_1 + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: cloud_provider + description: Filter locations by the cloud provider + schema: + type: string + enum: + - aws + - azure + - google + - ibm + - oracle + - required: false + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - dedicated + - hosted + - required: false + in: query + name: network_provider + description: Filter locations by the network provider + schema: + type: string + example: PacketFabric + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + - required: false + in: query + name: export + description: Export the data as a CSV file + schema: + type: string + example: csv + - required: false + in: query + name: enni + description: Filter locations by whether or not they support ENNI + schema: + type: boolean + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_providers: + type: array + description: List of cloud providers available at this location + items: + type: object + properties: + provider: + type: string + description: Cloud provider name + enum: + - aws + - azure + - google + - ibm + - oracle + region: + type: string + description: Cloud provider region + example: us-east-1 + region_description: + type: string + description: Cloud provider region description + example: US East (N. Virginia) + connection_types: + type: array + description: >- + List of connection types available at this + location + items: + type: object + properties: + type: + type: string + description: Connection type name + enum: + - hosted + - dedicated + zones: + type: array + description: List of zones available at this location + items: + type: string + example: A + /v2/locations/cloud: + get: + operationId: get_cloud_location_list + summary: Get a list of cloud locations filtered by query params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: has_cloud_router + description: Flag to look for only cloud-router capable locations + schema: + type: boolean + default: false + - required: true + in: query + name: cloud_provider + description: Filter locations by the cloud provider key + schema: + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - required: true + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - hosted + - dedicated + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_provider: + type: string + description: > + Short key identifying cloud provider, + + only available when providing cloud_provider or + cloud_connection_type query parameter + enum: + - aws + - google + - azure + - ibm + - salesforce + cloud_connection_details: + type: object + description: > + Details of the connection, + + only available when providing cloud_provider or + cloud_connection_type query parameter + properties: + region: + type: string + description: Short region name + example: us-east-1 + region_description: + type: string + description: Long region description + example: US East (N. Virginia) + hosted_type: + type: string + description: Type of the connection + enum: + - hosted-connection + - dedicated-connection + zones: + type: array + description: List of zones available at this location + items: + type: string + example: + - A + - B + /v2/locations/extrametro: + get: + operationId: get_extrametro_location_list + summary: Get a list of extrametro locations + tags: + - Locations + responses: + '200': + description: List of extrametro locations + content: + application/json: + schema: + type: array + items: + type: object + properties: + desired_market: + type: string + description: Desired market + example: LON + allowed_market: + type: string + description: Allowed market + example: SFO + /v2/locations/regions: + get: + operationId: get_location_region_list + summary: Get region list + tags: + - Locations + responses: + '200': + description: List of available regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Region name + example: Continental U.S. + code: + type: string + description: Region code + example: US + /v2/locations/markets: + get: + operationId: get_location_market_list + summary: Get market list + tags: + - Locations + responses: + '200': + description: List of available markets + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Market name + example: Los Angeles + code: + type: string + description: Market code + example: LAX + country: + type: string + description: Market country code + example: US + /v2/locations/{pop}/port-availability: + get: + operationId: get_location_port_availability + summary: Get port availability data for a POP + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + type: object + properties: + zone: + type: string + description: Zone name + example: A + speed: + type: string + description: Wiring speed + example: 100Gbps + media: + type: string + description: Media type + example: LR4 + count: + type: integer + description: Number of available ports + example: 3 + partial: + type: boolean + description: Ports are partially available + example: false + enni: + type: boolean + description: Ports support eNNI + example: false + /v2/locations/{pop}/zones: + get: + operationId: get_location_zone_availability + summary: Get zones for a POP. + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: A list of zones in the given POP. + content: + application/json: + schema: + type: array + items: + type: string + example: A + /v2/locations/{pop}/image: + get: + operationId: get_location_image + summary: Get image for a specified location + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target location + schema: + type: string + responses: + '200': + description: Location image in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/labels/{value}: + put: + operationId: update_label + summary: Update a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be linked when the operation is complete. + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + patch: + operationId: add_label + summary: Add to a label's circuit_ids + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be added to the existing list of circuit_ids mapped to a + label + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + get: + operationId: get_label_objects + summary: Get a list of objects associated with a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + - required: false + in: query + name: label_type + description: >- + Label type. customer_ref by default. reseller_ref is only for the + reseller customers + schema: + type: string + enum: + - customer_ref + - reseller_ref + responses: + '200': + description: List of circuit IDs associated with a label + content: + application/json: + schema: + type: object + properties: + objects: + type: array + description: An array of circuit IDs associated with a label + items: + type: string + description: Circuit ID associated with a label + example: PF-AE-LAX1-1234 + /v2/labels: + get: + operationId: get_labels + summary: Get a list of labels associated with a customer + tags: + - Labels + responses: + '200': + description: List of labels associated with a customer + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value + example: staging + /v2/lags: + post: + operationId: lag_post + summary: Create a LAG Interface + tags: + - LAGs + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - interval + - pop + - members + properties: + description: + type: string + description: Description of a LAG + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + pop: + type: string + description: Point of presence + example: LAX1 + members: + type: array + description: >- + List of member port identifiers. All members must have the + same speed and media. + items: + type: string + example: PF-AE-LAX1-1234 + responses: + '201': + description: LAG creation successful, returns newly created LAG + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + /v2/lags/{port_circuit_id}: + patch: + operationId: lag_patch + summary: Updates a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: Description of a LAG, up to 256 characters + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + responses: + '200': + description: Returns the updated interface + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + delete: + operationId: lag_delete + summary: Deletes a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to delete the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/enable: + post: + operationId: post_lag_enable + summary: Enables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to enable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/disable: + post: + operationId: post_lag_disable + summary: Disables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to disable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members: + get: + operationId: lag_list_members + summary: Lists member interfaces for a LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a LAG + responses: + '200': + description: List of port members of the LAG + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: post_lag_member_interface + summary: >- + Adds a member interface to a target LAG. All members must have the same + speed and media. + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + requestBody: + content: + application/json: + schema: + type: object + required: + - member_port_circuit_id + properties: + member_port_circuit_id: + type: string + example: PF-AE-LAX1-1234 + description: ID of a member interface to add to LAG + responses: + '200': + description: Successfully started task to add member interface(s) + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: + operationId: delete_lag_member_interface + summary: Remove a member interface from a target LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + - required: true + in: path + name: member_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-7890 + description: ID of the member to remove + responses: + '200': + description: Successfully started task to delete member interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/marketplace/services: + get: + operationId: marketplace_customer_services_get + summary: Get the collection of customers with services offered in the marketplace + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: >- + Filters the service list to a specific service-provider customer. + Allows multiple comma-separated values. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: pop + description: >- + Filters the service list to a specific location. Allows multiple + comma-separated values. + schema: + type: string + example: SAC1 + - required: false + in: query + name: market + description: >- + Filters the service list to a specific market. Allows multiple + comma-separated values. + schema: + type: string + example: SAC + - required: false + in: query + name: category + description: Filters the service list to a specific category + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: service_type + description: >- + Filters the service list by service type. Allows multiple + comma-separated values. Defaults to port-service. + schema: + type: string + enum: + - port-service + - cloud-router-service + example: Port Service + - required: false + in: query + name: show_unpublished + description: >- + Show unpublished services. Only returns results for the current + customer. Defaults to false. + schema: + type: boolean + example: true + - required: false + in: query + name: q + description: >- + Filters services by partial name, description, service uuid, or + customer name + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - customer_uuid + - name + - time_created + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all marketplace services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + description: UUID of the customer + format: uuid + routing_id: + type: string + description: Routing ID of the customer + example: PF-1RI-OQ85 + name: + type: string + description: Human-readable name of the customer + example: Example Ltd. + aliases: + type: string + description: The customer's aliases + example: Example alias + description: + type: string + description: Short description of what the customer does + example: Example description + website: + type: string + description: URL of the customer's website + example: www.example.com + format: uri + industries: + type: array + description: Industries in which the customer operates + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + service_provider_type: + type: array + description: What kinds of service provider the customer is + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: network-services + service_provider_name: + type: string + description: Human-readable name + example: Network Services + _links: + type: object + properties: + customer_image: + type: string + description: Link to the customer's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + services: + type: array + description: Services the customer offers + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: >- + Service categories in which the service is + included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: >- + Identifier to be used in URLs and JSON + bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: >- + Whether or not the service is visible to the + public + state: + type: string + description: >- + Whether or not the service is active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for + services of type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + post: + operationId: marketplace_services_post + summary: Create a new service + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + enum: + - cloud-computing + - content-delivery-network + - edge-computing + - sd-wan + - data-storage + - developer-platform + - internet-service-provider + - security + - video-conferencing + - voice-and-Messaging + - web-hosting + - internet-of-things + - private-connectivity + - bare-metal-hosting + - sip-trunking + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + service_type: + type: string + description: >- + The service type of this service. Defaults to + 'port-service'. + example: port-service + enum: + - port-service + - cloud-router-service + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this service is + associated with. + example: PF-L3-CUST-2001 + route_set: + type: object + required: + - prefixes + properties: + description: + type: string + description: The route set's description + example: User entered description + is_private: + type: boolean + description: Whether this route set is private. Defaults to true. + example: true + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + required: + - name + - published + responses: + '201': + description: Created marketplace service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/quick-connect: + get: + operationId: quick_connect_services_get + summary: Get the collection of Quick Connect services + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: Filters the service list to a specific service-provider customer. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: published + description: >- + Indicates whether to return published services or unpublished + services, used with routing_id param. + schema: + type: boolean + example: true + - required: false + in: query + name: category + description: >- + Filters the service list to a specific category. Allows multiple + comma-separated values. + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: l3nf_id + description: Filters the service list by the attached cloud router id. + schema: + type: integer + example: 1000 + - required: false + in: query + name: q + description: Filters services by partial name, description or service uuid + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - description + - name + - uuid + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all Quick Connect services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/{service_uuid}: + get: + operationId: marketplace_services_get_by_uuid + summary: Get a single service object + tags: + - Marketplace + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + responses: + '200': + description: Service object matching requested UUID + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + patch: + operationId: marketplace_services_put_by_uuid + summary: Update a service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + responses: + '200': + description: Details of updated service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + delete: + operationId: marketplace_services_delete_by_uuid + summary: Delete a marketplace service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Service deleted successfully + /v2/marketplace/services/{service_uuid}/image: + get: + operationId: marketplace_services_get_image + summary: Get a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's image + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + delete: + operationId: marketplace_services_delete_image + summary: Delete a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Image deleted + description: Operation status + post: + operationId: marketplace_services_post_image + summary: Update a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Image to be set for the service + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Image set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/marketplace/services/{service_uuid}/thumbnail: + get: + operationId: marketplace_services_get_thumbnail + summary: Get a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's thumbnail + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + post: + operationId: marketplace_services_post_thumbnail + summary: Update a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Thumbnail to be set for the service + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Thumbnail set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Thumbnail set successfully + description: Operation status + /v2/marketplace/services/{service_uuid}/route-set: + get: + operationId: marketplace_service_get_route_set + summary: Returns the Route Set associated with the Marketplace Service. + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/marketplace/industries: + get: + operationId: industries_get + summary: Return a list of all possible industries + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible industries + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/marketplace/service-provider-types: + get: + operationId: service_provider_types_get + summary: Return a list of all possible service provider types + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service provider types + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/marketplace/service-categories: + get: + operationId: service_categories_get + summary: Return a list of all possible service categories + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service categories + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-computing + name: + type: string + description: Human-readable name + example: Cloud computing + /v2/maintenances/history: + get: + operationId: maintenances_history_get_list + summary: Get list of individual maintenance histories + description: >- + Get list of individual maintenance histories, one per contact and + associated circuit ID, optionally filtered by uuid + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: The UUID of the target maintenance + schema: + type: string + format: uuid + responses: + '200': + description: List of maintenance histories + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: >- + UUID of the maintenance associated with this + notification + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + details: + type: string + description: Details describing the type of maintenance + example: Routine maintenance + filename: + type: string + description: >- + pdf file with additional details, attached to the email + notification + example: attachment.pdf + time_sent: + type: string + format: date-time + description: Date and time when this notification was sent + example: '2020-11-01T10:00:00.00000' + contact_first_name: + type: string + description: Contacted person's first name + example: John + contact_last_name: + type: string + description: Contacted person's last name + example: Doe + contact_email: + type: string + description: Contacted person's email address + example: me@here.com + vc_circuit_id: + type: string + description: circuit ID of an affected Virtual Circuit + example: PF-BC-SAC-SMF-1234 + port_circuit_id: + type: string + description: circuit ID of an affected Port + example: PF-AP-WDC1-1000 + cr_connection_circuit_id: + type: string + description: circuit ID of an affected Cloud Router connection + example: PF-L3-CON-2345 + pop: + type: string + description: POP name + example: WDC1 + /v2/maintenances/notifications: + get: + operationId: maintenances_notification_get_list + summary: Get maintenance notifications list filtered by uuid, action or type + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: >- + The UUID of the maintenance details object that notifications were + sent in relation to. + schema: + type: string + format: uuid + - required: false + in: query + name: action + description: Maintenance action + schema: + type: string + enum: + - open + - update + - close + - cancel + - reminder + - required: false + in: query + name: type + description: Type of maintenance + schema: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + - required: false + in: query + name: start + description: Filter by maintenance start date/time. + schema: + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + - required: false + in: query + name: end + description: Filter by maintenance end date/time. + schema: + type: string + format: date-time + example: '2020-01-01T14:30:00.000Z' + responses: + '200': + description: List of maintenance notification objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the maintenance details object + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + jira_key: + type: string + description: jira_key + example: NOC-9182 + type: + type: string + enum: + - open + - update + - close + - cancel + - reminder + description: Maintenance type + example: open + action: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + description: Maintenance action + example: upgrade + input: + type: object + description: Empty object. Included for backwards compatibility + example: {} + exclude: + type: array + description: List of IFDs excluded from the notification + example: + - PF-AP-BOS2-6313 + items: + type: string + time_start: + type: string + format: date-time + description: Date and time when this maintenance starts + example: '2020-11-01T10:00:00.00000' + time_end: + type: string + format: date-time + description: Date and time when this maintenance ends + example: '2020-11-01T12:00:00.00000' + time_created: + type: string + format: date-time + description: Date and time when this maintenance was created + example: '2020-11-01T09:57:58.00000' + time_updated: + type: string + format: date-time + description: Date and time when this maintenance was last updated + example: '2020-11-01T09:57:58.00000' + port_circuit_ids: + type: array + description: List of affected port IDs + example: + - PF-AP-LAX1-1234567 + - PF-AP-LAX1-2345678 + items: + type: string + vc_circuit_ids: + type: array + description: List of affected Virtual Circuit IDs + example: + - PF-BC-SAC-SMF-1234 + - PF-BC-SAC-SMF-2345 + items: + type: string + cr_connection_circuit_ids: + type: array + description: List of affected Cloud Router Connection circuit IDs + example: + - PF-L3-CON-1234 + items: + type: string + pops: + type: array + description: List of affected POP names + example: + - LAX1 + - NYC1 + items: + type: string + system_wide: + type: boolean + description: true if this maintenance is system-wide, false otherwise + example: false + /v2/maintenances/by-location: + get: + operationId: maintenances_by_location + summary: Get current and future maintenances by pop name and/or market code + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: pop_names_list + description: >- + Filter to maintenances that affect this pop, or the market that + contains this pop. Can be specified multiple times to filter by + multiple pops. + schema: + type: string + example: WDC1 + - required: false + in: query + name: market_codes_list + description: >- + Filter to maintenances that affect this market. Can be specified + multiple times to filter by multiple markets + schema: + type: string + example: WDC + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/maintenances/by-service/{circuit_id}: + get: + operationId: maintenances_by_service + summary: Get current and future maintenances that affect a given service + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the service for which to fetch maintenances + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/metrics/ifd/errors/{port_circuit_id}: + get: + operationId: ifd_errors + summary: List of IFD errors + description: > + Returns an array of arrays containing IFD errors. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • IFD state id
  • +
  • Error RX discard
  • +
  • Error RX drop
  • +
  • Error RX fifo
  • +
  • Error RX framing
  • +
  • Error RX l2 channel
  • +
  • Error RX l2 mismatch timeout
  • +
  • Error RX l3 incomplete
  • +
  • Error RX resource
  • +
  • Error RX runt
  • +
  • Error RX unspecified
  • +
  • Error TX aged
  • +
  • Error TX carrier
  • +
  • Error TX collision
  • +
  • Error TX drop
  • +
  • Error TX fifo
  • +
  • Error TX link crc
  • +
  • Error TX mtu
  • +
  • Error TX resource
  • +
  • Error TX unspecified
  • +
  • Ethernet RX code violations
  • +
  • Ethernet RX crc Errors
  • +
  • Ethernet RX fifo Errors
  • +
  • Ethernet RX fragment frames
  • +
  • Ethernet RX jabber frames
  • +
  • Ethernet RX oversized frames
  • +
  • Ethernet TX crc Errors
  • +
  • Ethernet TX fifo Errors
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD Errors + content: + application/json: + schema: + type: array + items: + type: array + items: + anyOf: + - type: number + format: float + - type: integer + example: + - 1590988980 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/temperature/{port_circuit_id}: + get: + operationId: ifd_temperature + summary: Optic temperature + description: > + Array of arrays that contain optic temperature values recorded in + Celcius degrees (°C). The items in the arrays are not named in order to + avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • Temperature value (in °C)
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD optic temperature + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591112400 + - 26.100000381469727 + - - 1591112460 + - 26.100000381469727 + - - 1591112520 + - 26.100000381469727 + - - 1591112580 + - 26 + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: + operationId: ifd_optic_data + summary: Optics light level data + description: > + Array of arrays that contain optic light levels data, separated by lane. + The items in the arrays are not named in order to avoid increasing the + response payload size. Here's an ordered list of all the names of + the items being sent:
    +
  • UNIX timestamp
  • +
  • Module temperature
  • +
  • Module voltage
  • +
  • Lane 0 bias current
  • +
  • Lane 0 output power
  • +
  • Lane 0 RX dbm
  • +
  • Lane 1 bias current
  • +
  • Lane 1 output power
  • +
  • Lane 1 RX dbm
  • +
  • Lane 2 bias current
  • +
  • Lane 2 output power
  • +
  • Lane 2 RX dbm
  • +
  • Lane 3 bias current
  • +
  • Lane 3 output power
  • +
  • Lane 3 RX dbm
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing IFD optic light level values. + Note: null values are possible + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591115100 + - 37.03333282470703 + - 3.2487778663635254 + - 36.41600036621094 + - null + - -1.6155555248260498 + - 36.435001373291016 + - null + - -0.6155555844306946 + - 36.47600173950195 + - null + - -1.4766666889190674 + - 36.494998931884766 + - null + - -1.1344444751739502 + /v2/metrics/ifd/whatcast/{port_circuit_id}: + get: + operationId: ifd_whatcast + summary: Broadcast, Multicast and Unicast data for a given IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) + broadcast, multicast and unicast values. The items in the arrays are not + named in order to avoid increasing the response payload size. Here's an + ordered list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • State id
  • +
  • RX Broadcast
  • +
  • RX Multicast
  • +
  • RX Unicast
  • +
  • TX Broadcast
  • +
  • TX Multicast
  • +
  • TX Unicast
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing broadacast, unicast and multicast values + for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591115340 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/rate/{type}/{port_circuit_id}: + get: + operationId: ifd_rate + summary: Traffic rate (bps/pps) by IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given IFD. The average, minimum and maximum values are a + representation of the average, minimum and maximum traffic values + (respectively) per datapoint when an `interval` param is used. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 1705 + - 1527 + - 1882 + - 2345 + - 2165 + - 2525 + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}: + get: + operationId: ifl_rate + summary: Traffic rate (bps/pps) by port circuit id + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given logical interface (IFL). The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: vc_circuit_id + description: VC circuit id + example: PF-BC-DA1-DA1-1234567 + schema: + type: string + - required: true + in: path + name: port_circuit_id + description: Port circuit id + example: PF-AP-DAL1-12345 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/customer/ifl/rate/{type}: + get: + operationId: ifl_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFL + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by logical interface (IFL). The + average, minimum and maximum values are a representation of the average, + minimum and maximum traffic values (respectively) per datapoint when an + `interval` param is used. The items in the arrays are not named in order + to avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFL ID
  • +
  • IFL State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFLs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118940 + - 4286 + - 1984736 + - 2707 + - 2579 + - 2835 + - 2713 + - 2564 + - 2863 + /v2/metrics/customer/ifl/summary/{type}: + get: + operationId: ifl_summary_by_customer + summary: Summary of all IFL traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + logical interfaces (IFLs) that belong to the current customer. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFLs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591119720 + - 4108784189 + - - 1591119780 + - 3892492190 + - - 1591119840 + - 3333090005 + /v2/metrics/customer/ifd/rate/{type}: + get: + operationId: ifd_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFD + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by IFD. The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFD ID
  • +
  • IFD State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFDs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591120020 + - 1050 + - 3699429 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/customer/ifd/summary/{type}: + get: + operationId: ifd_summary_by_customer + summary: Summary of all IFD traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + interfaces (IFDs) that belong to the current customer. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFDs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591120260 + - 3837395341 + - - 1591120320 + - 3816877153 + - - 1591120380 + - 4034748323 + /v2/metrics/customer/longhaul-usage: + get: + operationId: longhaul_usage_by_customer + summary: Summary of all traffic per day for the current customer + description: > + Array of TrafficRollup objects containing transferred (TX) and received + (RX) bytes aggregated by day belonging to the current customer with the + possibility to filter for a single logical interface (IFL) and/or + multiple Virtual Circuits (VC). + tags: + - Metrics + parameters: + - required: false + in: query + name: vc_circuit_id + description: Virtual Circuit (VC) identifier + schema: + type: string + - required: false + in: query + name: vc_circuit_id_list + description: List of Virtual Circuit (VC) identifiers + schema: + type: array + items: + type: string + - required: false + in: query + name: include_ifl_data + description: >- + Boolean to indicate whether more information on the logical + interface (IFL) should be returned + schema: + type: boolean + default: false + - required: false + name: include_vc_data + in: query + schema: + type: boolean + default: false + description: >- + Boolean to indicate whether more information on the Virtual Circuit + (VC) should be returned. + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + responses: + '200': + description: > + Array of TrafficRollup objects containing transferred (TX) and + received (RX) bytes aggregated by day belonging to the current + customer. + content: + application/json: + schema: + type: array + items: + type: object + properties: + rollup_date: + type: string + format: date + description: > + An ISO 8601 formatted date string, such as "2020-06-23". + It determines the day the TrafficRollup corresponds to. + customer_id: + type: integer + description: The integer ID of the corresponding customer + vc_circuit_id: + type: string + description: >- + The string identifier of the corresponding virtual + circuit (VC) + bytes_tx: + type: integer + description: The amount of transferred bytes, as an integer + bytes_rx: + type: integer + description: The amount of received bytes, as an integer + example: + - rollup_date: '2020-06-23' + customer_id: 1000 + vc_circuit_id: PF-IX-LAX-ATL-2005 + bytes_tx: 10000 + bytes_rx: 10000 + ifl_data: null + vc_data: null + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: + operationId: ifl_rate_by_cloud_router_connection + summary: Traffic rate (bps/pps) of a Layer 3 Interface by cloud router connection + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given layer 3 logical interface (IFL). The average, minimum + and maximum values are a representation of the average, minimum and + maximum traffic values (respectively) per datapoint when an `interval` + param is used. The items in the arrays are not named in order to avoid + increasing the response payload size. Here's an ordered list of + all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given L3IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: + operationId: get_ipsec_stats_by_circuit_id + summary: Get IPSec statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: IPSec statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + decrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 4313760 + encrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 5143232 + ike_input_bytes: + type: integer + example: 842026 + description: The number of IKE input bytes into the IPSec connection. + ike_output_bytes: + type: integer + example: 645975 + description: The number of IKE output bytes into the IPSec connection. + local_address: + type: string + example: 23.159.0.6 + description: The local address of this connection. + remote_address: + type: string + example: 52.9.103.65 + description: The remote address of this connection. + ike_state: + type: string + example: matured + description: The IKE state of this connection. + enum: + - matured + - not_matured + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: + operationId: get_nat_stats_by_circuit_id + summary: Get NAT statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: NAT statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + address_ranges: + type: array + items: + type: string + description: The address ranges of this connection. + example: + - 185.161.1.35-185.161.1.35 + port_range: + type: string + description: The port range of this connection. + example: 1024-65535 + ports_in_use: + type: integer + example: 43 + description: The number of ports in use. + max_ports_in_use: + type: integer + description: The maximum number of ports in use. + example: 734 + /v2/ports/{port_circuit_id}: + get: + operationId: get_port + summary: Get port info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + patch: + operationId: update_port + summary: Update a port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + properties: + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Full details of the updated port including modified fields + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + delete: + operationId: delete_port + summary: Delete port + description: > + Use this endpoint to delete port/interface. You cannot delete port using + this endpoint if + + there are billing restrictions or port is the part of other active + product + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port to delete + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port deleted successfully + /v2/ports/{port_circuit_id}/device-info: + get: + operationId: get_port_device_info + summary: Get port device info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + responses: + '200': + description: Various details of a physical device port + content: + application/json: + schema: + type: object + properties: + adjacent_router: + type: string + device_name: + type: string + device_make: + type: string + admin_status: + type: string + oper_status: + type: string + auto_negotiation: + type: boolean + iface_name: + type: string + speed: + type: string + optics_diagnostics_lane_values: + type: object + properties: + tx_status: + type: string + tx_power_dbm: + type: number + format: float + example: -1.05 + tx_power: + type: number + format: float + example: 0.786 + lane_index: + type: string + example: 0 + rx_status: + type: string + rx_power: + type: number + format: float + example: 0 + rx_power_dbm: + type: number + format: float + example: -35.23 + bias_current: + type: number + format: float + example: 45.532 + polltime: + type: number + format: float + time_flapped: + type: string + traffic_rx_bps: + type: integer + traffic_rx_bytes: + type: integer + traffic_rx_ipv6_bytes: + type: integer + traffic_rx_ipv6_packets: + type: integer + traffic_rx_packets: + type: integer + traffic_rx_pps: + type: integer + traffic_tx_bps: + type: integer + traffic_tx_bytes: + type: integer + traffic_tx_ipv6_bytes: + type: integer + traffic_tx_ipv6_packets: + type: integer + traffic_tx_packets: + type: integer + traffic_tx_pps: + type: integer + wiring_speed: + type: string + example: 10G + wiring_media: + type: string + wiring_module: + type: string + wiring_panel: + type: string + wiring_position: + type: string + wiring_reach: + type: string + wiring_type: + type: string + tx_power_high_alarm_threshold: + type: number + format: float + tx_power_high_alarm_threshold_dbm: + type: number + format: float + tx_power_high_warn_threshold: + type: number + format: float + tx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_high_alarm_threshold: + type: number + format: float + rx_power_high_alarm_threshold_dbm: + type: number + format: float + rx_power_high_warn_threshold: + type: number + format: float + rx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_low_alarm_threshold: + type: number + format: float + rx_power_low_alarm_threshold_dbm: + type: number + format: float + rx_power_low_warn_threshold: + type: number + format: float + rx_power_low_warn_threshold_dbm: + type: number + format: float + lag_speed: + type: integer + device_can_lag: + type: boolean + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + operationId: post_port_loa + summary: Generate and email the LOA for this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + requestBody: + content: + application/json: + schema: + type: object + required: + - loa_customer_name + properties: + loa_customer_name: + description: >- + Customer name to use on the LOA. It may need to be different + than what they use with PacketFabric. + example: Not The Umbrella Corp. + type: string + destination_email: + description: If specified, the LOA will be sent to this address. + type: string + format: email + destination_emails: + type: array + description: An array of destination emails + items: + type: string + description: Destination email + example: user@email.com + responses: + '201': + description: Document created to store the LOA + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/ports/{port_circuit_id}/vlan-summary: + get: + operationId: get_port_vlan_summary + summary: Get a summary of VLANs for a specific port + tags: + - Ports + parameters: + - name: port_circuit_id + in: path + required: true + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - name: include_logical_interfaces + in: query + required: false + description: Include list of logical interfaces for this port + schema: + type: boolean + - name: min_vlan + in: query + required: false + description: Minimum VLAN ID to include in the summary + schema: + type: integer + responses: + '200': + description: Summary of VLANs for a specific port + content: + application/json: + schema: + type: object + properties: + lowest_available_vlan: + description: Lowest available VLAN id for this port + type: integer + example: 4 + max_vlan: + description: Highest used VLAN id for this port + type: integer + logical_interfaces: + type: array + items: + type: object + properties: + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + vlan: + type: integer + example: 6 + inner_vlan_list: + type: array + example: [] + items: + type: integer + untagged: + type: boolean + example: true + rate_limit_in: + type: integer + example: 100 + rate_limit_out: + type: integer + example: 100 + status: + type: string + enum: + - active + - provisioning + disabled: + type: boolean + example: false + description: + type: string + example: GOG to NYC (PF Test Company) + time_created: + type: string + format: date-time + description: Date and time of interface creation + time_updated: + type: string + format: date-time + description: Date and time interface was last updated + tag_type: + type: string + example: single + /v2/ports/{port_circuit_id}/enable: + post: + operationId: enable_port + summary: Enable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port enabled successfully + /v2/ports/{port_circuit_id}/disable: + post: + operationId: disable_port + summary: Disable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port disabled successfully + /v2/ports/{port_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_port_upgrade + summary: Upgrade subscription term on port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to upgrade + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + required: + - subscription_term + description: Subscription term to upgrade to + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '202': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port is being upgraded. + workflow: + type: string + example: Port Upgrade Workflow + description: The type of workflow that has been started. + state: + type: string + example: STARTED + description: The state of the Workflow. + workflow_id: + type: string + example: 02c3efdd-5634-4334-b43d-fc521fff2c05 + description: UUID of the workflow + /v2/ports/{port_circuit_id}/router-logs: + get: + operationId: get_port_router_logs + summary: Get logs for this port's router + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - required: true + in: query + name: time_from + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter from. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - required: true + in: query + name: time_to + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter up to. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + responses: + '200': + description: List of router logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + device_name: + type: string + example: cfr1.pdx1 + iface_name: + type: string + example: XE-0/0/1:3 + message: + type: string + example: >- + cfr1.pdx1 mib2d[11088]: %DAEMON-4-SNMP_TRAP_LINK_UP: + ifIndex 897, ifAdminStatus up(1), ifOperStatus up(1), + ifName xe-0/0/1:3 + severity: + type: integer + example: 4 + description: Severity of the router log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the router log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/ports/{port_circuit_id}/status: + get: + tags: + - Ports + summary: Get Port service status + operationId: port_status2_1 + parameters: + - name: port_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a Port provisioning + content: + application/json: + schema: + type: object + required: + - port_circuit_id + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + description: Current state information + properties: + state: + type: string + description: Current state + description: + type: string + description: Current state description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: port/workflow/provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: List of error messages + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/ports: + get: + operationId: get_port_list + summary: Get port list + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: List of ports optionally filtered by provided parameters + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: port_post + summary: Create a port + description: >- + Creates a port if available in the provided POP based on the requested + speed and media type + tags: + - Ports + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - subscription_term + - pop + - speed + - media + properties: + account_uuid: + type: string + format: uuid + description: ID of a billing account + pop: + type: string + description: Point of Presence for the newly created port + example: LAX1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: CS-LA2 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Duration of the subscription in months + zone: + type: string + description: Availability zone of the port + example: A + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nni: + type: boolean + description: >- + Flag to enable NNI on this port. NNI ports will use a + nni_svlan_tpid value of 0x8100. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this interface + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: Details of the newly created port object + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + /v2/ports/export.csv: + get: + operationId: get_port_list_csv + summary: Export port list to CSV + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_cloud_router + schema: + type: boolean + description: Filter cloud router ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + CSV file with the list of ports optionally filtered by provided + parameters + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/quotes: + get: + operationId: get_portal_quotes + summary: Get quotes for this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: statuses + description: Only include quotes with the given statuses + schema: + type: array + default: + - open + - updating + items: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + - required: false + in: query + name: quote_uuid + description: Only include the quote with this UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's quotes + content: + application/json: + schema: + type: array + items: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. + Cannot be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + post: + operationId: create_portal_quote + summary: Create a quote + tags: + - Portal Quotes + requestBody: + content: + application/json: + schema: + type: object + required: + - title + - billing_contact_uuid + properties: + title: + type: string + description: name for the quote + custom_terms: + type: string + description: Special terms for the quote + billing_contact_uuid: + type: string + format: uuid + description: Billing contact associated with this quote + selected_term: + type: integer + example: 12 + description: >- + the default subscription term for this quote, can be + overridden by individual quote lines + responses: + '201': + description: Created quote + content: + application/json: + schema: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/duplicate: + post: + operationId: duplicate_portal_quote + summary: Duplicate a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + responses: + '201': + description: Duplicated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}: + post: + operationId: add_portal_quote_line + summary: Add a quote line to a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote to add a line to + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - product_type + - product_definition + properties: + selected_term: + type: integer + example: 12 + description: >- + subscription term for this quote line, can override the term + of the parent quote + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + oneOf: + - description: >- + Cloud Dedicated product definition for the + `cloud_dedicated` product type + title: Cloud Dedicated + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: the location of the cloud dedicated port + speed: + type: string + - description: >- + Cloud Hosted product definition for the `cloud_hosted` + product type + title: Cloud Hosted + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + side_z: + type: string + description: the location of the cloud on-ramp port + speed: + type: string + - description: >- + Cloud Router Connection product definition for the + `cr_connection` product type + title: Cloud Router Connection + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + speed: + type: string + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + - description: >- + Cloud Router product definition for the `cloud_router` + product type + title: Cloud Router + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + side_z: + type: string + speed: + type: string + - description: >- + Cross Connect product definition for the `crossconnect` + product type + title: Cross-connect + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + - description: Port product definition for the `port` product type + title: Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + ENNI Port product definition for the `port_enni` product + type + title: ENNI Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + Point-to-point product definition for the `pointtopoint` + product type + title: Point-to-point + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + - description: >- + Backbone VC product definition for the `vcbwc` product + type + title: Backbone VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + bandwidth_type: + type: string + enum: + - dedicated + - usage + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + description: not required for bandwidth_type=usage VCs + - description: >- + Cloud Dedicated VC product definition for the + `cloud_dedicated_vc` product type + title: Dedicated Cloud VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + responses: + '201': + description: Added quote line + content: + application/json: + schema: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: the details of the product represented by this quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: price per GB transferred for a usage-based service + type: number + format: float + nullable: true + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + get: + operationId: get_portal_quote_details + summary: Get a quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote + schema: + type: string + format: uuid + responses: + '200': + description: Quote details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: >- + price per GB transferred for a usage-based + service + type: number + format: float + nullable: true + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + patch: + operationId: update_portal_quote + summary: Update a quote + description: > + What updates are allowed for a quote is dependent on the status of the + quote. + + Only `open` and `updating` quotes can have properties other than + `status` updated. + + - `open` quotes + - can transition to `cancelled` or `finalized` + - can have other properties updated + - `cancelled` quotes + - cannot transition to any other status + - no properties can be updated + - can be duplicated + - `finalized` quotes + - can transition to `open` (to update properties or add/delete lines) + - no other properties can be updated + - `finalizing` is a state that indicates a background task is running to + transition the quote from `open` to `finalized` + + - `updating` is a state that indicates a background task is running, but + the quote can otherwise be considered `open` + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to update + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + title: + type: string + custom_terms: + type: string + status: + type: string + enum: + - open + - cancelled + - finalized + selected_term: + type: integer + example: 12 + description: subscription term for this quote + responses: + '200': + description: Updated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: + operationId: delete_portal_quote_line + summary: Delete a quote line + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote + schema: + type: string + format: uuid + - required: true + in: path + name: quote_line_uuid + description: the UUID of the quote line to delete + schema: + type: string + format: uuid + responses: + '200': + description: Deleted a quote line + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Quote deleted + /v2/quotes/{quote_uuid}/pdf: + get: + summary: Get quote PDF + description: Get quote PDF for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the PDF of the quote with this UUID + responses: + '200': + description: Quote PDF of the given quote + content: + application/pdf: + schema: + type: string + format: binary + description: PDF of the quote + /v2/quotes/{quote_uuid}/csv: + get: + summary: Get quote CSV + description: Get quote CSV for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the CSV of the quote with this UUID + responses: + '200': + description: Quote CSV of the given quote + content: + text/csv: + schema: + type: string + format: binary + description: CSV of the quote + /v2/quotes/{quote_uuid}/publish: + post: + operationId: publish_portal_quote + summary: Publish a quote + description: Only finalized quotes can be published + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - customer_uuid + properties: + customer_uuid: + type: string + format: uuid + description: UUID of the customer to whom this quote should be published + responses: + '201': + description: Published quote + content: + application/json: + schema: + type: object + description: A published quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published: + get: + operationId: get_published_portal_quotes + summary: Get published quotes created by this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: quote_uuid + description: Only include published quotes created from the quote with this UUID + schema: + type: string + format: uuid + - required: false + in: query + name: assigned_customer_uuid + description: >- + Only include published quotes assigned to the customer with this + UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's published quotes + content: + application/json: + schema: + type: array + items: + description: A published quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/assigned: + get: + operationId: get_published_portal_quotes_assigned_to_customer + summary: Get published quotes assigned to this customer + tags: + - Portal Quotes + responses: + '200': + description: List of published quotes assigned to this customer + content: + application/json: + schema: + type: array + items: + description: Published quote details + title: Published quote details + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this + quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of + this product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with + this published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/{published_quote_uuid}: + get: + operationId: get_published_portal_quote_details + summary: Get a published quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: published_quote_uuid + description: UUID of the published quote + schema: + type: string + format: uuid + responses: + '200': + description: Published quote details + content: + application/json: + schema: + type: object + description: Published quote details + title: Published quote details + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with this + published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/request-aliases: + get: + operationId: request_alias_get_list + summary: Get request aliases associated with your account + tags: + - Request Aliases + responses: + '200': + description: Array of Request Alias objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: >- + A list of mappings that this request alias is relevant + to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + post: + operationId: request_alias_post + summary: Add a new request alias to your account + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '201': + description: The new Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + /v2/request-aliases/{request_alias_uuid}: + get: + operationId: request_alias_get + summary: Get a request alias by UUID + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + patch: + operationId: request_alias_patch + summary: Update a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '200': + description: The updated request alias object. + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + delete: + operationId: request_alias_delete + summary: Delete a request alias from your account + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A message confirming the deletion of the request alias. + /v2/request-aliases/{request_alias_uuid}/contacts: + get: + operationId: request_alias_get_contacts + summary: Get all contacts associated with a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A list of contact objects associated with the request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + delete: + operationId: request_alias_delete_contacts + summary: Disassociates several contacts from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + requestBody: + description: The contact UUIDs to dissociate from this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contacts from the request alias. + post: + operationId: request_alias_post_contacts + summary: Associate several contacts with a single request alias. + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + description: The contact UUIDs to associate with this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + responses: + '201': + description: The updated request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}: + delete: + operationId: request_alias_delete_contact + summary: Disassociates a contact from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + - required: true + in: path + name: contact_uuid + description: >- + The UUID of the contact you want to associate with the request + alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contact from the request alias. + /v2/services: + get: + operationId: get_service_list + summary: Get list of current customer's services + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, POP/circuit id of the + interface, or aggregate capacity container + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: List of customer's services + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair + of interfaces + + * evpl supports multiple Ethernet Virtual Connections + per interface + + * evpl-untagged is used when either Source or + Destination interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to + subtract this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/export.csv: + get: + operationId: get_service_list_csv + summary: Get list of current customer's services exported in CSV + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, or POP/circuit id of the + interface + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: CSV file with the list of customer's services + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/{vc_circuit_id}: + get: + operationId: get_service + summary: Get service info + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + patch: + operationId: patch_service + summary: Update service settings + description: >- + Update rate limits, description, VLANs, or untagged status for a service + or its interfaces + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit incoming data by. Set to + null to disable. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit outgoing data by. Set to + null to disable. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + description: VC request + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + operationId: delete_service + summary: Delete a service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status (Legacy) + operationId: vcstatus + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: VC circuit id + example: PF-AP-LAX1-1234 + instance_type: + type: string + description: VC instance type + example: VC + state: + type: string + description: Current workflow step + example: create_interfaces + all_states: + type: array + description: All steps of the current workflow + items: + type: string + all_state_descriptions: + type: object + description: Map of state names to the descriptions + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + properties: + error_message: + type: string + description: Error description + time_created: + description: Time of the workflow creation + type: string + format: date-time + time_updated: + description: Time when the workflow last update + type: string + format: date-time + has_error: + description: True if there an error occured + type: boolean + /v2.1/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status + operationId: vcstatus_2_1 + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: vc/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/{vc_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_service_upgrade + summary: Upgrade service billing terms or speed + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + billing_product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + responses: + '202': + description: Upgrade has started + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/upgrade/options: + get: + operationId: get_service_upgrade_options + summary: Get available upgrade options for a specific service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Available upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + example: false + description: >- + Flag indicating whether or not the interface can be + upgraded. + product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + - metro_dedicated + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + /v2/services/{vc_circuit_id}/burst: + post: + operationId: post_service_burst + summary: Add speed burst, billed hourly, to your circuit. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + speed: + type: string + example: 500Mbps + description: >- + Speed in Mbps of the burst. This bandwidth will be added to + the existing circuit speed. If an existing burst exists, + this speed burst will replace the existing one. Must be a + multiple of 100Mbps. + responses: + '202': + description: VC burst upgrade started + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst upgrade started + delete: + operationId: delete_service_burst + summary: Delete a speed burst, returning circuit to originally configured speed. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC burst deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst deleted successfully + /v2/services/backbone: + post: + operationId: post_service_backbone + summary: Create a backbone or dedicated cloud virtual circuit + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - bandwidth + - interfaces + - epl + properties: + description: + type: string + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interfaces: + description: 2-element array containing data for A and Z interfaces + type: array + minItems: 2 + maxItems: 2 + items: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or + set untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + epl: + type: boolean + description: > + If true, created circuit will be an EPL otherwise EVPL + + * EPL provides Point-to-Point connection between a pair of + interfaces + + * EVPL supports multiple Ethernet Virtual Connections per + interface + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + example: + description: string + po_number: string + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + vlan: 6 + untagged: false + - port_circuit_id: PF-AP-LAS1-2000 + vlan: 7 + untagged: false + rate_limit_in: 1000 + rate_limit_out: 1000 + epl: false + description: VC request + responses: + '201': + description: New backbone connection information + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + example: + vc_circuit_id: PF-BC-SAC1-LAS1-1234567 + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + state: requested + service_type: backbone + service_class: longhaul + mode: evpl + connected: true + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + description: string + po_number: string + rate_limit_in: 1000 + rate_limit_out: 1000 + time_created: '2019-08-24T14:15:22Z' + time_updated: '2019-08-24T14:15:22Z' + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + pop: SAC1 + site: RW-CA3 + site_name: NTT Global Data Centers CA3 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 6 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + - port_circuit_id: PF-AP-LAS1-2000 + pop: LAS1 + site: SW-LAS1 + site_name: Switch Las Vegas 7 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 7 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + /v2/services/third-party: + post: + operationId: post_service_third_party + summary: Create a 3rd-party virtual circuit + description: 3rd-party VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the third-party VC. + example: My Third-party VC + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + The circuit ID of the aggregate capacity container from + which this VC's speed should be subtracted + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + The circuit ID of the flex bandwidth container from which + this VC's speed should be subtracted + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Third-party VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/aws: + post: + operationId: post_aws_marketplace_cloud + summary: Request a hosted AWS Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - aws_account_id + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the AWS Marketplace Cloud connection. + example: My AWS Marketplace Cloud connection + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: The prefix of the customer router. + example: 10.10.10.10/32 + remote_address: + type: string + description: The prefix of the remote router. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existant Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: AWS Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/azure: + post: + operationId: post_azure_marketplace_cloud + summary: Request a hosted Azure Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - azure_service_key + - speed + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Azure Marketplace Cloud connection. + example: My Azure Marketplace Cloud connection + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Azure Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/google: + post: + operationId: post_google_marketplace_cloud + summary: Request a hosted Google Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - google_pairing_key + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Google Marketplace Cloud connection. + example: My Google Marketplace Cloud connection + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Google Hosted Connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Google Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/oracle: + post: + operationId: post_oracle_marketplace_cloud + summary: Request a hosted Oracle Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Oracle + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - account_uuid + - vc_ocid + - region + - pop + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Oracle Marketplace Cloud connection. + example: My Oracle Marketplace Cloud connection + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + description: Oracle Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/ipsec/{circuit_id}: + get: + operationId: ipsec_get + summary: Gets IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + patch: + operationId: ipsec_patch + summary: Updates IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + requestBody: + content: + application/json: + schema: + type: object + properties: + customer_gateway_address: + type: string + description: The Customer-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + /v2/services/ipsec/gateway_address/uniqueness: + get: + operationId: ipsec_gateway_address_uniqueness_check + summary: Checks if IPsec gateway address is unique + tags: + - Cloud Router IPsec + parameters: + - required: true + in: query + name: gateway_address + description: The gateway address we want to check for uniqueness. + schema: + type: string + example: 192.0.10.1 + responses: + '200': + description: success message + content: + application/json: + schema: + type: object + properties: + status: + type: boolean + example: true + /v2/services/ix: + post: + operationId: post_service_ix + summary: Create a IX VC + description: IX VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + - asn + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: IX-Z76-YH87 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Internet Exchange VC. + example: My IX VC + asn: + type: integer + description: ASN + example: 4556 + rate_limit_in: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: IX VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/requests: + get: + operationId: get_service_requests + summary: Get list of VC requests + tags: + - Services + parameters: + - name: type + required: true + in: query + description: Search requests by type + schema: + type: string + enum: + - sent + - received + responses: + '200': + description: List of VC request details + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you + in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there + is only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will + only be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with + which this request is associated. This field will + only be included for VC requests that you created. + /v2/services/requests/{vc_request_uuid}: + get: + operationId: get_service_request + summary: Get VC request by uuid + tags: + - Services + parameters: + - required: true + in: path + name: vc_request_uuid + schema: + type: string + format: uuid + responses: + '200': + description: VC request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + delete: + operationId: delete_service_request + summary: Delete service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + description: UUID of the service request + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + delete_reason: + type: string + description: Reason for deleting the connection request + responses: + '200': + description: Deletion succeeded + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Whether deletion succeeded or not + example: Successfully deleted the service request + /v2/services/requests/{vc_request_uuid}/provision: + post: + operationId: provision_service + summary: Provision requested service + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + description: Provisioning details + properties: + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + operationId: provision_marketplace_cloud + summary: Provision requested Marketplace cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - Oracle + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - provider + description: Marketplace Cloud provisioning details + properties: + provider: + type: string + description: Cloud provider for this connection + enum: + - aws + - azure + - google + - oracle + interface: + oneOf: + - type: object + required: + - port_circuit_id + - vlan + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + - description: >- + Azure Marketplace Cloud interfaces must include + vlan_private, vlan_microsoft, or both. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan_private: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + vlan_microsoft: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + operationId: provision_marketplace_cloud_router_connection + summary: Provision requested Marketplace cloud router connection + tags: + - Cloud Router Third Party + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - bgp_settings + description: Marketplace Cloud Router Connection provisioning details + properties: + interface: + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: >- + The circuit ID of the port to use to create the + connection. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + bgp_settings: + description: >- + Request payload for specifying BGP details for the new + connection. + type: object + required: + - l3_address + - remote_address + - remote_asn + - prefixes + properties: + l3_address: + type: string + description: The L3 Address of this instance. + example: 10.0.0.1/30 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to advertise from the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + local_preference: + type: integer + description: The local preference for the prefix. + example: 100 + minimum: 0 + responses: + '201': + description: Provisioned Cloud Router Connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/requests/{vc_request_uuid}/reject: + post: + operationId: reject_service_request + summary: Reject service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + responses: + '200': + description: Rejected request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + /v2/svlan-labels: + post: + operationId: create_svlan_label + summary: Create SVlan label + description: >- + Create a label to associate with a particular SVlan and port. There can + only be one label for a given SVlan per port. The port must be an NNI + port. + tags: + - SVlan Labels + requestBody: + content: + application/json: + schema: + type: object + required: + - svlan_id + - description + - port_circuit_id + properties: + svlan_id: + type: integer + description: integer between 4 and 4094 inclusive + example: 1357 + description: + type: string + description: name for the label + maxLength: 64 + port_circuit_id: + type: string + description: Circuit ID of the NNI port + example: PF-AP-WDC1-10000 + responses: + '201': + description: Created SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{port_circuit_id}: + get: + operationId: get_svlan_labels_for_port + summary: Get SVlan labels for port + description: Get SVlan labels associated with this port + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Get the SVlan labels for this port + responses: + '200': + description: the SVlan labels for this port + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/mappings: + get: + operationId: get_svlan_labels_for_customer + summary: Get SVlan labels for the logged-in customer + description: Get all the SVlan labels for this customer + tags: + - SVlan Labels + responses: + '200': + description: all of the SVlan labels for this customer + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{svlan_label_uuid}: + patch: + operationId: update_svlan_label + summary: Update this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to update + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: new description for this SVlan label + example: a label for my SVlan + responses: + '200': + description: Updated SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + delete: + operationId: delete_svlan_label + summary: Delete this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to delete + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: SVlan label deleted successfully + /v2/users: + post: + operationId: user_post + summary: Create new user + tags: + - Users + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - login + - password + - first_name + - last_name + - email + - phone + - timezone + - group + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + password: + description: User password. Keep it in secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + example: admin + groups: + description: | + User groups. Deprecated. + type: array + minItems: 1 + items: + type: string + example: + - admin + deprecated: true + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_list + summary: Get list of users + description: Use this endpoint to get users for the current customer + tags: + - Users + parameters: + - in: query + name: q + description: Searches for this string in the user name or e-mail + schema: + type: string + responses: + '201': + description: List of users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}: + patch: + operationId: user_patch + summary: Modify a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: The user with this login will be modified + schema: + type: string + requestBody: + description: | + Details to update the User + content: + application/json: + schema: + type: object + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + password: + type: string + description: > + Password of the user being changed. + + This is required if the user's email is being changed. + + This does not change the user's password, for that use PATCH + /v2/users/{user_login}/password. + example: p4ssw0rd + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + disabled: + description: >- + Set this flag to disable the user. Disabled users will not + be able to login + type: boolean + example: false + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + responses: + '200': + description: Modified user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_by_login + summary: Fetch user details by a user login + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch + schema: + type: string + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + delete: + operationId: user_delete_by_login + summary: Deletes a user + tags: + - Users + parameters: + - required: true + in: path + description: Login of the user to delete + name: user_login + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted + /v2/users/{uuid}: + get: + operationId: user_get_by_uuid + summary: Fetch user details by a UUID + tags: + - Users + parameters: + - required: true + description: UUID of the user to fetch + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}/groups: + get: + deprecated: true + operationId: user_get_group_list + summary: Get the list of groups of a given user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch groups for + schema: + type: string + responses: + '200': + description: List of groups of a user + content: + application/json: + schema: + type: array + items: + type: string + description: Group name + example: + - admin + - regular + /v2/users/{user_login}/groups/{group_name}: + post: + deprecated: true + operationId: user_add_group + summary: Add user to group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: User login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to add user to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User successfully added to group + delete: + deprecated: true + operationId: user_delete_group + summary: Delete a user from a given group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to delete user from. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted from the group + /v2/users/request-password-reset: + post: + operationId: user_request_password_reset + security: [] + summary: Sends the user an email with a link to reset a forgotten password + tags: + - Users + requestBody: + description: Login of the user to request the password reset for + content: + application/json: + schema: + type: object + required: + - user_login + properties: + user_login: + type: string + description: Login of the user to request the password reset for + responses: + '200': + description: Confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: >- + You'll receive an email with instructions to reset your + password + /v2/users/reset-password: + post: + operationId: user_reset_password + security: [] + summary: Sets a new password for a user + tags: + - Users + requestBody: + description: Password reset details + content: + application/json: + schema: + type: object + required: + - new_password + - rt + properties: + new_password: + type: string + description: New password for the user + example: p4ssw0rd + rt: + type: string + description: Reset token from the e-mail + responses: + '200': + description: Reset confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/{user_login}/password: + patch: + operationId: user_update_password + summary: Sets a new password for a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Password of the user with this login will be modified + schema: + type: string + requestBody: + description: Password update details + content: + application/json: + schema: + type: object + required: + - new_password + - old_password + properties: + new_password: + type: string + description: New password for the user, at least 8 characters long + example: p4ssw0rd + old_password: + type: string + description: Current password for the user + example: p4ssw0rd + responses: + '200': + description: Password changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/mfa/setup: + post: + operationId: user_mfa_setup + summary: Generate a user secret and scratch codes + description: > + Generates a new user secret and 3 new scratch codes used for + multi-factor authentication.
**Note:** this replaces any previous + secret with a new one and remaining scratch codes with three new ones. + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + secret: + type: string + description: secret used to setup multi-factor authentication apps + example: HAZWMZRXME4DALJUGEYDALJUGYZWILJZHBRDGLLDHBTGGZJRHFRTEYRYMI + codes: + description: Single-use scratch codes + type: array + minItems: 3 + items: + type: string + example: + - '123456' + - '654321' + - 72839 + /v2/users/mfa/enable: + post: + operationId: user_mfa_enable + summary: Enable multi-factor authentication for the user + description: > + This enables multi-factor authentication for the user. By requiring an + authentication code to be sent we make sure that users have properly + setup their authentication app of choice, thus avoiding inadvertently + locking a user out of their account. + tags: + - Multi-Factor Authentication + requestBody: + description: Multi-factor authentication details + content: + application/json: + schema: + type: object + required: + - authentication_code + properties: + authentication_code: + type: string + description: Multi-factor authentication code + example: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/disable: + post: + operationId: user_mfa_disable + summary: Disable multi-factor authentication for the user + description: > + Deletes all trace of multi-factor authentication for the user in + question. This includes the scratch codes and the secret. + tags: + - Multi-Factor Authentication + requestBody: + description: User password + content: + application/json: + schema: + type: object + required: + - password + properties: + password: + type: string + description: Password for the user + example: p4ssw0rd + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/qrcode: + get: + operationId: user_mfa_qrcode + summary: Return a QR code image used for setup + description: > + Returns a QR code image that can be used to setup a multi-factor + authentication app like Google Authenticator.
**Note:** for + security reasons, this image will only be available for the five minutes + that follow the moment when a new secret code is generated + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + image/png: + schema: + type: string + format: binary + /v2/team-invites: + post: + operationId: team_signup_user_post_list + summary: >- + Sign-up and send invitation emails to a list of new users, assigned to + current customer + tags: + - TeamSignup + requestBody: + description: | + Details to invite the User with + content: + application/json: + schema: + type: array + items: + type: object + required: + - email + - group + properties: + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning + of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + email_sent: + description: >- + Flag indicating that the invitation email has been + successfully sent + type: boolean + get: + operationId: team_signup_user_get_list + summary: Get list of team signup invitations + description: Use this endpoint to get all invited users for the current customer + tags: + - TeamSignup + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}: + get: + operationId: team_signup_get_user + security: [] + summary: Get details of a team signup invitation + description: Use this endpoint to get details of a specific user invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}/resend: + post: + operationId: resend_team_signup_invitation + summary: Resend team invitation + description: Resend team invitation to the potential user + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Invitation has been resent + /v2/team-invites/{signup_uuid}/user: + post: + operationId: team_signup_register_user_post + security: [] + summary: Create a new user based on team signup invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - password + - first_name + - last_name + - phone + - timezone + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + password: + description: User password. Keep it secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/objects/{circuit_id}/labels: + put: + operationId: update_object + summary: Update an object label + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: An array of label values to be associated with an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + patch: + operationId: add_object + summary: Add to an object's labels + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: >- + An array of label values to be added to the already existing + labels of an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + get: + operationId: get_object_labels + summary: Get the Labels associated with an object + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object + schema: + type: string + responses: + '200': + description: A list of labels associated with an object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value linked to an object + example: staging + /v2/outbound-cross-connects: + post: + operationId: outbound_cross_connect_post + summary: Create a new outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-SO-ME-111 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this cross + connect should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: + - port + - site + - document_uuid + responses: + '202': + description: Outbound Cross Connect Object + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Outbound Cross Connect is being created + description: >- + This message lets you know that the cross connect has + started provisioning. + get: + operationId: outbound_cross_connect_list + summary: Get the outbound cross connects associated with the current customer + tags: + - Outbound Cross Connects + parameters: + - required: false + in: query + name: port + schema: + type: string + description: List OBCC by port_circuit_id + example: port-circuit-id + - required: false + in: query + name: show_deleted + schema: + type: boolean + description: Include deleted OBCCs in list + example: true + responses: + '200': + description: List of outbound cross connects + content: + application/json: + schema: + type: array + items: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: >- + Z-side company name for the far side of the cross + connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + get: + operationId: outbound_cross_connect_get + summary: Get a single outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + delete: + operationId: outbound_cross_connect_delete + summary: Delete an outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect successfully deleted + patch: + operationId: outbound_cross_connect_patch + summary: Patch a single outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + user_description: + type: string + example: description for the cross connect + description: user_description to use for the cross connect + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + /v2/services/point-to-point/{ptp_uuid}: + get: + tags: + - PTP Services + summary: Get point-to-point service info + operationId: getptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID or Circuit ID of the point-to-point service to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Point-to-point service details + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + tags: + - PTP Services + summary: Delete a point-to-point service + operationId: deleteptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to delete + schema: + type: string + format: uuid + responses: + '200': + description: >- + Successfully started the delete process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + patch: + tags: + - PTP Services + summary: Update a point-to-point service + description: Updates the description of the point-to-point service + operationId: patchptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to update + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Details of updated point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point: + get: + tags: + - PTP Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter PTPs by description, circuit id, or POP/circuit id/market of + the interfaces + example: LAX + summary: Get all point-to-point services + operationId: ptplist + responses: + '200': + description: List of point-to-point services for current customer + content: + application/json: + schema: + type: array + items: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + post: + tags: + - PTP Services + summary: Create a point-to-point service + operationId: PTP Services.post_point_to_point + requestBody: + description: Create a point-to-point connection between two POPs + content: + application/json: + schema: + type: object + required: + - description + - endpoints + - speed + - media + - account_uuid + - subscription_term + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: false + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + endpoints: + type: array + items: + type: object + required: + - pop + - zone + - autoneg + properties: + pop: + type: string + description: POP name + example: PDX1 + zone: + type: string + description: Availability zone + example: A + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + autoneg: + type: boolean + loa: + type: string + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: true + responses: + '201': + description: Details of created point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point/{ptp_uuid}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status (Legacy) + operationId: ptpstatus + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch status for + schema: + type: string + format: uuid + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - instance_id + - instance_type + - state + - all_state_descriptions + - all_states + properties: + instance_id: + type: string + format: uuid + instance_type: + type: string + enum: + - PointToPoint + state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_states: + type: array + items: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_state_descriptions: + type: object + properties: + Requested: {} + IFDsCreated: {} + VCCreated: {} + BillingAdded: {} + Testing: {} + BillingEnabled: {} + Active: {} + ReservationRemoved: {} + BillingRemoved: {} + IFLsDestroyed: {} + VCDestroyed: {} + IFDsDestroyed: {} + Inactive: {} + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + required: + - error_message + - time_created + properties: + error_message: + type: string + time_created: + type: string + format: date-time + current_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + current_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + next_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + next_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + transition: + type: string + enum: + - doCreateIFDs + - doCreateVC + - doAddBilling + - doRemoveReservation + - doActivate + - doRemoveBilling + - doDestroyVC + - doDestroyIFDs + - doInactivate + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + has_error: + type: boolean + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status + operationId: ptpstatus2_1 + parameters: + - name: ptp_circuit_id + in: path + required: true + description: Circuit ID of the point-to-point service to fetch status for + schema: + type: string + example: PF-PD-NYC-AUS-1734406 + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: ptp/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + tags: + - PTP Services + summary: Upgrade a point-to-point service to a new subscription term + deprecated: true + operationId: PTP Services.post_point_to_point_upgrade + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to upgrade + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + required: false + responses: + '200': + description: >- + Successfully started the upgrade process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: + tags: + - PTP Services + summary: >- + Get upgrade options for a point-to-point service upgrade to a new + subscription term + operationId: PTP Services.get_point_to_point_upgrade_options + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch upgrade options for + schema: + type: string + format: uuid + responses: + '200': + description: >- + Upgrade availability and available options for point-to-point + service upgrade + content: + application/json: + schema: + type: object + required: + - upgrade_available + - subscription_term + properties: + upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + /v2/services/cloud-routers: + get: + operationId: cloud_routers_list + summary: Returns a list of cloud routers associated with the current account. + tags: + - Cloud Routers + responses: + '200': + description: A list of Cloud Routers. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + post: + operationId: cloud_routers_create + summary: Creates a new Cloud Router and then returns it. + tags: + - Cloud Routers + requestBody: + description: Request payload for creating a new Cloud Router. + content: + application/json: + schema: + type: object + required: + - name + - account_uuid + - capacity + properties: + scope: + type: string + deprecated: true + description: >- + Whether the cloud router is private or public. (This field + is ignored) + example: private + enum: + - private + - public + asn: + type: integer + example: 4556 + description: >- + The ASN of the instance. Values must be within 64512 - + 65534, or 4556. Defaults to 4556 if unspecified. + default: 4556 + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + regions: + type: array + items: + type: string + description: >- + The code of the region to be used for this Cloud Router. + Optional. + example: US + default: US + enum: + - US + - UK + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + example: 12 + responses: + '201': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/export.csv: + get: + operationId: get_cloud_routers_csv + summary: Download customer cloud routers as csv + tags: + - Cloud Routers + responses: + '200': + description: CSV with list of customer cloud routers + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}: + get: + operationId: cloud_router_get + summary: Returns a cloud router associated with the circuit id. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + patch: + operationId: cloud_routers_patch + summary: Update an existing Cloud Router. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + requestBody: + description: Update an existing Cloud Router. + content: + application/json: + schema: + type: object + properties: + name: + type: string + example: New Super Cool Cloud router + description: The name of this particular CR. + regions: + deprecated: true + type: array + items: + type: string + description: The code of the region to be used for this Cloud Router. + example: US + enum: + - US + - UK + capacity: + deprecated: true + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + delete: + operationId: cloud_router_delete + summary: Deletes a cloud router. Note that all connections must be deleted first. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: Cloud router deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router deleted. + /v2/services/cloud-routers/requests: + get: + operationId: cloud_router_request_get_list + summary: Returns a list of Cloud Router Imports Requests. + parameters: + - required: true + in: query + name: request_type + description: Type of the Cloud Router Import Request. + schema: + type: array + items: + type: string + enum: + - sent + - received + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports Requests. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/requests/{import_circuit_id}: + get: + operationId: cloud_router_request_get + summary: >- + Returns a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Imports Request. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved the + return filter + example: false + delete: + operationId: cloud_router_request_delete + summary: Deletes a Cloud Router Imports Request associated with the circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been deleted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: + operationId: cloud_router_request_accept + summary: >- + Accepts a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been accepted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been accepted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + operationId: cloud_router_request_reject + summary: >- + Rejects a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + requestBody: + description: Request payload for rejecting an import request. + content: + application/json: + schema: + type: object + properties: + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + responses: + '200': + description: The Cloud Router Import Request has been rejected. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been rejected. + description: Operation status + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: + operationId: cloud_routers_bgp_get + summary: List BGP sessions associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + responses: + '200': + description: A list of BGP sessions. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs + to be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The source IP address + mask of the NAT pool + prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + put: + operationId: cloud_routers_bgp_update + summary: Updates an existing BGP session and associated L3 information. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: >- + Request payload for updating an existing BGP session on a cloud + router. + content: + application/json: + schema: + required: + - prefixes + - remote_asn + - l3_address + type: object + properties: + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to be + the subnet. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: >- + The cloud-side address of the instance. Not used for Azure + connections. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. Minimum + for Google is 1000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. Minimum for Google is 5. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + bgp_settings_uuid: + type: string + format: uuid + description: >- + The UUID of the specific BGP session to update, if more than + one are present. + example: 862386eb-df01-436b-8346-e16c8023e4d1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '200': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + post: + operationId: cloud_routers_bgp_create + summary: >- + Creates a new BGP session and associated L3 information on a cloud + router connection and returns it. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: Request payload for creating a new BGP session on a cloud router. + content: + application/json: + schema: + type: object + required: + - remote_asn + properties: + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. Not used for Azure + connections. + example: 10.0.0.1/30 + primary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the primary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + secondary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the secondary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + default: 1 + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + minimum: 3 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. + example: 3 + minimum: 2 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + get: + operationId: cloud_routers_bgp_get_by_uuid + summary: Get a single BGP session associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: A single BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + delete: + operationId: cloud_routers_bgp_delete_by_uuid + summary: Delete a single BGP session from a cloud router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: BGP session deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: BGP Settings deleted successfully + /v2/services/cloud-routers/{circuit_id}/connections: + get: + operationId: cloud_routers_connections + summary: Lists all cloud router connections for a given router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/connections/export.csv: + get: + operationId: get_cloud_routers_connections_csv + summary: Download cloud routers connections as csv + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: cloud_router_circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-1400 + responses: + '200': + description: CSV with list of cloud router connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + operationId: check_bgp_address_uniqueness + summary: Checks to make sure the bgp addresses are unique + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for bgp address uniqueness check + content: + application/json: + schema: + type: object + properties: + l3_address: + type: string + description: The BGP l3 address + example: 10.0.0.1/32 + remote_address: + type: string + description: The BGP cloud-side address + example: 10.0.0.1 + pool_prefix: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + cloud_circuit_id: + type: string + description: >- + The cloud router connection circuit id, to be used during + bgp update uniqueness check. + example: PF-L3-CON-2843831 + bgp_settings_uuid: + type: string + format: uuid + description: >- + The bgp session UUID, to be used during multi-bgp update + uniqueness check. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + responses: + '200': + description: BGP addresses uniqueness check response + content: + application/json: + schema: + type: object + properties: + remote_unique: + type: boolean + description: Indicates whether the remote address is unique. + nullable: true + l3_unique: + type: boolean + description: Indicates whether the l3 address is unique. + nullable: true + pool_prefix_unique: + type: boolean + description: Indicates whether the pool prefix is unique. + nullable: true + /v2/services/cloud-routers/connections: + get: + operationId: cloud_routers_connections_by_customer + summary: Lists all of the customer's cloud router connections. + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: port_circuit_id + description: Filter Dedicated Port connections by their Port Cicuit ID. + schema: + type: string + example: PF-AP-LAB1-123456 + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - time_created + - time_updated + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + patch: + operationId: patch_cloud_router_connection + summary: Update a Cloud Router Connection + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-CC-1234 + requestBody: + description: Update an existing Cloud Router Connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + example: New Super Cool Cloud Router Connection + description: The description of this Cloud Router Connection. + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + get: + operationId: cloud_routers_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + delete: + operationId: cloud_routers_connection_delete + summary: Delete a cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/connections/{circuit_id}: + get: + operationId: cloud_router_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: + operationId: cloud_routers_connections_connection_delete + summary: Delete a cloud router connection. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: Target cloud connection's UUID. + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + operationId: cloud_routers_connections_third_party_create + summary: >- + Creates a new Marketplace Cloud Router Connection request and returns + it. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new marketplace cloud router connection + request. + content: + application/json: + schema: + required: + - account_uuid + - service_uuid + - speed + - pop + - prefixes + type: object + properties: + prefixes: + type: array + description: The prefixes to be advertised to the marketplace service. + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + minimum: 0 + maximum: 5 + med: + type: integer + description: The MED to be advertised for the prefix. + minimum: 0 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + pop: + type: string + description: The desired location for the new Third Party Connection. + example: DAL1 + description: + type: string + description: The description of the Marketplace Cloud Router connection. + example: My Marketplace Cloud Router connection + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + default: 1 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + deprecated: true + operationId: cloud_routers_connections_aws_create + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + public_ip: + type: string + description: >- + The publically allocated IP for this connection, if + present. + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + aws_region: + type: string + description: The region this connection to AWS is in. + example: us-west-1 + aws_hosted_type: + type: string + description: The type of connection. + example: hosted-connection + aws_connection_id: + type: string + description: The AWS connection ID. + example: dxlag-fgk8etlc + aws_account_id: + type: string + description: The customer AWS Account ID. + example: 123456789120 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + operationId: cloud_routers_connections_aws_create_2_1 + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + deprecated: true + operationId: cloud_routers_connections_azure_create + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan + example: 6 + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + example: 7 + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + operationId: cloud_routers_connections_azure_create_2_1 + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + deprecated: true + operationId: cloud_routers_connections_google_create + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + google_pairing_key: + type: string + description: The customer provided google pairing key. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_cust: + type: integer + description: The customer provided Vlan for this connection. + example: 6 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + operationId: cloud_routers_connections_google_create_2_1 + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + deprecated: true + operationId: cloud_routers_connections_ibm_create + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + account_id: + type: string + description: The customer IBM account ID + example: 57a7d05f36894e3cb9b46a43556d903e + gateway_id: + type: string + format: uuid + description: The newly created IBM gateway ID + example: 61c3a9d5-41e8-41f8-bbb4-7eae94dbb006 + port_id: + type: string + format: uuid + example: 6cf0c5e4-de27-4a5e-9cbc-47e8b0701949 + description: The cloud on-ramp port ID + name: + type: string + description: The name of this IBM gateway + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + example: 64999 + bgp_cer_cidr: + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + example: 10.254.30.77/30 + vlan_id_cust: + type: integer + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + operationId: cloud_routers_connections_ibm_create_2_1 + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + operationId: cloud_routers_connections_ipsec_create + summary: Creates a new IPSec connection on a cloud router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new IPSec connection. + content: + application/json: + schema: + required: + - description + - account_uuid + - zone + - pop + - speed + - ike_version + - phase1_authentication_method + - phase1_group + - phase1_encryption_algo + - phase1_authentication_algo + - phase1_lifetime + - phase2_pfs_group + - phase2_encryption_algo + - phase2_lifetime + - gateway_address + - shared_key + type: object + properties: + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - des-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - md5 + - sha-256 + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + minimum: 180 + maximum: 86400 + phase2_pfs_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase2_encryption_algo: + type: string + example: 3des-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-128-gcm + - aes-192-cbc + - aes-192-gcm + - aes-256-cbc + - aes-256-gcm + - des-cbc + phase2_authentication_algo: + type: string + example: hmac-sha-256-128 + enum: + - hmac-md5-96 + - hmac-sha-256-128 + - hmac-sha1-96 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + minimum: 180 + maximum: 86400 + gateway_address: + description: The customer-side (remote) gateway address + type: string + example: 127.0.0.1 + shared_key: + description: The pre-shared-key to use for authentication. + type: string + example: superCoolKey + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + description: The circuit ID of the VC for this connection. + circuit_id: + type: string + description: The circuit ID of the IPSec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The location for the new connection. + example: DAL1 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + deprecated: true + operationId: cloud_routers_connections_oracle_create + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + settings: + type: object + properties: + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: >- + OCID for the Oracle VC to use in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: >- + The OCID of the Oracle cross-connect or cross-connect + group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + port_compartment_ocid: + type: string + description: >- + The OCID of the Oracle compartment containing the + virtual circuit. + example: >- + ocid1.compartment.oc1..aaaaaaaa7izqu3guurglgo3xhpr4otzye4a6bydaxvuigjt3nf2yxbw4mzaa + vlan_id_cust: + type: integer + example: 7 + vlan_id_pf: + type: integer + example: 3000 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + description: >- + OCID for the Oracle VC used in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + bandwidth: + type: string + description: The provisioned data rate of the connection. + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + description: >- + The state of the BGP session associated with the + Oracle VC. + enum: + - DOWN + - UP + compartment_id: + type: string + description: >- + The OCID of the compartment containing the Oracle + VC. + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The OCID of the cross-connect or + cross-connect group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + description: >- + The BGP IPv4 address for the router on the + PacketFabric end of the BGP session. + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + description: >- + The BGP IPv6 address for the router on the + PacketFabric end of the BGP session. + type: string + oracle_bgp_peering_ip: + type: string + description: >- + The IPv4 address for Oracle's end of the BGP + session. + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + description: >- + The IPv6 address for Oracle's end of the BGP + session. + type: string + vlan: + type: integer + format: int64 + description: >- + The number of the VLAN that is assigned to + this Oracle VC. + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric end + of the BGP session. + example: 5555 + gateway_id: + type: string + description: >- + The OCID of the customer's dynamic routing gateway + (DRG) that this Oracle VC uses. + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + description: The Oracle VC's current state. + enum: + - PROVISIONING + - PENDING_PROVIDER + - VERIFYING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle BGP ASN + example: 31898 + provider_state: + type: string + description: >- + PacketFabric's state in relation to this Oracle + VC. ACTIVE means PacketFabric has provisioned the + VC. INACTIVE means PacketFabric has not yet + provisioned the VC, or has de-provisioned it. + enum: + - ACTIVE + - INACTIVE + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + operationId: cloud_routers_connections_oracle_create_2_1 + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + operationId: cloud_routers_connections_packetfabric_create + summary: Attaches a customer-owned port to a Cloud Router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new customer-owned port cloud router + connection. + content: + application/json: + schema: + required: + - account_uuid + - port_circuit_id + - description + - speed + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + description: + type: string + description: The description of this connection. + example: Test description + untagged: + type: boolean + description: >- + Whether or not the customer port is untagged. Do not specify + a VLAN if this is to be an untagged connection. + example: true + vlan: + type: integer + description: The desired vlan to use on the customer-owned port. + example: 6 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + operationId: cloud_routers_connection_status + summary: Get cloud connection instance status + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Connection Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudGoogle + state: + type: string + description: The state of the connection + example: Active + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - InstanceValidated + - VCCreated + - CloudProviderProvisioningPending + - CloudProviderProvisioningComplete + - SOFCreated + - BillingAdded + - CloudConnectionCreated + - Layer3InterfaceProvisioning + - RoutingInstanceProvisioning + - Active + - BillingRemoved + - CloudProviderProvisioningRemoved + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + VCCreated: EVPL virtual circuit created. Billing is being set up. + CloudProviderProvisioningPending: Notifying Azure of ExpressRoute configuration. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + CloudConnectionCreated: Cloud Router Connection has been created + Layer3InterfaceProvisioning: >- + Layer3 interface for Cloud Router Connection is being + provisioned + RoutingInstanceProvisioning: >- + Routing instance for Cloud Router Connection is being + provisioned + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: + operationId: cloud_routers_connection_upgrade_options + summary: Get cloud connection upgrade options + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + description: Flag to indicate if connection is upgradable + speed: + type: array + description: List of available speed for connection + items: + type: string + description: Connection speed + example: 1Gbps + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_connection_bgp_routes + summary: Get routes for the BGP session of a specific connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + responses: + '200': + description: List of bgp routes for the specified connection. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + tags: + - Cloud Router Connections + summary: Get CR connection status + operationId: cr_connection_status_2_1 + parameters: + - name: circuit_id + in: path + required: true + description: Target's CR Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + - name: connection_circuit_id + in: path + required: true + description: Target's CR Connection Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a CR connection provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_bgp_routes + summary: Get routes for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + - imported + responses: + '200': + description: List of bgp routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: + operationId: get_cloud_router_all_routes + summary: Get all routes for this cloud router + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + responses: + '200': + description: List of routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + origin: + type: string + description: >- + The origin of the route, usually this Cloud Router or + the Circuit ID of the Cloud Router Import. + example: PF-L3-IMP-12768 + as_path: + type: string + description: The route's AS path. + example: 64514 I + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + med: + type: integer + description: The route's MED. + example: -1 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + communities: + type: array + items: + type: string + description: A community of this route + example: '2914:410' + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: + operationId: get_cloud_router_bgp_logs + summary: Get logs for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: false + in: query + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: time_from + description: Get BGP logs starting from this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - required: true + in: query + name: time_to + description: Get BGP logs up until this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + responses: + '200': + description: List of bgp logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + message: + type: string + example: >- + %DAEMON-4-RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer + 127.0.0.1 changed state from OpenConfirm to Established + bgp_peer_ip: + type: string + example: 172.24.0.41 + severity: + type: integer + example: 4 + description: Severity of the bgp log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the bgp log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: + operationId: cloud_router_third_party_get_list + summary: Returns a list of Cloud Router Imports applied on a Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + post: + operationId: cloud_router_third_party_post + summary: Apply a new Cloud Router Import to this Cloud Router Connection. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for importing a third-party service. + content: + application/json: + schema: + required: + - service_uuid + - return_filters + type: object + properties: + service_uuid: + type: string + format: uuid + description: >- + The Service UUID of the third-party service to associate + with the Cloud Router. + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A single Cloud Router Import. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated with + the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + get: + operationId: cloud_router_third_party_get_import + summary: Returns a single Cloud Router Import associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + delete: + operationId: cloud_router_third_party_delete + summary: Remove a Cloud Router Import from this Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '202': + description: Cloud Router Import is being removed. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Router Import is being removed. + patch: + operationId: cloud_router_third_party_patch + summary: Updates a Cloud Router Import associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + requestBody: + description: Request payload for updating an import. + content: + application/json: + schema: + type: object + required: + - return_filters + properties: + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + operationId: cloud_router_third_party_delete_multiple + summary: Remove multiple Cloud Router Imports by Circuit Id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for deleting multiple Cloud Router Imports. + content: + application/json: + schema: + type: object + properties: + import_circuit_ids: + type: array + items: + type: string + example: PF-L3-IMP-123456 + tags: + - Cloud Router Third Party + responses: + '202': + description: The Cloud Router Imports are being deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Imports are being deleted. + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: + operationId: cloud_router_route_set_get_list + summary: Returns a list of Route Sets on this Cloud Router. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of Route Sets. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: + operationId: cloud_router_get_route_set + summary: Returns a single Route Set associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + patch: + operationId: cloud_router_patch_route_set + summary: Updates a Route Set associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + requestBody: + description: Request payload for updating a route set. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: + operationId: cloud_router_get_route_set_connections + summary: Returns the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of connections this Route Set is defined from. + content: + application/json: + schema: + type: array + items: + type: object + properties: + route_set_circuit_id: + type: string + description: Circuit ID of the Route Set. + example: PF-L3-RS-123456 + connection_circuit_id: + type: string + description: Circuit ID of the Cloud Router Connection. + state: + type: string + description: The state of the Connection Link. + example: active + enum: + - active + - provisioning + - deleting + service_uuid: + type: string + description: The uuid of the route_set service + example: ee77f0b3-4dfc-4772-baa7-1d3683589a67 + put: + operationId: cloud_router_put_route_set_connections + summary: Updates the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + requestBody: + description: >- + Request payload for updating a list of connections this Route Set is + defined from. + content: + application/json: + schema: + type: object + properties: + connection_circuit_ids: + type: array + items: + type: string + example: PF-CC-123456 + responses: + '202': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: Route Set Connection Links are being updated. + /v2/services/cloud/hosted/aws: + post: + operationId: aws_hosted_connection_post + summary: Request a new hosted AWS connection. + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - aws_account_id + - account_uuid + - description + - pop + - port + - vlan + - speed + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to AWS. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: >- + The prefix of the customer router. Required for + public VIFs. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The prefix of the remote router. Required for public + VIFs. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required when creating transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: 102 + vlan_id_cust: 4 + svlan_id_cust: null + aws_region: us-east-2 + aws_hosted_type: hosted-connection + aws_connection_id: dxlag-ffll8f52 + aws_account_id: 2345678910 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + credentials_uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/aws: + post: + operationId: aws_dedicated_connection_post + summary: Request a new dedicated AWS connection. + tags: + - Cloud Services - AWS + requestBody: + description: Request payload for creating new AWS Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - aws_region + - account_uuid + - description + - pop + - subscription_term + - service_class + - autoneg + - speed + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 1Gbps + - 10Gbps + should_create_lag: + description: Create the dedicated connection as a LAG interface. + example: true + type: boolean + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: a268133d-fabd-4037-a40b-deb9e223542e + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated connection for Foo Corp. + state: requested + settings: + aws_region: us-east-1 + zone_dest: D + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: + operationId: azure_hosted_service_key_validate_get + summary: Validate an Azure service key. + tags: + - Cloud Services - Azure + parameters: + - required: true + in: path + name: azure_service_key + schema: + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + description: The Service Key provided by Microsoft Azure. + responses: + '200': + description: Azure service key validation response. + content: + application/json: + schema: + type: object + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + is_valid: + type: boolean + description: Whether or not the provided Azure service key is valid. + peering_location: + type: string + description: ExpressRoute peering location + example: Washington DC + speed: + type: string + description: The speed of the ExpressRoute circuit + example: 10Gbps + primary_availability: + type: boolean + description: primary availability of the azure key + example: true + secondary_availability: + type: boolean + description: secondary availability of the azure key + example: false + /v2/services/cloud/hosted/azure: + post: + operationId: azure_hosted_connection_post + summary: Request a new AzureExpressRoute hosted connection. + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - port + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp. + port: + type: string + description: The port to connect to Azure. + example: PF-AP-LAX1-1002 + vlan_private: + type: integer + format: int64 + example: 6 + description: >- + Private peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + vlan_microsoft: + type: integer + format: int64 + example: 7 + description: >- + Microsoft Peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + speed: + deprecated: true + description: >- + The desired speed of the new connection. Must be the same + speed as specified in Azure for your service key. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new Azure ExpressRoute Hosted Connection. + responses: + '201': + description: Successfully created a new AzureExpressRoute hosted connection + content: + application/json: + schema: + type: object + example: + uuid: ba66fac8-2924-428d-aa9d-90f14fa2364f + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-NYC-1744356-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + vc_id_microsoft: 39092 + vc_id_private: 39091 + settings: + vlan_id_private: 6 + vlan_id_microsoft: 7 + svlan_id_customer: null + azure_service_key: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + azure_service_tag: 2 + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan. + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/azure: + post: + operationId: azure_dedicated_connection_post + summary: Request a new AzureExpressRoute dedicated connection. + tags: + - Cloud Services - Azure + requestBody: + description: >- + Request payload for creating new dedicated Azure ExpressRoute + Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + - encapsulation + - port_category + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. + pop: + type: string + description: The desired location for the new Azure dedicated connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + encapsulation: + type: string + enum: + - dot1q + - qinq + port_category: + type: string + enum: + - primary + - secondary + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: 94992688-36ad-4a72-a454-a7bc9085e385 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: dedicated + speed: 10Gbps + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: demo123-azure + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + azure_port_category: primary + settings: + zone_dest: A + autoneg: null + encapsulation: dot1q + properties: + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port. + enum: + - dedicated + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure connection for Foo Corp. + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + azure_port_category: + type: string + description: Category of the Azure port. + enum: + - primary + - secondary + settings: + type: object + properties: + zone_dest: + type: string + example: A + description: destination zone for this connection + encapsulation: + type: string + enum: + - dot1q + - qinq + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/google: + post: + operationId: google_hosted_connection_post + summary: Request a new hosted Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - google_vlan_attachment_name + - description + - port + - vlan + - pop + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + port: + type: string + description: The port to connect to Google. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 384a5fa5-3b03-44df-84d1-48f94101efd1 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-WDC-CHI-1744352-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_cust: 215 + svlan_id_cust: null + google_pairing_key: a2115890-ed02-4795-a6dd-c485bec3529c + google_vlan_attachment_name: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-WDC1-1726464 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_cust: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/google: + post: + operationId: google_dedicated_connection_post + summary: Request a new dedicated Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + description: Request payload for creating new Google Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Google Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: d60f32c0-0ce0-4b07-88a5-b009508851a0 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated-connection-Foo_Corp + state: requested + settings: + zone_dest: A + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/ibm: + post: + operationId: ibm_hosted_connection_post + summary: Request a new hosted IBM connection. + tags: + - Cloud Services - IBM + requestBody: + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - port + - speed + properties: + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP session + with IBM. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session with + the customer. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to IBM. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + type: string + description: The desired zone of the new connection. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new IBM Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: ibm + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: null + vlan_id_cust: 4 + svlan_id_cust: null + account_id: 8128867a1ca242d65a17993232128022b + gateway_id: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: Hosted-connection-Foo_Corp + bgp_asn: 64999 + bgp_cer_cidr: 10.254.30.78/30 + bgp_ibm_cidr: 10.254.30.77/30 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + account_id: + type: string + description: The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP + session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session + with the customer. + example: 10.254.30.77/30 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle: + post: + operationId: oracle_hosted_connection_post + summary: Request a new hosted Oracle connection. + tags: + - Cloud Services - Oracle + requestBody: + description: Request payload for creating new Oracle Hosted Connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + - port + - vlan + properties: + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + port: + type: string + description: The port to connect to Oracle. + example: PF-AP-LAX1-1002 + zone: + type: string + description: The desired zone of the new connection. + example: A + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-CC-WDC-SFO-1744662-PF + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + oracle_region: + type: string + description: The region that the new connection will connect to. + example: us-sanjose-1 + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: Customer Port Circuit ID + example: PF-AP-WDC1-1726464 + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + format: uuid + description: The Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.us-sanjose-1.aaaaaaaa3uylbvopbkhgqiao5vm5ulk7oyxr3knt4rvqfqm5rt5ni5flhuwq + bandwidth: + type: string + description: The speed of the new connection. + example: 1Gbps + bgp_management: + type: string + description: The BGP Management Type. + example: CUSTOMER_MANAGED + bgp_session_state: + type: string + description: The BGP session state. + example: DOWN + compartment_id: + type: string + format: uuid + description: The compartment OCID. + example: >- + ocid1.compartment.oc1..aaaaaaaairiuj3wlr2rozdvr4vptx2qtrricp5o5hibyuk2rujj3drncxexq + cross_connect_mappings: + type: array + description: Cross connect mappings. + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + example: dd02c7c2232759874e1c20558 + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The Cross Connect or Cross Connect group + OCID. + format: uuid + example: >- + ocid1.crossconnectgroup.oc1.us-sanjose-1.aaaaaaaadsgug2hwvbkimite6hbupnt3k75klhqvq4dw5re7zrrwulslkhea + customer_bgp_peering_ip: + type: string + example: 169.254.247.41/30 + description: The customer BGP peering IPv4. + customer_bgp_peering_ipv6: + type: string + description: The customer BGP peering IPv6. + example: None + oracle_bgp_peering_ip: + type: string + description: The Oracle BGP peering IPv4. + example: 169.254.247.42/30 + oracle_bgp_peering_ipv6: + type: string + description: The Oracle BGP peering IPv6. + example: None + vlan: + type: integer + format: int64 + example: 103 + description: Vlan range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + customer_asn: + type: integer + format: int64 + description: The customer ASN for use in the BGP session. + example: 5555 + defined_tags: + type: object + freeform_tags: + type: object + gateway_id: + type: string + format: uuid + description: The gateway OCID. + example: >- + ocid1.drg.oc1.us-sanjose-1.aaaaaaaa5tvcbacgf366sjf5cm5m6vg2yuk3ibzbanzlmwrupjq6xaxl75dq + lifecycle_state: + type: string + description: The lifecucle state. + example: PROVISIONING + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle ASN for use in the BGP session. + example: 31898 + provider_service_id: + type: string + format: uuid + description: The provider Service OCID. + example: >- + ocid1.providerservice.oc1.us-sanjose-1.aaaaaaaarexwwfagkbd432tes33oz6cbgoeeqku7ze544mpeiykv2kr4nvaa + provider_state: + type: string + description: The provider state. + example: ACTIVE + reference_comment: + type: string + description: The reference comment. + example: ba16fd1d-6e72-45a0-85f0-4d5fa07cac29 (activated) + service_type: + type: string + description: The service type. + example: LAYER2 + type: + type: string + description: The conneciton type. + example: PRIVATE + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: + operationId: cloud_oracle_vc_ocid_status + summary: Get current status of Oracle side VC + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: vc_ocid + schema: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + description: Oracle side VC identifier + - name: region + required: false + description: Oracle region for this VC OCID + in: query + schema: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + responses: + '200': + description: Current status of Oracle VC + content: + application/json: + schema: + type: object + properties: + vc_ocid: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + bandwidth: + type: string + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + enum: + - UP + - DOWN + compartment_id: + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + cross_connect_or_cross_connect_group_id: + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + type: string + oracle_bgp_peering_ip: + type: string + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + type: string + vlan: + type: integer + format: int64 + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + example: 5555 + gateway_id: + type: string + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + enum: + - PENDING_PROVIDER + - VERIFYING + - PROVISIONING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + example: 31898 + provider_state: + type: string + enum: + - ACTIVE + - INACTIVE + public_prefixes: + type: string + reference_comment: + type: string + example: PF-CC-DAL-NYC-2014 (activated) + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: + operationId: cloud_oracle_sync + summary: >- + Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted + connection. + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-DAL-NYC-2009-PF + description: The unique PF circuit ID for this connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/{cloud_circuit_id}: + delete: + operationId: cloud_connection_delete + summary: Delete a cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + responses: + '200': + description: Cloud connection successfully deleted + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + operationId: hosted_cloud_connection_update + summary: Update a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be + 16550, between 64512 and 65534, or between + 4200000000 and 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a hosted cloud connection. + responses: + '200': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_hosted + summary: Upgrade a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + required: + - speed + properties: + speed: + description: > + The new requested speed for this connection. Choices are + provider specific. + + + - **Azure**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, + `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, - **AWS**: `50Mbps`, `100Mbps`, + `200Mbps`, `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, + `2Gbps`, `5Gbps`, `10Gbps` + + - **Google Cloud**: `50Mbps`, `100Mbps`, `200Mbps`, + `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, `20Gbps`, `50Gbps` + + - **IBM**: `50Mbps`, `100Mbps`, `200Mbps`, `500Mbps`, + `1Gbps`, `2Gbps`, `5Gbps` + type: string + example: 100Mbps + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + operationId: dedicated_cloud_connection_update + summary: Update a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a dedicated cloud connection. + responses: + '200': + description: The cloud dedicated connection was updated successfully + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_dedicated + summary: Upgrade a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + description: The billing term, in months, for this connection. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: The service class for the given port. + example: longhaul + enum: + - longhaul + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud dedicated services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Dedicated Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + deprecated: true + operationId: hosted_cloud_patch_ibm + summary: Update an IBM hosted cloud connection + tags: + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for upgrading an IBM hosted cloud connection. + responses: + '201': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/connections/{cloud_circuit_id}: + get: + operationId: get_connection + summary: Get cloud connection info + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: + operationId: get_connection_status + summary: Get cloud connection instance status (Legacy) + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudPacket + - CloudGoogle + - CloudIBM + - CloudSalesforce + - CloudWebex + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - DestIFDCreated + - VCCreated + - BillingAdded + - Active + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + PFIFDSelected: PacketFabric port has been selected. + DestIFDCreated: Destination port has been created. + VCDeleteRequested: Virtual Circuit delete request created. + VCCreated: EVPL virtual circuit created. Billing is being set up. + VCsCreated: Virtual circuits created. Billing is being set up. + VCRequestsSent: Virtual circuits requested. + VCRequestsProvisioned: Virtual circuits provisioned. Billing is being set up. + AWSVIFAllocated: >- + Successfully provisioned AWS virtual interface. Billing + is being set up. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + AWSVIFRemoved: >- + Successfully removed AWS Virtual Interface. Deleting + PacketFabric logical interfaces. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + IFLsDestroyed: >- + Virtual circuit logical interfaces deleted. Virtual + circuit will be deleted. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + VCsDestroyed: >- + Virtual circuits deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: + operationId: get_connection_upgrade_options + summary: Get cloud connection instance upgrade options + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + required: + - upgrade_available + properties: + upgrade_available: + type: boolean + service_class_upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: array + items: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + /v2/services/cloud/connections/hosted: + get: + operationId: get_connections_hosted_list + summary: >- + Get list of current customer's hosted cloud connections. Output is only + paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: List of customer's hosted cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + is_cloud_router_connection: + type: boolean + description: >- + Whether or not this is a Cloud Router hosted + connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud + provider side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/hosted/export.csv: + get: + operationId: get_connections_hosted_list_csv + summary: >- + Get CSV with the list of current customer's hosted cloud connections. + Output is only paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: CSV with the list of customer's hosted cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud/connections/dedicated: + get: + operationId: get_connections_dedicated_list + summary: Get list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: List of customer's dedicated cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple + LAG member ports + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/dedicated/export.csv: + get: + operationId: get_connections_dedicated_list_csv + summary: Get CSV with the list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: CSV with the list of customer's dedicated cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2.1/services/cloud/connections/{ident}/status: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get Cloud status + operationId: cloud_status_2_1 + parameters: + - name: ident + in: path + required: true + description: Cloud UUID + schema: + type: string + example: 2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6 + responses: + '200': + description: Cloud provisioning status + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + example: PF-AE-LAB1-1234 + description: Cloud Circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + description: Object's state + deleted: + type: boolean + description: Is object deleted + current: + type: object + description: Current state information + properties: + state: + type: string + description: State name + description: + type: string + description: State description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: cloud/workflow/dedicated_aws_provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: Error message + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: + operationId: get_router_config + summary: Get router configuration + tags: + - Cloud Services - AWS + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: router_type + description: Router Type Identifier. + schema: + type: string + enum: + - CiscoSystemsInc-2900SeriesRouters-IOS124 + - CiscoSystemsInc-3700SeriesRouters-IOS124 + - CiscoSystemsInc-7200SeriesRouters-IOS124 + - CiscoSystemsInc-Nexus7000SeriesSwitches-NXOS51 + - CiscoSystemsInc-Nexus9KSeriesSwitches-NXOS93 + - JuniperNetworksInc-MMXSeriesRouters-JunOS95 + - JuniperNetworksInc-SRXSeriesRouters-JunOS95 + - JuniperNetworksInc-TSeriesRouters-JunOS95 + - PaloAltoNetworks-PA3000and5000series-PANOS803 + example: CiscoSystemsInc-2900SeriesRouters-IOS124 + responses: + '200': + description: Cloud Router Configuration + content: + application/json: + schema: + type: object + properties: + router_config: + type: string + description: The Router Configuration as a string. + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: + operationId: get_aws_regions + summary: Get available AWS regions + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: AWS regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + region: + type: string + description: The AWS region + example: us-east-1 + region_description: + type: string + description: The AWS region description + example: US East (N. Virginia) + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_aws_resources + summary: Get AWS resources in the given region + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east-1 + responses: + '200': + description: AWS resources in the given region + content: + application/json: + schema: + type: object + properties: + networks: + type: array + items: + type: object + properties: + vpc_id: + type: string + description: The ID of the VPC + example: vpc-055e127037787824 + vpc_cidr: + type: string + description: The CIDR block of the VPC + example: 192.168.1.0/24 + subnets: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + cidr: + type: string + description: The CIDR block of the subnet + example: 172.31.0.0/20 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + gateways: + type: array + items: + type: object + properties: + type: + type: string + description: >- + The type of gateway (e.g. "directconnect", + "private", or "transit") + example: private + name: + type: string + description: The name of the gateway + example: Test Gateway + id: + type: string + description: The ID of the gateway + example: vgw-0617396786c32764c7 + asn: + type: integer + description: The Autonomous System Number (ASN) of the gateway + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + subnets: + type: array + description: >- + The subnets associated with the transit gateway (if + applicable) + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + directconnect_gw_id: + type: string + description: >- + The ID of the direct connection gateway that this + gateway is associated with. + example: b2c5c07e-1518-437f-9b90-10726bd391k2 + attachment_type: + type: string + description: The attachment type of this DirectConnect Gateway. + enum: + - private + - transit + example: private + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: + operationId: get_google_regions + summary: Get available Google regions + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: Google regions + content: + application/json: + schema: + type: array + items: + type: string + description: The name of the Google region + example: us-west1 + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_google_resources + summary: Get Google resources in the given region + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east1 + - required: false + in: query + name: project_id + description: >- + Name of the chosen project_id. Defaults to the project_id of the + credentials. + schema: + type: string + example: example-project + responses: + '200': + description: Google resources in the given region + content: + application/json: + schema: + type: object + properties: + google_vlan_attachments: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the VLAN Attachment + example: example-vlan-name + google_pairing_key: + type: string + description: The pairing key of the VLAN Attachment + example: .... + google_cloud_router: + type: string + description: >- + The name of the Google Clour Router this Attachment + is attached to. + example: example-router + google_cloud_routers: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Cloud Router + example: example-router + asn: + type: integer + description: >- + The Autonomous System Number (ASN) of the Cloud + Router + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + network: + type: string + description: The name of the network the Cloud Router is on + example: default + networks: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Network + example: example-network + cidr: + type: string + description: The CIDR of this network + example: 10.138.0.0/20 + vpc: + type: string + description: The name of the associated VPC + example: default + /v2/services/cloud/credentials: + get: + operationId: cloud_provider_credentials_get + summary: Get all cloud provider credentials + tags: + - Cloud Provider Credentials + responses: + '200': + description: List of Cloud Provider Credentials + content: + application/json: + schema: + type: array + items: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is + unused and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + post: + operationId: cloud_provider_credential_post + summary: Create a new Cloud Provider Credential. + tags: + - Cloud Provider Credentials + requestBody: + content: + application/json: + schema: + type: object + required: + - cloud_provider + - cloud_credentials + properties: + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '201': + description: Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}: + delete: + operationId: cloud_provider_credential_delete + summary: Delete a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: Cloud Provider Credential deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Provider Credential deleted. + patch: + operationId: cloud_provider_credential_update + summary: Update a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '200': + description: Updated Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: + operationId: cloud_provider_credential_connections_get + summary: Get all connections tied to this cloud provider credential + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: List of Connections tied to this Cloud Provider Credential + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + description: The circuit_id of the connection + type: string + example: PF-L3-CON-1234 + description: + description: The description of the connection + type: string + example: Test Connection + _links: + type: object + properties: + connection: + type: string + description: Link to the Connection + example: >- + https://api.packetfabric.com/v2/cloud-routers/connections/PF-L3-CON-1234 + /v2/signup/email-validation: + get: + operationId: signup_email_validation + security: [] + summary: Check email address + description: Check if an email address is valid for signup + tags: + - Signup + parameters: + - required: true + in: query + name: email + description: The email address to be checked + schema: + type: string + example: email@email.com + responses: + '200': + description: A valid email address was checked + '400': + description: The email address was either missing or invalid + /v2/aggregated-capacity: + post: + deprecated: true + operationId: create_aggregate_capacity + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + deprecated: true + operationId: get_aggregate_capacity_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/aggregated-capacity/{aggregate_capacity_id}: + get: + deprecated: true + operationId: get_aggregate_capacity_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + deprecated: true + operationId: delete_aggregate_capacity + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/announcements: + get: + operationId: get_announcement_list + summary: Get all active announcements for the current customer + tags: + - Announcements + responses: + '200': + description: An object containing a list of active announcements + content: + application/json: + schema: + type: object + properties: + announcements: + type: array + items: + type: object + properties: + announcement_uuid: + type: string + format: uuid + description: UUID of the announcement + title: + type: string + description: Title of the announcement + example: Announcement title + description: + type: string + description: Description of the announcement + example: Announcement description + start_date: + type: string + format: date-time + description: Date and time when the announcement becomes active + end_date: + type: string + format: date-time + description: >- + Date and time when the announcement stops being + active + /v2/services/ipam/contacts: + get: + operationId: ipam_contact_get_list + summary: Get the IPAM contacts associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with + a country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + post: + operationId: ipam_contact_post + summary: Add the contact for the current customer + tags: + - IPAM + requestBody: + description: Request payload for IPAM contact creation + content: + application/json: + schema: + type: object + required: + - name + - email + - phone + - address + - country_code + properties: + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: The phone number of the IPAM contact + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + responses: + '201': + description: Created IPAM contact details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + /v2/services/ipam/contacts/{ipam_contact_uuid}: + get: + operationId: ipam_contact_get + summary: Get an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: IPAM contact + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + delete: + operationId: ipam_contact_delete + summary: Delete an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Contact deleted successfully + /v2/services/ipam/prefixes: + get: + operationId: ipam_prefix_get_list + summary: Get the IPAM prefixes associated with the current customer + tags: + - IPAM + parameters: + - name: market + in: query + required: false + description: The market code to filter by. + schema: + type: string + example: NYC + responses: + '200': + description: List of IPAM prefixes + content: + application/json: + schema: + type: array + items: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: >- + Whether the current prefix in use will + renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + post: + operationId: ipam_prefix_post + summary: Allocate a new IPAM prefix + tags: + - IPAM + requestBody: + description: Request payload for IPAM prefix creation + content: + application/json: + schema: + type: object + required: + - length + properties: + length: + type: integer + description: >- + The length of the IPAM prefix. 25-32 for ipv4 and 48-64 for + ipv6. + market: + type: string + description: The market of the IPAM prefix. Only for ipv4. + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address_family of the IPAM prefix + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + address: + type: string + description: >- + The address of the IPAM prefix, required for ARIN prefixes + if org_id was not provided + city: + type: string + description: >- + The city of the IPAM prefix, required for ARIN prefixes if + org_id was not provided + postal_code: + type: string + description: >- + The postal code of the IPAM prefix, required for ARIN + prefixes if org_id was not provided + org_id: + type: string + description: The org_id of the IPAM prefix + ipj_details: + type: object + properties: + planned_prefix: + type: object + required: + - usage_30d + - usage_3m + - usage_6m + - usage_1y + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + required: + - prefix + - ips_in_use + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + responses: + '201': + description: Created IPAM prefix details + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + /v2/services/ipam/prefixes/{prefix_circuit_id}: + get: + operationId: ipam_prefix_get + summary: Get an IPAM Prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: IPAM prefix + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + delete: + operationId: ipam_prefix_delete + summary: Delete an IPAM prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Prefix deleted successfully + /v2/services/ipam/asns: + get: + operationId: ipam_asn_get_list + summary: Get the IPAM ASNs associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM ASNs + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + post: + operationId: ipam_asn_post + summary: Allocate a new IPAM ASN + tags: + - IPAM + requestBody: + description: Request payload for IPAM ASN creation + content: + application/json: + schema: + type: object + properties: + asn_byte_type: + type: integer + enum: + - 2 + description: >- + Whether to allocate a 2 or 4 byte ASN. Only 2 byte ASNs are + supported for now. + default: 2 + responses: + '201': + description: Created IPAM ASN details + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + /v2/services/ipam/asns/{asn}: + get: + operationId: ipam_asn_get + summary: Get an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: IPAM ASN + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + delete: + operationId: ipam_asn_delete + summary: Delete an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: ASN deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: ASN deleted + /v2/services/high-performance-internet: + get: + operationId: hpi_get_list + summary: Get HPIs associated with the current customer + tags: + - High Performance Internet + responses: + '200': + description: List of HPIs + content: + application/json: + schema: + type: array + items: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + post: + operationId: hpi_post + summary: Create a new HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI creation + content: + application/json: + schema: + type: object + required: + - port_circuit_id + - speed + - vlan + - description + - account_uuid + - routing_configuration + properties: + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + responses: + '202': + description: Created HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + /v2/services/high-performance-internet/{hpi_circuit_id}: + get: + operationId: hpi_get + summary: Get a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: HPI + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + put: + operationId: hpi_put + summary: Update a HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI update + content: + application/json: + schema: + type: object + required: + - description + - routing_configuration + properties: + description: + type: string + description: The description of the HPI + example: HPI for customer A + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '202': + description: Updated HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + delete: + operationId: hpi_delete + summary: Delete a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: HPI deleted successfully + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: + operationId: hpi_get_bgp_list + summary: Get the bgp routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of BGP routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_state: + type: string + description: The state of the BGP session + example: established + address_family: + type: string + description: The address family of the BGP session + example: v4 + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: + operationId: hpi_get_static_list + summary: Get the static routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of static routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: The remote_address of the static routing configuration + address_family: + type: string + description: The address family of the static routing configuration + example: v4 + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the static routing configuration + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: + operationId: hpi_get_status + summary: Get HPI status + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Status of an HPI provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-L3-TRAN-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + components: + securitySchemes: + BearerAuth: + type: http + scheme: bearer +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/rated-fixed-spec.yaml b/sdks/db/fixed-specs-cache/rated-fixed-spec.yaml new file mode 100644 index 000000000..e801969a0 --- /dev/null +++ b/sdks/db/fixed-specs-cache/rated-fixed-spec.yaml @@ -0,0 +1,8454 @@ +publishJson: + company: Rated + serviceName: false + sdkName: rated-{language}-sdk + clientName: Rated + metaDescription: >- + We are building reputation for machines, starting with Ethereum validators. + Our mission is to instill greater transparency and rich context in Web3 + infrastructure data. + apiStatusUrls: inherit + homepage: rated.network + developerDocumentation: api-docs.rated.network/rated-api/api-reference + categories: + - blockchain + - cryptocurrency + - web_3 +rawSpecString: | + openapi: 3.1.0 + info: + title: Rated API Beta + description: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators + and individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) + version: 0.0.1 + paths: + /v0/pricingPlans: + get: + tags: + - Pricing + summary: Get Pricing Plans + operationId: get_pricing_plans_v0_pricingPlans_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PricingPlan' + type: array + title: Response Get Pricing Plans V0 Pricingplans Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness + operationId: >- + get_effectiveness_v0_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorEffectiveness' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness Aggregation + operationId: get_effectiveness_aggregation_v0_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: To + name: to + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/FilterTypeEnum' + default: day + name: filterType + in: query + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__page__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedValidatorEffectivenessDataOrAggregation + '307': + description: Validators aggregation requested by valid PubKeys + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators: + get: + tags: + - Validators + - Validators + summary: Get Metadata List + operationId: get_metadata_list_v0_eth_validators_get + parameters: + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + maximum: 200 + exclusiveMinimum: 0 + title: Size + default: 100 + name: size + in: query + - required: false + schema: + items: + anyOf: + - type: string + - type: string + type: array + title: Operatorsids + name: operatorsIds + in: query + - required: false + schema: + type: string + title: Withdrawaladdress + name: withdrawalAddress + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolOrNodeOperatorIdType' + default: nodeOperator + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}: + get: + tags: + - Validators + summary: Get Metadata + operationId: get_metadata_v0_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorMetadata' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/apr: + get: + tags: + - Validators + summary: Get Apr + operationId: get_apr_v0_eth_validators__validator_index_or_pubkey__apr_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorApr' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators: + get: + tags: + - Operators + summary: Get Summaries + operationId: get_summaries_v0_eth_operators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolType' + default: all + name: poolType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/IdType' + default: depositAddress + name: idType + in: query + - required: false + schema: + type: integer + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 15 + name: size + in: query + - required: false + schema: + type: string + title: Parentid + name: parentId + in: query + - description: Use parentId + required: false + deprecated: true + schema: + type: string + title: Parententity + description: Use parentId + name: parentEntity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/percentiles: + get: + tags: + - Operators + summary: Get Percentiles + operationId: get_percentiles_v0_eth_operators_percentiles_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Percentile' + type: array + title: Response Get Percentiles V0 Eth Operators Percentiles Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}: + get: + tags: + - Operators + summary: Get Operator + operationId: get_operator_v0_eth_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Operator' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/effectiveness: + get: + tags: + - Operators + summary: Get Effectiveness + operationId: get_effectiveness_v0_eth_operators__operator_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectiveness' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/relayers: + get: + tags: + - Operators + summary: Get Relayer Stats + operationId: get_relayer_stats_v0_eth_operators__operator_id__relayers_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 30d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: >- + Response Get Relayer Stats V0 Eth Operators Operator Id + Relayers Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/apr: + get: + tags: + - Operators + summary: Get Operator Apr + operationId: get_operator_apr_v0_eth_operators__operator_id__apr_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorApr' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/summary: + get: + tags: + - Operators + summary: Get Operator Summary + operationId: get_operator_summary_v0_eth_operators__operator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/stakeMovement: + get: + tags: + - Operators + summary: Get Activations Exits Aggregate + operationId: >- + get_activations_exits_aggregate_v0_eth_operators__operator_id__stakeMovement_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ActivationsExitsAggregate' + type: array + title: >- + Response Get Activations Exits Aggregate V0 Eth Operators + Operator Id Stakemovement Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/stats: + get: + tags: + - Network + summary: Get Network Stats + operationId: get_network_stats_v0_eth_network_stats_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkStats' + type: array + title: Response Get Network Stats V0 Eth Network Stats Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/overview: + get: + tags: + - Network + summary: Get Network Overview + operationId: get_network_overview_v0_eth_network_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkOverview' + type: array + title: Response Get Network Overview V0 Eth Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity: + get: + tags: + - Network + summary: Get Network Churn Capacity + operationId: get_network_churn_capacity_v0_eth_network_capacity_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacity' + type: array + title: >- + Response Get Network Churn Capacity V0 Eth Network Capacity + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity/pool: + get: + tags: + - Network + summary: Get Network Churn Capacity Pool + operationId: get_network_churn_capacity_pool_v0_eth_network_capacity_pool_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacityPool' + type: array + title: >- + Response Get Network Churn Capacity Pool V0 Eth Network + Capacity Pool Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards: + get: + tags: + - Network + summary: Get Network Daily Rewards + operationId: get_network_daily_rewards_v0_eth_network_dailyRewards_get + parameters: + - description: The starting date (UTC) to return. For example, 2024-01-01. + required: false + schema: + title: From + description: The starting date (UTC) to return. For example, 2024-01-01. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedNetworkDailyConsensusExecutionRewards + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards/{date}: + get: + tags: + - Network + summary: Get Daily Rewards By Day + operationId: get_daily_rewards_by_day_v0_eth_network_dailyRewards__date__get + parameters: + - required: true + schema: + title: Date + name: date + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/operators/{operator_id}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Operator + operationId: >- + get_withdrawals_predicted_by_operator_v0_eth_withdrawals_predicted_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWithdrawalsPredicted' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Slot + operationId: >- + get_withdrawals_predicted_by_slot_v0_eth_withdrawals_predicted_slot__withdrawal_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Withdrawal Slot + name: withdrawal_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: >- + Response Get Withdrawals Predicted By Slot V0 Eth Withdrawals + Predicted Slot Withdrawal Slot Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/selfReports/validators: + post: + tags: + - Self Reports + summary: Report Validators + operationId: report_validators_v0_selfReports_validators_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReportIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReport' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/overview: + get: + tags: + - Slashings + summary: Get Slashing Overview + operationId: get_slashing_overview_v0_eth_slashings_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingOverview' + type: array + title: Response Get Slashing Overview V0 Eth Slashings Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/leaderboard: + get: + tags: + - Slashings + summary: Get Slashing Leaderboard + operationId: get_slashing_leaderboard_v0_eth_slashings_leaderboard_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SlashingRole' + default: slashed + name: slashingRole + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingLeaderboard' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/cohortAnalysis: + get: + tags: + - Slashings + summary: Get Slashing Cohort Analysis + operationId: get_slashing_cohort_analysis_v0_eth_slashings_cohortAnalysis_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingCohortAnalysis' + type: array + title: >- + Response Get Slashing Cohort Analysis V0 Eth Slashings + Cohortanalysis Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/timeseries: + get: + tags: + - Slashings + summary: Get Slashing Time Series + operationId: get_slashing_time_series_v0_eth_slashings_timeseries_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingTimeSeries' + type: array + title: >- + Response Get Slashing Time Series V0 Eth Slashings Timeseries + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings: + get: + tags: + - Slashings + summary: Get Slashing Penalties All + operationId: get_slashing_penalties_all_v0_eth_slashings_get + parameters: + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/{validator_index_or_pubkey}: + get: + tags: + - Slashings + summary: Get Slashing Penalties + operationId: get_slashing_penalties_v0_eth_slashings__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/geographical: + get: + tags: + - P2P (Beta) + summary: Get P2P Geographical Distribution + operationId: get_p2p_geographical_distribution_v0_eth_p2p_geographical_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/P2PGeographicalDistribution' + type: array + title: >- + Response Get P2P Geographical Distribution V0 Eth P2P + Geographical Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/hostingProvider: + get: + tags: + - P2P (Beta) + summary: Get P2P Hosting Provider Distribution + operationId: get_p2p_hosting_provider_distribution_v0_eth_p2p_hostingProvider_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedP2PHostingProviderDistribution' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks: + get: + tags: + - Blocks + summary: Get Blocks + operationId: get_blocks_v0_eth_blocks_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBlocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks/{consensus_slot}: + get: + tags: + - Blocks + summary: Get Blocks By Slot + operationId: get_blocks_by_slot_v0_eth_blocks__consensus_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Consensus Slot + name: consensus_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Blocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/effectiveness: + get: + tags: + - Polygon Validators + summary: Validator Checkpoint Effectiveness + operationId: >- + validator_checkpoint_effectiveness_v0_polygon_validators__validator_id__effectiveness_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - description: >- + The starting checkpoint or date (UTC) to return. For example, 41100 + or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + name: from + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}: + get: + tags: + - Polygon Validators + summary: Validator Metadata + operationId: validator_metadata_v0_polygon_validators__validator_id__get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators: + get: + tags: + - Polygon Validators + summary: Validator Summaries + operationId: validator_summaries_v0_polygon_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - description: The delegator address to filter by. + required: false + schema: + type: string + title: Delegatoraddress + description: The delegator address to filter by. + name: delegatorAddress + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/summary: + get: + tags: + - Polygon Validators + summary: Validator Summary + operationId: validator_summary_v0_polygon_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/network/overview: + get: + tags: + - Polygon Network + summary: Get Network Overview + operationId: get_network_overview_v0_polygon_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PolygonNetworkOverview' + type: array + title: Response Get Network Overview V0 Polygon Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators: + get: + tags: + - Polygon Delegators + summary: Delegator Summaries + operationId: delegator_summaries_v0_polygon_delegators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/summary: + get: + tags: + - Polygon Delegators + summary: Delegator Summary + operationId: delegator_summary_v0_polygon_delegators__delegator_address__summary_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonDelegatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/rewards: + get: + tags: + - Polygon Delegators + summary: Delegator Rewards + operationId: delegator_rewards_v0_polygon_delegators__delegator_address__rewards_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: from + in: query + - description: >- + The ending (lowest) checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + required: false + schema: + title: To + description: >- + The ending (lowest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: to + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - description: Maximum number of time periods (days or checkpoint) in the results. + required: false + schema: + type: integer + minimum: 0 + title: Size + description: >- + Maximum number of time periods (days or checkpoint) in the + results. + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/overview: + get: + tags: + - Solana Network + summary: Get Network Overview + operationId: get_network_overview_v0_solana_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SolanaNetworkOverview' + type: array + title: Response Get Network Overview V0 Solana Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/validatorDistributions: + get: + tags: + - Solana Network + summary: Get Validator Distributions + operationId: get_validator_distributions_v0_solana_network_validatorDistributions_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorDistributions' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/rewards: + get: + tags: + - Solana Validators + summary: Validator Rewards + operationId: validator_rewards_v0_solana_validators__validator_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance: + get: + tags: + - Solana Validators + summary: Validator Performance + operationId: >- + validator_performance_v0_solana_validators__validator_id__performance_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance/latency: + get: + tags: + - Solana Validators + summary: Validator Latency + operationId: >- + validator_latency_v0_solana_validators__validator_id__performance_latency_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: Slot to get vote latency from. + required: false + schema: + type: integer + minimum: 0 + title: From + description: Slot to get vote latency from. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}: + get: + tags: + - Solana Validators + summary: Validator Metadata + operationId: validator_metadata_v0_solana_validators__validator_id__get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators: + get: + tags: + - Solana Validators + summary: Validator Summaries + operationId: validator_summaries_v0_solana_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/summary: + get: + tags: + - Solana Validators + summary: Validator Summary + operationId: validator_summary_v0_solana_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags: + get: + summary: Get Tags + operationId: get_tags_v1_tags_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + tags: + - Tags + summary: Create Tag + operationId: create_tag_v1_tags_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}: + get: + summary: Get Tag + operationId: get_tag_v1_tags__id__get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + summary: Update Tag + operationId: update_tag_v1_tags__id__patch + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdateIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/tags/{id}/validators: + get: + summary: Get Tag Validators + operationId: get_tag_validators_v1_tags__id__validators_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + summary: Add Validators + operationId: add_validators_v1_tags__id__validators_post + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ValidatorTag' + type: array + title: Response Add Validators V1 Tags Id Validators Post + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}/validators/{pubkey}: + delete: + summary: Remove Validator + operationId: remove_validator_v1_tags__id__validators__pubkey__delete + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: true + schema: + type: string + title: Pubkey + name: pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '204': + description: Successful Response + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/effectiveness: + get: + summary: Get Entity Effectiveness + operationId: get_entity_effectiveness_v1_eth_entities__entity_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/attestations: + get: + summary: Get Entity Attestations + operationId: get_entity_attestations_v1_eth_entities__entity_id__attestations_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/proposals: + get: + summary: Get Entity Proposals + operationId: get_entity_proposals_v1_eth_entities__entity_id__proposals_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/effectiveness: + get: + summary: Get Validators Effectiveness + operationId: get_validators_effectiveness_v1_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/attestations: + get: + summary: Get Validators Attestations + operationId: get_validators_attestations_v1_eth_validators_attestations_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/proposals: + get: + summary: Get Validators Proposals + operationId: get_validators_proposals_v1_eth_validators_proposals_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + summary: Get Validator Effectiveness + operationId: >- + get_validator_effectiveness_v1_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + summary: Get Validator Attestations + operationId: >- + get_validator_attestations_v1_eth_validators__validator_index_or_pubkey__attestations_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + summary: Get Validator Proposals + operationId: >- + get_validator_proposals_v1_eth_validators__validator_index_or_pubkey__proposals_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/effectiveness: + get: + summary: Get Set Effectiveness + operationId: get_set_effectiveness_v1_eth_sets__set_id__effectiveness_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/attestations: + get: + summary: Get Set Attestations + operationId: get_set_attestations_v1_eth_sets__set_id__attestations_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/proposals: + get: + summary: Get Set Proposals + operationId: get_set_proposals_v1_eth_sets__set_id__proposals_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/rewards: + get: + summary: Get Entity Rewards + operationId: get_entity_rewards_v1_eth_entities__entity_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/penalties: + get: + summary: Get Entity Penalties + operationId: get_entity_penalties_v1_eth_entities__entity_id__penalties_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + summary: Get Validator Rewards + operationId: >- + get_validator_rewards_v1_eth_validators__validator_index_or_pubkey__rewards_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + summary: Get Validator Penalties + operationId: >- + get_validator_penalties_v1_eth_validators__validator_index_or_pubkey__penalties_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/rewards: + get: + summary: Get Private Set Rewards + operationId: get_private_set_rewards_v1_eth_sets__set_id__rewards_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/penalties: + get: + summary: Get Private Set Penalties + operationId: get_private_set_penalties_v1_eth_sets__set_id__penalties_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/summaries: + get: + summary: Get Entities Summaries + operationId: get_entities_summaries_v1_eth_entities_summaries_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/summaries: + get: + summary: Get Entity Summaries + operationId: get_entity_summaries_v1_eth_entities__entity_id__summaries_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities: + get: + summary: Get Entities + operationId: get_entities_v1_eth_entities_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}: + get: + summary: Get Entity + operationId: get_entity_v1_eth_entities__entity_id__get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators: + get: + summary: Get Validators + operationId: get_validators_v1_eth_validators_get + parameters: + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}: + get: + summary: Get Validator + operationId: get_validator_v1_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + components: + schemas: + ActivationsExitsAggregate: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + stakeAction: + $ref: '#/components/schemas/StakeAction' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgEpochsToAction: + type: integer + minimum: 0 + title: Avgepochstoaction + avgMinutesToAction: + type: number + minimum: 0 + title: Avgminutestoaction + amountGwei: + type: integer + minimum: 0 + title: Amountgwei + type: object + required: + - timeWindow + - id + - idType + - stakeAction + - validatorCount + - avgEpochsToAction + - avgMinutesToAction + title: ActivationsExitsAggregate + AprType: + type: string + enum: + - backward + - forward + title: AprType + description: An enumeration. + Blocks: + properties: + epoch: + type: integer + minimum: 0 + title: Epoch + consensusSlot: + type: integer + minimum: 0 + title: Consensusslot + consensusBlockRoot: + type: string + title: Consensusblockroot + executionBlockNumber: + type: integer + minimum: 0 + title: Executionblocknumber + executionBlockHash: + type: string + title: Executionblockhash + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + feeRecipient: + type: string + title: Feerecipient + totalType0Transactions: + type: integer + minimum: 0 + title: Totaltype0Transactions + totalType2Transactions: + type: integer + minimum: 0 + title: Totaltype2Transactions + totalTransactions: + type: integer + minimum: 0 + title: Totaltransactions + totalGasUsed: + type: integer + minimum: 0 + title: Totalgasused + baseFeePerGas: + type: integer + minimum: 0 + title: Basefeepergas + totalBurntFees: + type: integer + minimum: 0 + title: Totalburntfees + totalType2TxFees: + type: integer + minimum: 0 + title: Totaltype2Txfees + totalType0TxFees: + type: integer + minimum: 0 + title: Totaltype0Txfees + totalPriorityFees: + type: integer + minimum: 0 + title: Totalpriorityfees + baselineMev: + type: integer + minimum: 0 + title: Baselinemev + executionProposerDuty: + type: string + title: Executionproposerduty + executionRewards: + type: integer + minimum: 0 + title: Executionrewards + missedExecutionRewards: + type: integer + minimum: 0 + title: Missedexecutionrewards + consensusProposerDuty: + type: string + title: Consensusproposerduty + consensusRewards: + type: integer + minimum: 0 + title: Consensusrewards + missedConsensusRewards: + type: number + minimum: 0 + title: Missedconsensusrewards + totalRewards: + type: integer + minimum: 0 + title: Totalrewards + totalRewardsMissed: + type: number + minimum: 0 + title: Totalrewardsmissed + totalType1Transactions: + type: integer + minimum: 0 + title: Totaltype1Transactions + totalType1TxFees: + type: integer + minimum: 0 + title: Totaltype1Txfees + blockTimestamp: + type: string + format: date-time + title: Blocktimestamp + totalSanctionedTransactions: + type: integer + minimum: 0 + title: Totalsanctionedtransactions + totalPriorityFeesValidator: + type: integer + minimum: 0 + title: Totalpriorityfeesvalidator + relays: + items: + type: string + type: array + title: Relays + blockBuilderPubkeys: + items: + type: string + type: array + title: Blockbuilderpubkeys + totalType3Transactions: + type: integer + minimum: 0 + title: Totaltype3Transactions + totalType3TxFees: + type: integer + minimum: 0 + title: Totaltype3Txfees + type: object + required: + - epoch + - consensusSlot + - validatorIndex + - executionProposerDuty + - consensusProposerDuty + - relays + - blockBuilderPubkeys + title: Blocks + example: + epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: '2023-10-09T11:00:47' + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + ClientDistribution: + properties: + client: + type: string + title: Client + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - client + - validatorShare + title: ClientDistribution + ClientEffectiveness: + properties: + client: + type: string + title: Client + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - client + - avgValidatorEffectiveness + title: ClientEffectiveness + ClientPercentage: + properties: + client: + type: string + title: Client + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - client + - percentage + title: ClientPercentage + CreateTagIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: CreateTagIn + DistType: + enum: + - all + - pros + title: DistType + description: An enumeration. + Error: + properties: + loc: + items: + type: string + type: array + title: Loc + msg: + type: string + title: Msg + type: + type: string + title: Type + type: object + required: + - msg + - type + title: Error + ErrorResponse: + properties: + detail: + items: + $ref: '#/components/schemas/Error' + type: array + title: Detail + type: object + required: + - detail + title: ErrorResponse + FilterTypeEnum: + type: string + enum: + - hour + - day + - datetime + title: FilterTypeEnum + description: An enumeration. + GeoDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - country + - validatorShare + title: GeoDistribution + GranularityEnum: + type: string + enum: + - hour + - day + - week + - month + - quarter + - year + - all + title: GranularityEnum + description: An enumeration. + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + HostingDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - hostingProvider + - validatorShare + title: HostingDistribution + IdType: + type: string + enum: + - depositAddress + - withdrawalAddress + - nodeOperator + - pool + - poolShare + - entity + - validator + title: IdType + description: An enumeration. + Network: + type: string + enum: + - mainnet + - prater + - holesky + title: Network + description: An enumeration. + NetworkChurnCapacity: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activatedValidators: + type: integer + minimum: 0 + title: Activatedvalidators + activationCapacityFilled: + type: number + minimum: 0 + title: Activationcapacityfilled + exitedValidators: + type: integer + minimum: 0 + title: Exitedvalidators + exitCapacityFilled: + type: number + minimum: 0 + title: Exitcapacityfilled + activatedPercentage: + type: number + minimum: 0 + title: Activatedpercentage + exitedPercentage: + type: number + minimum: 0 + title: Exitedpercentage + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + activationChurnLimit: + type: integer + minimum: 0 + title: Activationchurnlimit + exitChurnLimit: + type: integer + minimum: 0 + title: Exitchurnlimit + type: object + required: + - timeWindow + - latestEpoch + - activatedValidators + - activationCapacityFilled + - exitedValidators + - exitCapacityFilled + - activatedPercentage + - exitedPercentage + - churnLimit + - activationChurnLimit + - exitChurnLimit + title: NetworkChurnCapacity + example: + time_window: all + latestEpoch: 186271 + activatedValidators: 238445 + activationCapacityFilled: 0.62372 + exitedValidators: 955 + exitCapacityFilled: 0.0025 + activatedPercentage: 0.47689 + exitedPercentage: 0.00191 + churnLimit: 382294 + activationChurnLimit: 382294 + exitChurnLimit: 382294 + NetworkChurnCapacityPool: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + stakeAction: + $ref: '#/components/schemas/StakeAction' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + pool: + type: string + title: Pool + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + capacityFilled: + type: number + minimum: 0 + title: Capacityfilled + networkCapacityRemaining: + type: number + minimum: 0 + title: Networkcapacityremaining + type: object + required: + - timeWindow + - stakeAction + - latestEpoch + - churnLimit + - pool + - validatorCount + - capacityFilled + - networkCapacityRemaining + title: NetworkChurnCapacityPool + example: + time_window: 7d + stakeAction: activation + latestEpoch: 187225 + churnLimit: 12600 + pool: Lido + validatorCount: 3534 + capacityFilled: 0.28048 + networkCapacityRemaining: 0.41198 + NetworkDailyConsensusExecutionRewards: + properties: + date: + type: string + format: date + title: Date + sumConsensusRewards: + type: integer + minimum: 0 + title: Sumconsensusrewards + sumExecutionRewards: + type: integer + minimum: 0 + title: Sumexecutionrewards + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + minimum: 0 + title: Sumbaselinemev + type: object + title: NetworkDailyConsensusExecutionRewards + example: + 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + NetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + validatorCountDiff: + type: integer + title: Validatorcountdiff + medianValidatorAgeDays: + type: integer + minimum: 0 + title: Medianvalidatoragedays + activeStake: + type: integer + minimum: 0 + title: Activestake + activeStakeDiff: + type: integer + title: Activestakediff + avgValidatorBalance: + type: number + minimum: 0 + title: Avgvalidatorbalance + avgValidatorBalanceDiff: + type: number + title: Avgvalidatorbalancediff + consensusLayerRewardsPercentage: + type: number + minimum: 0 + title: Consensuslayerrewardspercentage + priorityFeesPercentage: + type: number + minimum: 0 + title: Priorityfeespercentage + baselineMevPercentage: + type: number + minimum: 0 + title: Baselinemevpercentage + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + sumMissedSlots: + type: integer + minimum: 0 + title: Summissedslots + missedSlotsPercentage: + type: number + minimum: 0 + title: Missedslotspercentage + avgConsensusAprPercentage: + type: number + title: Avgconsensusaprpercentage + avgExecutionAprPercentage: + type: number + title: Avgexecutionaprpercentage + medianConsensusAprPercentage: + type: number + title: Medianconsensusaprpercentage + medianExecutionAprPercentage: + type: number + title: Medianexecutionaprpercentage + consensusRewardsRatio: + type: number + title: Consensusrewardsratio + executionRewardsRatio: + type: number + title: Executionrewardsratio + avgNetworkAprPercentage: + type: number + title: Avgnetworkaprpercentage + medianNetworkAprPercentage: + type: number + title: Mediannetworkaprpercentage + avgConsensusAprGwei: + type: integer + title: Avgconsensusaprgwei + avgExecutionAprGwei: + type: integer + title: Avgexecutionaprgwei + medianConsensusAprGwei: + type: integer + title: Medianconsensusaprgwei + medianExecutionAprGwei: + type: integer + title: Medianexecutionaprgwei + avgNetworkAprGwei: + type: integer + title: Avgnetworkaprgwei + medianNetworkAprGwei: + type: integer + title: Mediannetworkaprgwei + giniCoefficient: + type: number + minimum: 0 + title: Ginicoefficient + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + clientValidatorEffectiveness: + items: + $ref: '#/components/schemas/ClientEffectiveness' + type: array + title: Clientvalidatoreffectiveness + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activationQueueMinutes: + type: number + minimum: 0 + title: Activationqueueminutes + activatingValidators: + type: integer + minimum: 0 + title: Activatingvalidators + activatingStake: + type: integer + minimum: 0 + title: Activatingstake + exitQueueMinutes: + type: number + minimum: 0 + title: Exitqueueminutes + withdrawalQueueMinutes: + type: number + minimum: 0 + title: Withdrawalqueueminutes + withdrawalProcessingQueueMinutes: + type: number + minimum: 0 + title: Withdrawalprocessingqueueminutes + fullyWithdrawingValidators: + type: integer + minimum: 0 + title: Fullywithdrawingvalidators + partiallyWithdrawingValidators: + type: integer + minimum: 0 + title: Partiallywithdrawingvalidators + totalWithdrawingValidators: + type: integer + minimum: 0 + title: Totalwithdrawingvalidators + fullyWithdrawingBalance: + type: integer + minimum: 0 + title: Fullywithdrawingbalance + partiallyWithdrawingBalance: + type: integer + minimum: 0 + title: Partiallywithdrawingbalance + totalWithdrawingBalance: + type: integer + minimum: 0 + title: Totalwithdrawingbalance + exitingValidators: + type: integer + minimum: 0 + title: Exitingvalidators + exitingStake: + type: integer + minimum: 0 + title: Exitingstake + liquidStakingPenetration: + type: number + minimum: 0 + title: Liquidstakingpenetration + networkNativelyRestaked: + type: number + minimum: 0 + title: Networknativelyrestaked + type: object + required: + - timeWindow + - validatorCount + - medianValidatorAgeDays + - activeStake + - avgValidatorBalance + - sumMissedSlots + - missedSlotsPercentage + - giniCoefficient + - clientPercentages + - latestEpoch + - activationQueueMinutes + - activatingValidators + - activatingStake + - exitQueueMinutes + - withdrawalQueueMinutes + - withdrawalProcessingQueueMinutes + - fullyWithdrawingValidators + - partiallyWithdrawingValidators + - totalWithdrawingValidators + - fullyWithdrawingBalance + - partiallyWithdrawingBalance + - totalWithdrawingBalance + - exitingValidators + title: NetworkOverview + example: + timeWindow: all + validatorCount: 513101 + validatorCountDiff: 0 + medianValidatorAgeDays: 446 + activeStake: 16419232000000000 + activeStakeDiff: 0 + avgValidatorBalance: 33989164381.593678 + avgValidatorBalanceDiff: 0 + consensusLayerRewardsPercentage: 71.00716294317242 + priorityFeesPercentage: 17.670898689999394 + baselineMevPercentage: 11.321938366828187 + avgValidatorEffectiveness: 96.24882777017207 + avgInclusionDelay: 1.026223700745488 + avgUptime: 99.60745479648561 + sumMissedSlots: 54305 + missedSlotsPercentage: 0.9463495357389193 + avgConsensusAprPercentage: 4.110372806103757 + avgExecutionAprPercentage: 1.8784786051796751 + medianConsensusAprPercentage: 3.892783165538195 + medianExecutionAprPercentage: 0.6112049138020833 + consensusRewardsRatio: 0.7100716294317242 + executionRewardsRatio: 0.2899283705682758 + avgNetworkAprPercentage: 5.988851411283433 + medianNetworkAprPercentage: 4.503988079340278 + avg_consensus_apr_gwei: 1315319298 + avg_execution_apr_gwei: 601113154 + median_consensus_apr_gwei: 1245690613 + median_execution_apr_gwei: 195585572 + avg_network_apr_gwei: 1916432452 + median_network_apr_gwei: 1441276185 + giniCoefficient: 0.9374772860811317 + clientPercentages: + - client: Lighthouse + percentage: 0.3744886640155385 + - client: Nimbus + percentage: 0.025649007580706686 + - client: Teku + percentage: 0.19682653817317683 + - client: Prysm + percentage: 0.4004708894725073 + - client: Lodestar + percentage: 0.0025649007580706685 + clientValidatorEffectiveness: + - client: Lighthouse + avgValidatorEffectiveness: 95.42 + - client: Nimbus + avgValidatorEffectiveness: 93.4 + - client: Teku + avgValidatorEffectiveness: 94.9 + latestEpoch: 162521 + activationQueueMinutes: 838.4 + activatingValidators: 787 + activatingStake: 25184000000000 + exitQueueMinutes: 25.6 + withdrawalQueueMinutes: 47392 + withdrawalProcessingQueueMinutes: 47834.2875 + fullyWithdrawingValidators: 32 + partiallyWithdrawingValidators: 35351 + totalWithdrawingValidators: 35383 + fullyWithdrawingBalance: 1024000000000 + partiallyWithdrawingBalance: 1447374543384832 + totalWithdrawingBalance: 39939418387645100 + exitingValidators: 98 + exitingStake: 3136000000000 + liquid_staking_penetration: 0.312321 + network_natively_restaked: 0.035343 + NetworkStats: + properties: + day: + type: integer + minimum: 0 + title: Day + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - day + - avgUptime + - avgInclusionDelay + - avgCorrectness + - avgValidatorEffectiveness + title: NetworkStats + example: + day: 796 + avgUptime: 0.9957368996638016 + avgInclusionDelay: 1.0192267929181533 + avgCorrectness: 0.9908021620574459 + avgValidatorEffectiveness: 97.15146353052468 + Operator: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + displayName: + type: string + title: Displayname + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + type: object + required: + - id + - idType + - displayName + - operatorTags + title: Operator + example: + id: Stakefish + idType: nodeOperator + displayName: Stakefish + operatorTags: + - name: operator + nodeOperatorCount: 2 + OperatorApr: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: OperatorApr + example: + id: Lido + idType: pool + timeWindow: 1d + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + OperatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgProposerEffectiveness: + type: number + minimum: 0 + title: Avgproposereffectiveness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + sumProposedCount: + type: integer + minimum: 0 + title: Sumproposedcount + sumProposerDutiesCount: + type: integer + minimum: 0 + title: Sumproposerdutiescount + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + sumEarnings: + type: integer + title: Sumearnings + sumEstimatedRewards: + type: integer + title: Sumestimatedrewards + sumEstimatedPenalties: + type: integer + title: Sumestimatedpenalties + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + avgAttesterEffectiveness: + type: number + minimum: 0 + title: Avgattestereffectiveness + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + sumExecutionProposedEmptyCount: + type: integer + minimum: 0 + title: Sumexecutionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + required: + - id + - idType + title: OperatorEffectiveness + example: + day: 796 + startEpoch: 179324 + endEpoch: 179100 + id: Stakefish + idType: nodeOperator + validatorCount: 16075 + avgInclusionDelay: 1.0138705386457403 + avgUptime: 0.9999466390184881 + avgCorrectness: 0.9929917401071404 + avgProposerEffectiveness: 99.53271028037379 + avgValidatorEffectiveness: 97.96642775943795 + totalUniqueAttestations: 3616682 + sumCorrectHead: 3547355 + sumCorrectTarget: 3612248 + sumInclusionDelay: 3666847 + sumProposedCount: 213 + sumProposerDutiesCount: 214 + slashesCollected: 0 + slashesReceived: 0 + sumEarnings: 56766373292 + sumEstimatedRewards: 56675239144 + sumEstimatedPenalties: -82967688 + networkPenetration: 0.03132911454080191 + sumPriorityFees: 10662221791 + sumBaselineMev: 5266131924 + sumMissedExecutionRewards: 58181568 + sumConsensusBlockRewards: 6554423259 + sumMissedConsensusBlockRewards: 31228533 + sumAllRewards: 72694727007 + sumCorrectSource: 3614403 + avgAttesterEffectiveness: 97.9580945527236 + sumMissedSyncSignatures: 2837 + sumSyncCommitteePenalties: -44317643 + sumLateSourceVotes: 2279 + sumWrongTargetVotes: 4434 + sumLateTargetVotes: 0 + sumWrongTargetPenalties: -28763358 + sumLateTargetPenalties: 0 + sumMissedAttestations: 193 + sumMissedAttestationPenalties: -1926140 + sumWrongHeadVotes: 48767 + sumWrongHeadPenalties: 0 + sumAttestationRewards: 50120815885 + sumLateSourcePenalties: -7960547 + sumExecutionProposedEmptyCount: 0 + sumMissedAttestationRewards: 269961427 + sumMissedSyncCommitteeRewards: 44317643 + sumExternallySourcedExecutionRewards: 14862131536 + OperatorEffectivenessSummary: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + relayerPercentages: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: Relayerpercentages + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + displayName: + type: string + title: Displayname + aprPercentage: + type: number + title: Aprpercentage + type: object + required: + - id + - idType + - timeWindow + - validatorCount + - avgCorrectness + - avgUptime + - avgValidatorEffectiveness + - clientPercentages + - relayerPercentages + - operatorTags + title: OperatorEffectivenessSummary + example: + id: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + idType: depositAddress + timeWindow: 1d + validatorCount: 37361 + avgCorrectness: 0.9872805930783213 + avgInclusionDelay: 1.0209945048723401 + avgUptime: 0.9990847259025307 + avgValidatorEffectiveness: 96.65219797373126 + clientPercentages: + - client: Prysm + percentage: 0.8462792766083606 + - client: Nimbus + percentage: 0.04797904931317324 + - client: Teku + percentage: 0.034044866093487496 + - client: Lighthouse + percentage: 0.07169680798497875 + networkPenetration: 0.07855633469653803 + relayerPercentages: [] + operatorTags: [] + displayName: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + OperatorTag: + properties: + name: + type: string + title: Name + path: + type: string + title: Path + idType: + $ref: '#/components/schemas/IdType' + type: object + required: + - name + title: OperatorTag + P2PGeographicalDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - country + - countryCode + - validatorShare + - distType + title: P2PGeographicalDistribution + P2PHostingProviderDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - hostingProvider + - validatorShare + - distType + title: P2PHostingProviderDistribution + PageP2P: + properties: + fromRank: + type: integer + title: Fromrank + toRank: + type: integer + title: Torank + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + type: object + required: + - fromRank + title: PageP2P + PaginatedBlocks: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/Blocks' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedBlocks + example: + page: + size: 1 + data: + - epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: >- + \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: >- + \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: 123242323 + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + next: /v0/eth/blocks/?size=10&from=7502092 + total: 1 + PaginatedNetworkDailyConsensusExecutionRewards: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedNetworkDailyConsensusExecutionRewards + example: + page: + size: 1 + data: + - 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + next: /v0/eth/network/dailyRewards?size=10&from=2024-02-19 + total: 1 + PaginatedOperatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectiveness + PaginatedOperatorEffectivenessSummary: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectivenessSummary + PaginatedP2PHostingProviderDistribution: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/P2PHostingProviderDistribution' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedP2PHostingProviderDistribution + PaginatedSlashingLeaderboard: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingLeaderboard' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingLeaderboard + PaginatedSlashingPenalties: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingPenalties' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingPenalties + PaginatedValidatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectiveness + example: + page: + filterType: day + granularity: day + size: 1 + data: + - attesterEffectiveness: 98.82005899705014 + avgCorrectness: 0.9925925925925926 + avgInclusionDelay: 1.0044444444444445 + day: 803 + earnings: 2958548 + endEpoch: 180675 + estimatedPenalties: -6461 + estimatedRewards: 2965823 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startEpoch: 180899 + sumAllRewards: 2958548 + sumAttestationRewards: 2965823 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 221 + sumCorrectSource: 225 + sumCorrectTarget: 224 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 226 + sumLateSourcePenalties: 0 + sumLateSourceVotes: 0 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 19233 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 3 + sumWrongTargetPenalties: -6461 + sumWrongTargetVotes: 1 + syncSignatureCount: 0 + totalAttestationAssignments: 225 + totalAttestations: 237 + totalUniqueAttestations: 225 + uptime: 1 + validatorEffectiveness: 98.82005899705014 + validatorIndex: 100 + next: >- + /v0/eth/validators/100/effectiveness?size=1&from=802&granularity=day&filterType=day + total: 804 + PaginatedValidatorEffectivenessAggregation: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessAggregation' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessAggregation + example: + data: + - attesterEffectiveness: 97.32583666151515 + avgCorrectness: 0.9918362178153197 + avgInclusionDelay: 1.0193737639350782 + day: 803 + earnings: 4280356408 + endDay: 0 + endEpoch: 0 + estimatedPenalties: -12510807 + estimatedRewards: 4128779301 + executionProposedEmptyCount: 0 + proposedCount: 24 + proposerDutiesCount: 24 + proposerEffectiveness: 100 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 4280356408 + sumAttestationRewards: 4052665764 + sumBaselineMev: 0 + sumConsensusBlockRewards: 76113537 + sumCorrectHead: 177727 + sumCorrectSource: 180937 + sumCorrectTarget: 180496 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 184525 + sumLateSourcePenalties: -353416 + sumLateSourceVotes: 81 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: -629004 + sumMissedAttestationRewards: 24938630 + sumMissedAttestations: 47 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumMissedSyncSignatures: 16384 + sumPriorityFees: 0 + sumSyncCommitteePenalties: -409318.20849609375 + sumWrongHeadPenalties: -6971040 + sumWrongHeadVotes: 2231 + sumWrongTargetPenalties: -4148029 + sumWrongTargetVotes: 522 + syncSignatureCount: 0 + totalAttestationAssignments: 181065 + totalAttestations: 202175 + totalUniqueAttestations: 181018 + uptime: 0.9997404247093585 + validatorEffectiveness: 97.33446322952862 + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + page: + filterType: day + size: 1 + total: 1 + PaginatedValidatorEffectivenessData: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessData' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessData + example: + data: + - attesterEffectiveness: 98.46868397067385 + avgCorrectness: 0.9951851851851852 + avgInclusionDelay: 1.0107407407407407 + day: 803 + earnings: 35804991 + endDay: 792 + endEpoch: 178200 + estimatedPenalties: -22921 + estimatedRewards: 35849013 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 35804991 + sumAttestationRewards: 35849013 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 2665 + sumCorrectSource: 2699 + sumCorrectTarget: 2697 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 2729 + sumLateSourcePenalties: -3486 + sumLateSourceVotes: 1 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 137813 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 21 + sumWrongTargetPenalties: -19435 + sumWrongTargetVotes: 3 + syncSignatureCount: 0 + totalAttestationAssignments: 2700 + totalAttestations: 2919 + totalUniqueAttestations: 2700 + uptime: 1 + validatorEffectiveness: 98.46868397067385 + next: >- + /v0/eth/validators/effectiveness?indices=100&indices=101&groupBy=timeWindow&granularity=month&size=1&from=791&filterType=day + page: + filterType: day + granularity: month + size: 1 + total: 27 + PaginatedValidatorEffectivenessDataOrAggregation: + anyOf: + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessData' + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessAggregation' + title: PaginatedValidatorEffectivenessDataOrAggregation + PaginatedValidatorMetadata: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorMetadata' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorMetadata + example: + page: + from: 0 + size: 3 + total: 11 + data: + - validatorIndex: 1 + validatorPubkey: >- + 0xb44440543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004466666 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 4 + validatorPubkey: >- + 0xa62420543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004454b51 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 10 + validatorPubkey: >- + 0xc55540543ceef8dccc065c70da15f7b731e56db5457571c465f0254442bbcd263a0111c8749b4ca6ff20d77004466777 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + next: /v0/eth/validators?from=11&size=3&operatorsIds=&idType= + PaginatedWithdrawalsPredicted: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedWithdrawalsPredicted + Percentile: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + rank: + type: integer + minimum: 0 + title: Rank + value: + type: number + minimum: 0 + title: Value + type: object + required: + - timeWindow + - rank + - value + title: Percentile + PolygonDelegation: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + validatorName: + type: string + title: Validatorname + stakePercentage: + type: number + title: Stakepercentage + type: object + required: + - validatorId + - stakePercentage + title: PolygonDelegation + PolygonDelegatorSummary: + properties: + delegatorAddress: + type: string + title: Delegatoraddress + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkPenetration: + type: number + title: Networkpenetration + delegations: + items: + $ref: '#/components/schemas/PolygonDelegation' + type: array + title: Delegations + aprGross: + type: number + title: Aprgross + aprNet: + type: number + title: Aprnet + aggregateEffectiveness: + type: number + title: Aggregateeffectiveness + blendedCommissionRate: + type: number + title: Blendedcommissionrate + totalDelegatorStake: + type: number + title: Totaldelegatorstake + totalGrossRewards: + type: number + title: Totalgrossrewards + totalNetRewards: + type: number + title: Totalnetrewards + totalCommissionPaid: + type: number + title: Totalcommissionpaid + type: object + required: + - delegatorAddress + - timeWindow + - networkPenetration + - delegations + - aggregateEffectiveness + - blendedCommissionRate + - totalDelegatorStake + - totalGrossRewards + - totalNetRewards + - totalCommissionPaid + title: PolygonDelegatorSummary + example: + delegatorAddress: '0x00000' + timeWindow: 30d + networkPenetration: 0.1 + delegations: + - validatorId: 103 + validatorName: Stake Capital + stakePercentage: 0.1 + - validatorId: 104 + validatorName: Coinbase Cloud + stakePercentage: 0.1 + aprGross: 0.05 + aprNet: 0.05 + aggregateEffectiveness: 0.98865 + blendedCommissionRate: 0.05125 + totalDelegatorStake: 400995914.00753 + totalGrossRewards: 1859026.3456 + totalNetRewards: 1746304.13028 + totalCommissionPaid: 112722.21532 + PolygonNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkCheckpointSigningRate: + type: number + title: Networkcheckpointsigningrate + networkCheckpointProposalRate: + type: number + title: Networkcheckpointproposalrate + networkBorProposalRate: + type: number + title: Networkborproposalrate + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + delegatorApr: + type: number + title: Delegatorapr + heimdallCheckpointApr: + type: number + title: Heimdallcheckpointapr + borProposalApr: + type: number + title: Borproposalapr + heimdallCheckpointRewardsRatio: + type: number + title: Heimdallcheckpointrewardsratio + borProposalRewardsRatio: + type: number + title: Borproposalrewardsratio + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + activeDelegatorCount: + type: integer + minimum: 0 + title: Activedelegatorcount + activeDelegatorDiff: + type: integer + title: Activedelegatordiff + totalStake: + type: number + title: Totalstake + totalDelegatedStake: + type: number + title: Totaldelegatedstake + avgDelegatedStake: + type: number + title: Avgdelegatedstake + totalSelfStake: + type: number + title: Totalselfstake + rewardsCheckpointSignatures: + type: number + title: Rewardscheckpointsignatures + rewardsCheckpointProposals: + type: number + title: Rewardscheckpointproposals + rewardsBorPriorityFees: + type: number + title: Rewardsborpriorityfees + rewardsBorMev: + type: number + title: Rewardsbormev + avgValidatorDelegates: + type: number + title: Avgvalidatordelegates + blendedCommissionRate: + type: number + title: Blendedcommissionrate + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + networkCheckpointSigningRateDiff: + type: number + title: Networkcheckpointsigningratediff + networkCheckpointProposalRateDiff: + type: number + title: Networkcheckpointproposalratediff + networkBorProposalRateDiff: + type: number + title: Networkborproposalratediff + type: object + required: + - timeWindow + - networkEffectiveness + - networkCheckpointSigningRate + - networkCheckpointProposalRate + - networkBorProposalRate + - validatorApr + - netValidatorApr + - delegatorApr + - heimdallCheckpointApr + - borProposalApr + - heimdallCheckpointRewardsRatio + - borProposalRewardsRatio + - activeValidatorCount + - activeValidatorDiff + - activeDelegatorCount + - activeDelegatorDiff + - totalStake + - totalDelegatedStake + - avgDelegatedStake + - totalSelfStake + - rewardsCheckpointSignatures + - rewardsCheckpointProposals + - rewardsBorPriorityFees + - rewardsBorMev + - avgValidatorDelegates + - blendedCommissionRate + - networkEffectivenessDiff + - networkCheckpointSigningRateDiff + - networkCheckpointProposalRateDiff + - networkBorProposalRateDiff + title: PolygonNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkCheckpointSigningRate: 0.999 + networkCheckpointProposalRate: 0.999 + networkBorProposalRate: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + heimdallCheckpointApr: 0.99 + borProposalApr: 0.99 + heimdallCheckpointRewardsRatio: 0.99 + borProposalRewardsRatio: 0.99 + activeValidatorCount: 999 + activeValidatorDiff: -10 + activeDelegatorCount: 999 + activeDelegatorDiff: 999 + totalStake: 999 + totalDelegatedStake: 999 + avgDelegatedStake: 999 + totalSelfStake: 999 + rewardsCheckpointSignatures: 999 + rewardsCheckpointProposals: 999 + rewardsBorPriorityFees: 999 + rewardsBorMev: 999 + avgValidatorDelegates: 999 + blendedCommissionRate: 0.99 + network_effectiveness_diff: 0.01 + network_checkpoint_signing_rate_diff: 0.01 + network_checkpoint_proposal_rate_diff: 0.01 + network_bor_proposal_rate_diff: 0.01 + PolygonValidatorMetadata: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + name: + type: string + title: Name + status: + type: string + title: Status + currentState: + type: string + title: Currentstate + owner: + type: string + title: Owner + signer: + type: string + title: Signer + url: + type: string + title: Url + description: + type: string + title: Description + commission: + type: number + minimum: 0 + title: Commission + type: object + required: + - validatorId + - name + - status + - currentState + - owner + - signer + - commission + title: PolygonValidatorMetadata + example: + validatorId: 103 + name: Stake Capital + status: active + currentState: healthy + owner: '0x00000' + signer: '0x00000' + url: https://stake.capital + description: Stake Capital is a validator for Polygon. + commission: 0.1 + PolygonValidatorSummary: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + currentState: + type: string + title: Currentstate + networkPenetration: + type: number + title: Networkpenetration + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + commissionRate: + type: number + title: Commissionrate + delegatorApr: + type: number + title: Delegatorapr + effectiveness: + type: number + title: Effectiveness + type: object + required: + - validatorId + - timeWindow + - name + - currentState + - networkPenetration + - validatorApr + - netValidatorApr + - commissionRate + - delegatorApr + - effectiveness + title: PolygonValidatorSummary + example: + validatorId: 103 + timeWindow: 30d + name: Stake Capital + currentState: healthy + networkPenetration: 0.24 + validatorApr: 0.05 + commissionRate: 0.05 + netValidatorApr: 0.049 + delegatorApr: 0.05 + effectiveness: 0.984 + PoolOrNodeOperatorIdType: + type: string + enum: + - pool + - nodeOperator + title: PoolOrNodeOperatorIdType + description: An enumeration. + PoolType: + enum: + - all + - cex + - lst + title: PoolType + description: An enumeration. + PricingPlan: + properties: + tier: + $ref: '#/components/schemas/PricingTiersEnum' + price: + type: integer + minimum: 0 + title: Price + computeUnits: + type: integer + minimum: 0 + title: Computeunits + autoscale: + type: boolean + title: Autoscale + autoscalePrice: + type: integer + minimum: 0 + title: Autoscaleprice + cuUpperBound: + type: integer + minimum: 0 + title: Cuupperbound + rateLimits: + type: string + title: Ratelimits + lifetimeRequestsLimit: + type: integer + minimum: 0 + title: Lifetimerequestslimit + type: object + required: + - tier + - autoscale + - rateLimits + title: PricingPlan + PricingTiersEnum: + type: string + enum: + - free + - starter + - build + - growth + - enterprise + - chorus-one + - blockworks + - manifold + title: PricingTiersEnum + description: An enumeration. + RelayerPercentage: + properties: + relayer: + type: string + title: Relayer + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - relayer + - percentage + title: RelayerPercentage + example: + relayer: agnostic + percentage: 0.00041296716911005574 + SelfReport: + properties: + operatorName: + type: string + title: Operatorname + validators: + items: + type: string + type: array + title: Validators + network: + $ref: '#/components/schemas/Network' + poolTag: + type: string + title: Pooltag + type: object + required: + - operatorName + - validators + - network + title: SelfReport + SelfReportIn: + properties: + validators: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Validators + poolTag: + type: string + title: Pooltag + type: object + required: + - validators + title: SelfReportIn + SlashingCohortAnalysis: + properties: + cohort: + type: string + title: Cohort + lastSixMonths: + type: integer + minimum: 0 + title: Lastsixmonths + pastYear: + type: integer + minimum: 0 + title: Pastyear + pastTwoYears: + type: integer + minimum: 0 + title: Pasttwoyears + allTime: + type: integer + minimum: 0 + title: Alltime + type: object + required: + - cohort + - lastSixMonths + - pastYear + - pastTwoYears + - allTime + title: SlashingCohortAnalysis + SlashingLeaderboard: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + slashes: + type: integer + minimum: 0 + title: Slashes + medianSlashedMonth: + type: string + title: Medianslashedmonth + slasherPedigree: + type: string + title: Slasherpedigree + slashingRole: + $ref: '#/components/schemas/SlashingRole' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + type: object + required: + - id + - idType + - slashes + - medianSlashedMonth + - slasherPedigree + - slashingRole + - validatorCount + title: SlashingLeaderboard + SlashingOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + discreteSlashingEvents: + type: integer + minimum: 0 + title: Discreteslashingevents + largestSlashingIncident: + type: integer + minimum: 0 + title: Largestslashingincident + currentSlashingPenaltyGwei: + type: integer + minimum: 0 + title: Currentslashingpenaltygwei + slashingSlotsRatio: + type: number + minimum: 0 + title: Slashingslotsratio + solosRatio: + type: number + minimum: 0 + title: Solosratio + prosRatio: + type: number + minimum: 0 + title: Prosratio + slashingPenaltiesAllRewardsRatio: + type: number + minimum: 0 + title: Slashingpenaltiesallrewardsratio + slashingPenaltiesStakeRatio: + type: number + minimum: 0 + title: Slashingpenaltiesstakeratio + type: object + required: + - timeWindow + - validatorsSlashed + - discreteSlashingEvents + - largestSlashingIncident + - currentSlashingPenaltyGwei + - slashingSlotsRatio + - solosRatio + - prosRatio + - slashingPenaltiesAllRewardsRatio + - slashingPenaltiesStakeRatio + title: SlashingOverview + example: + timeWindow: all + validatorsSlashed: 278 + discreteSlashingEvents: 97 + largestSlashingIncident: 2 + currentSlashingPenaltyGwei: 1064833914 + slashingSlotsRatio: 0.00003 + solosSlotsRatio: 0.57554 + prosSlotsRatio: 0.42446 + slashingPenaltiesAllRewardsRatio: 0.00011 + slashingPenaltiesStakeRatio: 0.00001 + SlashingPenalties: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + slashingEpoch: + type: integer + minimum: 0 + title: Slashingepoch + withdrawableEpoch: + type: integer + minimum: 0 + title: Withdrawableepoch + balanceBeforeSlashing: + type: integer + minimum: 0 + title: Balancebeforeslashing + balanceBeforeWithdrawal: + type: integer + minimum: 0 + title: Balancebeforewithdrawal + slashingPenalties: + type: integer + minimum: 0 + title: Slashingpenalties + type: object + required: + - validatorIndex + - validatorPubkey + - slashingEpoch + - withdrawableEpoch + - balanceBeforeSlashing + - balanceBeforeWithdrawal + - slashingPenalties + title: SlashingPenalties + example: + validatorIndex: 516858 + validatorPubkey: >- + 0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022 + slashingEpoch: 203644 + withdrawableEpoch: 211836 + balanceBeforeSlashing: 32001900366 + balanceBeforeWithdrawal: 30980804667 + slashingPenalties: 1021095699 + SlashingRole: + enum: + - slashed + - slasher + title: SlashingRole + description: An enumeration. + SlashingTimeSeries: + properties: + month: + type: string + format: date + title: Month + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + type: object + required: + - month + - validatorsSlashed + title: SlashingTimeSeries + SolanaNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkVoteSuccessRate: + type: number + title: Networkvotesuccessrate + networkMissedBlocksRate: + type: number + title: Networkmissedblocksrate + networkVotingLatency: + type: number + title: Networkvotinglatency + validatorApy: + type: number + title: Validatorapy + netValidatorApy: + type: number + title: Netvalidatorapy + delegatorApy: + type: number + title: Delegatorapy + rewardsSolanaVoting: + type: number + title: Rewardssolanavoting + rewardsSolanaProposals: + type: number + title: Rewardssolanaproposals + rewardsSolanaMev: + type: number + title: Rewardssolanamev + rewardsSolanaRent: + type: number + title: Rewardssolanarent + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + totalDelegatedStake: + type: number + title: Totaldelegatedstake + activeDelegatorStakeAccountCount: + type: integer + minimum: 0 + title: Activedelegatorstakeaccountcount + activeDelegatorStakeAccountCountDiff: + type: integer + title: Activedelegatorstakeaccountcountdiff + activeDelegatorWithdrawAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorwithdrawauthoritycount + activeDelegatorWithdrawAuthorityCountDiff: + type: integer + title: Activedelegatorwithdrawauthoritycountdiff + stakeAccountWithdrawAuthorityRatio: + type: number + title: Stakeaccountwithdrawauthorityratio + activeDelegatorStakeAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorstakeauthoritycount + activeDelegatorStakeAuthorityCountDiff: + type: integer + title: Activedelegatorstakeauthoritycountdiff + stakeAccountStakeAuthorityRatio: + type: number + title: Stakeaccountstakeauthorityratio + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + giniCoefficient: + type: number + title: Ginicoefficient + type: object + required: + - timeWindow + - networkEffectiveness + - networkVoteSuccessRate + - networkMissedBlocksRate + - networkVotingLatency + - validatorApy + - netValidatorApy + - delegatorApy + - rewardsSolanaVoting + - rewardsSolanaProposals + - rewardsSolanaMev + - rewardsSolanaRent + - activeValidatorCount + - activeValidatorDiff + - totalDelegatedStake + - activeDelegatorStakeAccountCount + - activeDelegatorStakeAccountCountDiff + - activeDelegatorWithdrawAuthorityCount + - activeDelegatorWithdrawAuthorityCountDiff + - stakeAccountWithdrawAuthorityRatio + - activeDelegatorStakeAuthorityCount + - activeDelegatorStakeAuthorityCountDiff + - stakeAccountStakeAuthorityRatio + - networkEffectivenessDiff + - giniCoefficient + title: SolanaNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkVoteSuccessRate: 0.999 + networkMissedBlocksRate: 0.999 + networkVotingLatency: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + rewardsSolanaVoting: 0.999 + rewardsSolanaProposals: 0.999 + rewardsSolanaRent: 0.999 + rewardsSolanaMev: 0.999 + activeValidatorCount: 999 + activeValidatorDiff: -10 + totalDelegatedStake: 999 + activeDelegatorStakeAccountCount: 999 + activeDelegatorStakeAccountCountDiff: 999 + activeDelegatorWithdrawAuthorityCount: 999 + activeDelegatorWithdrawAuthorityCountDiff: 999 + stakeAccountWithdrawAuthorityRatio: 0.999 + activeDelegatorStakeAuthorityCount: 999 + activeDelegatorStakeAuthorityCountDiff: 999 + stakeAccountStakeAuthorityRatio: 0.999 + networkEffectivenessDiff: 0.999 + giniCoefficient: 0.999 + SolanaValidatorDistributions: + properties: + geo: + items: + $ref: '#/components/schemas/GeoDistribution' + type: array + title: Geo + host: + items: + $ref: '#/components/schemas/HostingDistribution' + type: array + title: Host + client: + items: + $ref: '#/components/schemas/ClientDistribution' + type: array + title: Client + type: object + required: + - geo + - host + - client + title: SolanaValidatorDistributions + example: + geo: + - country: United States + validator_share: 0.5 + - country: Germany + validator_share: 0.5 + host: + - hosting_provider: AWS + validator_share: 0.6 + - hosting_provider: Google Cloud + validator_share: 0.4 + client: + - client: Solana v1.7.9 + validator_share: 0.7 + - client: Jito Solana + validator_share: 0.3 + SolanaValidatorMetadata: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + validatorName: + type: string + title: Validatorname + description: + type: string + title: Description + keybaseUsername: + type: string + title: Keybaseusername + url: + type: string + title: Url + city: + type: string + title: City + country: + type: string + title: Country + hostingProvider: + type: string + title: Hostingprovider + client: + type: string + title: Client + type: object + required: + - voteAccount + title: SolanaValidatorMetadata + example: + validatorIdentity: validatorIdentityABC123 + voteAccount: voteAccountABC123 + validatorName: Mike's Validator + description: world's best validator + keybaseUsername: someusername + url: https://validator.url + city: London + country: GB + hostingProvider: Amazon + client: solana-jito + SolanaValidatorSummary: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + validatorApy: + type: number + title: Validatorapy + delegatorApy: + type: number + title: Delegatorapy + voteCommissionRate: + type: number + title: Votecommissionrate + mevCommissionRate: + type: number + title: Mevcommissionrate + totalStake: + type: number + title: Totalstake + networkPenetration: + type: number + title: Networkpenetration + effectiveness: + type: number + title: Effectiveness + stakeAccountCount: + type: integer + minimum: 0 + title: Stakeaccountcount + type: object + required: + - validatorIdentity + - voteAccount + - timeWindow + - name + - validatorApy + - delegatorApy + - voteCommissionRate + - totalStake + - networkPenetration + title: SolanaValidatorSummary + example: + validatorIdentity: validatorIdentity + voteAccount: voteAccount + timeWindow: 30d + validatorName: validatorName + name: name + validatorApy: 0.05 + delegatorApy: 0.05 + voteCommissionRate: 0.05 + mevCommissionRate: 0.05 + networkPenetration: 0.24 + effectiveness: 0.984 + stakeAccountCount: 100 + SortOrderEnum: + type: string + enum: + - asc + - desc + title: SortOrderEnum + description: An enumeration. + StakeAction: + enum: + - activation + - exit + title: StakeAction + description: An enumeration. + Tag: + properties: + id: + type: string + format: uuid4 + title: Id + name: + type: string + title: Name + network: + $ref: '#/components/schemas/Network' + organizationId: + type: string + format: uuid4 + title: Organizationid + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + updatedAt: + type: string + format: date-time + title: Updatedat + type: object + required: + - id + - name + - network + - organizationId + - createdBy + - createdAt + title: Tag + TagUpdateIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: TagUpdateIn + TimeWindow: + type: string + enum: + - 1d + - 7d + - 30d + - all + title: TimeWindow + description: An enumeration. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + ValidatorApr: + properties: + id: + type: integer + minimum: 0 + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: ValidatorApr + example: + validatorIndex: 1000 + idType: validator + timeWindow: all + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + ValidatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + type: object + required: + - validatorIndex + title: ValidatorEffectiveness + ValidatorEffectivenessAggregation: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorEffectivenessAggregation + ValidatorEffectivenessData: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + title: ValidatorEffectivenessData + ValidatorMetadata: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + pool: + type: string + title: Pool + dvtNetwork: + type: string + title: Dvtnetwork + nodeOperators: + items: + type: string + type: array + title: Nodeoperators + depositAddresses: + items: + type: string + type: array + title: Depositaddresses + dvtOperators: + items: + type: string + type: array + title: Dvtoperators + activationEpoch: + type: integer + title: Activationepoch + activationEligibilityEpoch: + type: integer + title: Activationeligibilityepoch + exitEpoch: + type: integer + title: Exitepoch + withdrawableEpoch: + type: integer + title: Withdrawableepoch + withdrawalAddress: + type: string + title: Withdrawaladdress + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorMetadata + example: + activationEpoch: 0 + activationEligibilityEpoch: 0 + depositAddresses: + - '0x74134d0c91798d720a5585364bb4be7396c5b973' + dvtOperators: [] + nodeOperators: [] + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + withdrawalAddress: '0xfff1ce616cf83327981bf61396ad0c04e0c8b771' + ValidatorTag: + properties: + validatorPubkey: + type: string + title: Validatorpubkey + tagId: + type: string + format: uuid4 + title: Tagid + tagName: + type: string + title: Tagname + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + type: object + required: + - validatorPubkey + - tagId + - tagName + - createdBy + - createdAt + title: ValidatorTag + ValidatorTagIn: + properties: + pubkeys: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Pubkeys + type: object + required: + - pubkeys + title: ValidatorTagIn + WithdrawalType: + enum: + - full + - partial + title: WithdrawalType + description: An enumeration. + WithdrawalsPredicted: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + withdrawalType: + $ref: '#/components/schemas/WithdrawalType' + withdrawableAmount: + type: integer + minimum: 0 + title: Withdrawableamount + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + withdrawalSlot: + type: integer + minimum: 0 + title: Withdrawalslot + withdrawalEpoch: + type: integer + minimum: 0 + title: Withdrawalepoch + type: object + required: + - validatorIndex + - withdrawalType + - withdrawableAmount + - id + - idType + - withdrawalSlot + - withdrawalEpoch + title: WithdrawalsPredicted + example: + id: Lido + idType: pool + validatorIndex: 262966 + withdrawableAmount: 1899013868 + withdrawalEpoch: 194148 + withdrawalSlot: 6212758 + withdrawalType: partial + api__schemas__page__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + granularity: + $ref: '#/components/schemas/GranularityEnum' + filterType: + $ref: '#/components/schemas/FilterTypeEnum' + type: object + title: Page + api__schemas__page__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - timeWindow + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + api__schemas__page_polygon__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_polygon__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_polygon__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page_solana__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_solana__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_solana__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - granularity + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + networks__polygon__granularity__Granularity: + type: string + enum: + - checkpoint + - day + title: Granularity + description: An enumeration. + networks__solana__granularity__Granularity: + enum: + - 3k + - day + - epoch + title: Granularity + description: An enumeration. + servers: + - url: https://api.rated.network +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/realcube-fixed-spec.yaml b/sdks/db/fixed-specs-cache/realcube-fixed-spec.yaml new file mode 100644 index 000000000..ff75e0ce8 --- /dev/null +++ b/sdks/db/fixed-specs-cache/realcube-fixed-spec.yaml @@ -0,0 +1,37184 @@ +publishJson: + company: Realcube + serviceName: false + sdkName: realcube-{language}-sdk + clientName: Realcube + metaDescription: >- + Realcube is the cloud solution for smart and flexible digitilization in real + estate management. Our API-first platform is here to revolutionize the real + estate industry. It is a one-stop-shop for intelligent solutions which are + adaptive to every client's individual needs. + + + Realcube's ecosystem offers a growing number of applications from our + valuable and industry-leading partners which aggregate the customer's data. + It is worth mentioning that we keep our customers' data privacy and + well-being as our top priority. + + At Realcube, we enable the real estate companies and their contractual + partners to consolidate their data in our state-of-the-art platform. This + creates a uniform database that gives access to asset managers and other + management levels to all relevant information at all times, just a click + away! + + + Have we grabbed your interest in our innovative solution for your real + estate management? + + Book a free demo today! + + + For more information feel free to visit our website or contact us at: + + info@realcube.com + apiStatusUrls: inherit + homepage: realcube.com + developerDocumentation: docs.realcube.com/ + categories: + - real_estate +rawSpecString: | + openapi: 3.0.0 + info: + version: 1.0.0 + title: REALCUBE API + description: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). + contact: + name: REALCUBE GmbH + email: uwe.forgber@realcube.com + externalDocs: + description: 'Documentation: Developer Integration Workflow' + url: /api/v1/docs/integration_workflow + security: + - api_key: [] + oauth: + - app_category_read + - app_config_read + - app_config_write + - app_config_destroy + - app_data_repository_read + - app_data_repository_write + - app_data_repository_destroy + - app_subscription_read + - app_subscription_write + - app_subscription_destroy + - app_read + - app_write + - app_destroy + - contract_addition_read + - contract_addition_write + - contract_addition_destroy + - contract_grant_read + - contract_grant_write + - contract_grant_destroy + - contract_membership_cost_read + - contract_membership_cost_write + - contract_membership_cost_destroy + - contract_membership_write + - contract_membership_destroy + - contract_read + - contract_write + - contract_destroy + - cost_type_read + - cost_type_write + - cost_type_destroy + - security_deposit_write + - security_deposit_destroy + - report_account_schema_read + - report_account_schema_write + - report_account_schema_destroy + - report_template_read + - report_template_write + - report_template_destroy + - department_read + - department_write + - department_destroy + - manufacturer_read + - manufacturer_write + - manufacturer_destroy + - room_and_zone_type_read + - room_read + - room_write + - room_destroy + - zone_write + - zone_destroy + - level_read + - level_write + - level_destroy + - facility_read + - facility_write + - facility_destroy + - facility_type_read + - plan_version_write + - plan_version_destroy + - plan_read + - plan_write + - plan_destroy + - plan_config_read + - activity_read + - activity_write + - activity_destroy + - attachment_write + - attachment_destroy + - building_filter_setting_read + - building_filter_setting_write + - building_filter_setting_destroy + - building_save_filter_read + - building_save_filter_write + - building_save_filter_destroy + - building_type_read + - building_unit_membership_write + - building_unit_membership_destroy + - building_unit_type_read + - building_unit_type_write + - building_unit_type_destroy + - building_unit_read + - building_unit_write + - building_unit_destroy + - building_read + - building_write + - building_destroy + - customer_account_config_read + - customer_account_config_write + - customer_account_schema_read + - customer_account_schema_write + - customer_attributes_schema_membership_read + - customer_attributes_schema_membership_write + - customer_attributes_schema_read + - customer_attributes_schema_write + - image_write + - image_destroy + - lot_read + - lot_write + - lot_destroy + - organisation_config_read + - organisation_config_write + - organisation_membership_read + - organisation_membership_write + - organisation_membership_destroy + - organisation_read + - organisation_write + - person_read + - person_write + - person_destroy + - person_membership_write + - person_membership_destroy + - property_read + - property_write + - property_destroy + - property_type_read + - user_write + - user_destroy + - vpi_index_read + - credential_read + - dashboard_config_read + - dashboard_config_write + - dashboard_config_destroy + - time_dependent_attribute_read + - time_dependent_attribute_write + - time_dependent_attribute_destroy + - ep_code_combination_read + - customer_account_write + tags: + - name: users + description: Benutzer + - name: dashboard_configs + description: Dashboard-Konfigurationen + - name: credentials + description: Berechtigungsnachweise + - name: customer_accounts + description: Kundenkonto + - name: customer_account_translations + description: Kundenkontoübersetzungen + - name: customer_account_attribute_groups + description: Kundenkonto-Attributgruppen + - name: customer_account_category_configs + description: Kundenkontokategorie-Konfigurationen + - name: organisations + description: Organisation + - name: organisation_memberships + description: Benutzer Zugehörigkeit zu einer Organisation + - name: organisation_configs + description: Schemakonfiguration zu einer Organisation + - name: plans + description: Pläne + - name: plan_configs + description: Plan-Konfigurationen + - name: plan_versions + description: Plan Versionen + - name: apps + description: Anwendungen + - name: app_categories + description: Anwendungs-Kategorien + - name: app_subscriptions + description: Abonnements für Anwendungen + - name: app_configs + description: Anwendungs-Konfigurationen + - name: app_data_repositories + description: App-Daten-Repository + - name: customer_account_configs + description: Kundenspezifische Konfiguration + - name: customer_attributes_schemas + description: Kundenspezifische Attribute + - name: customer_attributes_schema_memberships + description: Zugehörigkeit der kundenspezifischen Attribute + - name: customer_account_schemas + description: Kundenspezifisches Schema + - name: property_types + description: Liegenschaftstyp + - name: properties + description: Liegenschaft + - name: property_managers + description: Liegenschaft Managers + - name: lots + description: Grundstück + - name: building_types + description: Asset Klasse + - name: building_filter_settings + description: Filtereinstellungen + - name: building_save_filters + description: Filter speichern + - name: buildings + description: Gebäude + - name: building_unit_types + description: Einheit Klasse + - name: building_units_finances + description: Einheit Finanzen + - name: building_units + description: Einheit + - name: building_unit_memberships + description: Zugehörigkeit der Einheit zu Gebäude + - name: people + description: Die Leute + - name: person_memberships + description: Benutzer Zugehörigkeit zu einer Person + - name: contracts + description: Die Verträge + - name: contract_additions + description: Ergänzungen zu einer Contract + - name: contract_grants + description: Zuschüsse zu einer Contract + - name: contract_memberships + description: Benutzer Zugehörigkeit zu einer Contract + - name: contract_membership_costs + description: Mitgliedschaftskosten zu einer Contract Mitgliedschaft + - name: security_deposits + description: Kaution + - name: cost_types + description: Kostenarten + - name: report_templates + description: Die Berichtsvorlagen + - name: report_account_schemas + description: Kontoschema-Bericht + - name: levels + description: Stockwerk + - name: room_and_zone_types + description: Raum- und Flächenart + - name: rooms + description: Raum + - name: zones + description: Fläche + - name: departments + description: Anlagengruppe + - name: manufacturers + description: Hersteller + - name: facility_types + description: Anlagenart + - name: facilities + description: Anlage + - name: activities + description: Vorgänge + - name: activity_types + description: Leistungsarten + - name: attachments + description: Dokumente + - name: images + description: Bilder + - name: time_dependent_attributes + description: Zeitabhängige Attribute + - name: ep_code_combinations + description: EP_code Kombinationen + - name: tenants + description: Mieter + - name: rent_trackers + description: Tracker mieten + - name: roles + description: Rollen + - name: role_policies + description: Rollen Policen + - name: tags + description: Stichworte + - name: platform_configs + description: Plattform Konfigurationen + - name: rent_increase_types + description: Mieterhöhungstypen + - name: rent_increase_indices + description: Mietsteigerungsindizes + - name: task_memberships + description: Task-Mitgliedschaften + - name: task_memberships + description: Task-Mitgliedschaften + - name: rent_increases + description: Mieterhöhungen + - name: emission_factor_settings + description: Emissionsfaktor-Einstellungen + paths: + /v1/platform_configs: + post: + summary: Creates a platform_config within the current organisation + description: Creates a platform_config within the current organisation + tags: + - platform_configs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigCreate' + required: true + responses: + '201': + description: PlatformConfig successfully created + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + get: + summary: Shows the platform_configs + description: Shows the platform_configs + tags: + - platform_configs + responses: + '200': + description: Returns the platform_configs + content: + application/json: + schema: + properties: + platform_configs: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_read + /v1/platform_configs/{platform_config_id}: + put: + summary: Updates an platform_config within the current organisation. + description: >- + Updates an platform_config within the current organisation. Organisation + manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigUpdate' + required: true + responses: + '200': + description: PlatformConfig successfully updated + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + delete: + summary: Marks a platform_config as deleted within the current organisation. + description: >- + Marks a platform_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to delete + required: true + schema: + type: string + responses: + '200': + description: PlatformConfig successfully marked as deleted + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_destroy + /v1/users: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Creates a user. + description: | + # Description + Creates a new user + # Password + Make sure you use a strong password + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + required: true + responses: + '201': + description: Returns the created user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + get: + summary: Returns all users within the given account. + description: >- + Returns all users within the given account. They can be filtered based + on account. + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all users within the given account. + content: + application/json: + schema: + properties: + users: + type: array + items: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_read + /v1/users/log_in: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Login + description: Authenticates user to get the API key or relevant information. + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSignIn' + required: true + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/refresh_token: + get: + security: + - api_key: [] + - oauth: + - user_read + summary: Refresh token + description: Reauthenticate user to get the API key or relevant information. + tags: + - users + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/{user_id}: + put: + summary: Updates the user. + description: Updates the user + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account + required: false + schema: + type: string + - name: user_id + in: path + description: The ID of the user to update + required: true + schema: + type: integer + - name: reset_password_token + in: query + description: The reset token of the user + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + required: true + responses: + '200': + description: User successfully updated + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_write + delete: + summary: Delete the user. + description: Delete the user + tags: + - users + parameters: + - name: user_id + in: path + description: The ID of the user to delete + required: true + schema: + type: integer + responses: + '200': + description: User successfully deleted + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/log_out: + delete: + summary: Invalidates the current api token + description: Invalidates the current api token + tags: + - users + responses: + '200': + description: Returns the signed out user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/reset_password_instructions: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: >- + Sends reset password instructions to the user's email address (in german + & english). + description: >- + Sends reset password instructions to the user's email address (in german + & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserResetPasswordInstructions' + required: true + responses: + '200': + description: Returns the user with email to which the instructions where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/send_invitation: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: Sends invitation to the user's email address (in german & english). + description: Sends invitation to the user's email address (in german & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserInvitations' + required: true + responses: + '200': + description: Returns the user with email to which the invitation where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/roles: + get: + summary: Returns all roles + description: Returns all roles, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all roles + content: + application/json: + schema: + properties: + roles: + type: array + items: + $ref: '#/components/schemas/RoleIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + post: + summary: Creates a Role + description: Creates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreate' + required: true + responses: + '201': + description: Role successfully created + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + /v1/roles/{role_id}: + get: + summary: Shows a Role + description: Shows a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + put: + summary: Updates a Role + description: Updates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + required: true + responses: + '200': + description: Role successfully updated + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + delete: + summary: Deletes the Role + description: Deletes the Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to delete + required: true + schema: + type: integer + responses: + '200': + description: Role successfully deleted + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_destroy + /v1/role_policies: + get: + summary: Returns all Role Policies + description: Returns all role_policies , Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: 'Returns all Role Policies ' + content: + application/json: + schema: + properties: + role_policies: + type: array + items: + $ref: '#/components/schemas/RolePolicyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + post: + summary: Creates a Role Policy + description: | + # Description + Creates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyCreate' + required: true + responses: + '201': + description: Role Policy successfully created + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + /v1/role_policies/{role_policy_id}: + get: + summary: Shows a Role Policy + description: Shows a Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role Policy + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + put: + summary: Updates a Role Policy + description: | + # Description + Updates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyUpdate' + required: true + responses: + '200': + description: Role Policy successfully updated + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + delete: + summary: Deletes the Role Policy + description: Deletes the Role Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to delete + required: true + schema: + type: integer + responses: + '200': + description: Role Policy successfully deleted + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_destroy + /v1/tenants/{boarding_type}: + get: + summary: Shows all tenants + description: Shows all tenants for a specific time range + tags: + - tenants + parameters: + - name: boarding_type + in: path + description: 'The type of boarding: onboarding or offboarding' + required: true + schema: + type: string + enum: + - onboarding + - offboarding + - name: customer_account_id + in: query + description: The id of the customer account + required: true + schema: + type: integer + - name: start_date + in: query + description: The starting date for new tenant + example: '2024-03-29' + schema: + type: string + format: date-time + - name: end_date + in: query + description: The ending date for new tenant + example: '2024-03-30' + schema: + type: string + format: date-time + - name: search_by + in: query + description: Search by object type + schema: + type: string + enum: + - organisation + - property + - building + - building_unit + - name: item_id + in: query + description: Search by object id + schema: + type: integer + responses: + '200': + description: Returns the tenant + content: + application/json: + schema: + properties: + tenant: + $ref: '#/components/schemas/TenantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tenant_read + /v1/customer_account_translations: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_translations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + post: + summary: Creates a customer_account_translation + description: | + # Description + Creates a customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationCreate' + required: true + responses: + '201': + description: CustomerAccountTranslation successfully created + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + /v1/customer_account_translations/{customer_account_translation_id}: + get: + summary: Shows a customer_account_translation + description: Shows a customer_account_translation + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_translation + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + put: + summary: Updates an customer_account_translation + description: | + # Description + Updates an customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationUpdate' + required: true + responses: + '200': + description: CustomerAccountTranslation successfully updated + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + delete: + summary: >- + Deletes the customer_account_translation within the current customer + account. + description: >- + Deletes the customer_account_translation within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountTranslation successfully deleted + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_destroy + /v1/customer_account_attribute_groups: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: search_field + in: query + description: Filter by field + schema: + type: string + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_attribute_groups: + type: array + items: + $ref: '#/components/schemas/CustomerAccountAttributeGroupIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + post: + summary: Creates a customer_account_attribute_group + description: | + # Description + Creates a customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupCreate' + required: true + responses: + '201': + description: CustomerAccountAttributeGroup successfully created + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + get: + summary: Shows a customer_account_attribute_group + description: Shows a customer_account_attribute_group + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_attribute_group + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + put: + summary: Updates an customer_account_attribute_group + description: | + # Description + Updates an customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupUpdate' + required: true + responses: + '200': + description: CustomerAccountAttributeGroup successfully updated + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + delete: + summary: >- + Deletes the customer_account_attribute_group within the current customer + account. + description: >- + Deletes the customer_account_attribute_group within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountAttributeGroup successfully deleted + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_destroy + /v1/ep_code_combinations: + get: + summary: Returns all ep_code_combinations + description: >- + Returns all ep_code_combinations, Organisation manager, building member + 🔒 + tags: + - ep_code_combinations + responses: + '200': + description: Returns all ep_code_combinations + content: + application/json: + schema: + properties: + ep_code_combinations: + $ref: '#/components/schemas/EpCodeCombinationByFacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - ep_code_combination_read + /v1/credentials/me: + get: + summary: Returns user if logged via OAuth + description: | + # Description + Returns user if logged via OAuth + tags: + - credentials + responses: + '200': + description: Returns logged user + content: + application/json: + schema: + properties: + credentials: + type: array + items: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_read + /v1/credentials/auth: + post: + summary: Returns EstateOs token + description: | + # Description + Returns EstateOs token if the logged in user has permissions + tags: + - credentials + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns logged user jwt token + content: + application/json: + schema: + properties: + Authorization: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_write + /v1/dashboard_configs: + post: + summary: Creates a dashboard_config within the current organisation + description: Creates a dashboard_config within the current organisation + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigCreate' + required: true + responses: + '201': + description: DashboardConfig successfully created + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + /v1/dashboard_configs/{customer_account_id}: + get: + summary: Shows the dashboard_configs + description: Shows the dashboard_configs + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer_account to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the dashboard_configs + content: + application/json: + schema: + properties: + dashboard_configs: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_read + put: + summary: Updates an dashboard_config within the current organisation. + description: >- + Updates an dashboard_config within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigUpdate' + required: true + responses: + '200': + description: DashboardConfig successfully updated + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + delete: + summary: Marks a dashboard_config as deleted within the current organisation. + description: >- + Marks a dashboard_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: DashboardConfig successfully marked as deleted + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_destroy + /v1/dashboards: + get: + summary: Return customer account dashboards + description: Return customer account dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: "value1", key2: "value2" } + schema: + type: string + - name: locale + in: query + description: Locale + required: true + schema: + type: string + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}: + get: + summary: Shows a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + put: + summary: Updates a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardUpdate' + required: true + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/synchronise: + get: + summary: Synchronise dashboards + description: Synchronise dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/session_expire: + get: + summary: Expire all sessions for the current user + description: Expire all sessions for the current user + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: locale + in: query + description: The locale of the user + required: true + schema: + type: string + enum: + - en + - de + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}/copy: + put: + summary: Copy a dashboard on looker + description: > + # Description + + Copy a dashboard on looker on the folder specified for the current + account. + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + responses: + '200': + description: Dashboard successfully copied + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/order: + put: + summary: Order dashboards + description: | + # Description + Order dashboards by providing dashboard ids in array + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardOrderUpdate' + required: true + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/explore: + get: + summary: Return customer account explore with url + description: Return customer account explore with url + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + responses: + '200': + description: Returns the explore + content: + application/json: + schema: + properties: + explore: + type: object + properties: + buildings_url: + type: string + units_url: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/apps: + get: + summary: Returns all apps + description: Returns all apps, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all apps + content: + application/json: + schema: + properties: + apps: + type: array + items: + $ref: '#/components/schemas/AppIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + post: + summary: Creates a app + description: Creates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCreate' + required: true + responses: + '201': + description: App successfully created + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + /v1/apps/{app_id}: + get: + summary: Shows a app + description: Shows a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + put: + summary: Updates a app + description: Updates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppUpdate' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app + description: Deletes the app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to delete + required: true + schema: + type: integer + responses: + '200': + description: App successfully deleted + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_categories: + get: + summary: Returns all app's categories + description: Returns all app's categories, Admin, Supervisor 🔒 + tags: + - app_categories + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's categories + content: + application/json: + schema: + properties: + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_category_read + /v1/app_subscriptions: + get: + summary: Returns all app's subscriptions + description: Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's subscriptions + content: + application/json: + schema: + properties: + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + post: + summary: Creates an app's subscription. + description: | + # Description + • Creates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscriptionCreate' + required: true + responses: + '201': + description: App's subscription successfully created + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + /v1/app_subscriptions/{app_subscription_id}: + get: + summary: Shows an app's subscription + description: Shows an app's subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's subscription + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + put: + summary: Updates a app's subscription + description: | + # Description + • Updates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscription' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + delete: + summary: Deletes the subscription + description: Deletes the subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to delete + required: true + schema: + type: integer + responses: + '200': + description: App's subscription successfully deleted + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_destroy + /v1/app_configs: + get: + summary: Returns all app's configs. + description: Returns all app's configs, Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + responses: + '200': + description: Returns all app's configs + content: + application/json: + schema: + properties: + app_configs: + type: array + items: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + post: + summary: Creates an app's config. + description: Creates an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfigCreate' + required: true + responses: + '201': + description: App's config successfully created + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + /v1/app_configs/{app_config_id}: + get: + summary: Shows an app's config. + description: Shows an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's config + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + put: + summary: Updates a app's config. + description: Updates a app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfig' + required: true + responses: + '200': + description: App config successfully updated + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + delete: + summary: Deletes the config. + description: Deletes the config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to delete + required: true + schema: + type: integer + responses: + '200': + description: App's config successfully deleted + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_destroy + /v1/apps/{app_id}/memberships: + post: + summary: Creates a app membership to category + description: Creates a app membership to category, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app membership to create + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCategoryMembershipShow' + required: true + responses: + '201': + description: App Category Membership successfully created + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app category membership + description: Deletes the app category membership, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app category membership to delete + required: true + schema: + type: integer + responses: + '200': + description: App category membership successfully deleted + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_data_repositories: + get: + summary: Returns all subscription's data_repositories. + description: Returns all subscription's data_repositories. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns all app's data_repositories + content: + application/json: + schema: + properties: + app_data_repositories: + type: array + items: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + post: + summary: Creates a app_data_repository + description: Creates a app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryCreate' + required: true + responses: + '201': + description: App's data_repository successfully created + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + /v1/app_data_repositories/latest_version: + get: + summary: Shows an app_data_repository. + description: Shows an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns the app_data_repository + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + /v1/app_data_repositories/{app_data_repository_id}: + put: + summary: Updates an app_data_repository + description: Updates an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryUpdate' + required: true + responses: + '200': + description: App's data_repository successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + delete: + summary: Deletes the app_data_repository. + description: Deletes the app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + responses: + '200': + description: App's data_repository successfully deleted + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_destroy + /v1/plans: + get: + summary: Returns all plans within the given building + description: >- + Returns all plans within the given building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + responses: + '200': + description: Returns all plans within the given building + content: + application/json: + schema: + properties: + plans: + type: array + items: + $ref: '#/components/schemas/PlanIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + post: + summary: Creates a plan + description: >- + Creates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreate' + required: true + responses: + '201': + description: Plan successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + /v1/plans/{plan_id}: + get: + summary: Shows a plan + description: >- + Shows a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the plan + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + put: + summary: Updates a plan + description: >- + Updates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanUpdate' + required: true + responses: + '200': + description: Plan successfully updated + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + delete: + summary: Deletes the plan within the current building + description: >- + Deletes the plan within the current building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan successfully deleted + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_destroy + /v1/plan_configs: + get: + summary: Returns all plan's configs. + description: Returns all plan's configs. Admin, Supervisor 🔒 + tags: + - plan_configs + parameters: + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: | + The type of the parent + Allowed parent_types: ["Organisation", "Building", "Building::Unit"] + required: false + schema: + type: string + responses: + '200': + description: Returns all plan's configs + content: + application/json: + schema: + properties: + plan_configs: + type: array + items: + $ref: '#/components/schemas/PlanConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_config_read + /v1/plan_versions: + post: + summary: Creates a plan + description: >- + Creates a plan, organisation_manager, building_member, plan_member, + plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionCreate' + required: true + responses: + '201': + description: Plan Version successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + /v1/plan_versions/{id}: + put: + summary: Updates a plan version + description: >- + Updates a plan version, organisation_manager, building_member, + plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionUpdate' + required: true + responses: + '200': + description: Plan Version successfully updated + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + delete: + summary: Deletes the plan version within the current plan + description: >- + Deletes the plan version within the current plan, organisation_manager, + building_member, plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan Version successfully deleted + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_destroy + /v1/organisations: + get: + summary: >- + Returns all organisations the authenticated user is member of including + her membership role within each organisation + description: > + Returns all organisations the authenticated user is member of including + her membership role within each organisation + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all organisations the authenticated user is member of + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_read + post: + summary: Creates a organisation of the user for a customer account + description: | + Creates a organisation of the user for a customer account + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account of organisation. + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationCreate' + required: true + responses: + '200': + description: Creates an organisation of the user for a customer account + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + /v1/organisations/{organisation_id}: + put: + summary: Updates an organisation. + description: Updates an organisation. Organisation manager only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationUpdate' + required: true + responses: + '200': + description: Organisation successfully updated + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + delete: + summary: Deletes the organisation. + description: Deletes the organisation. Admin only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to delete + required: true + schema: + type: integer + responses: + '200': + description: Organisation successfully marked as deleted + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_destroy + /v1/organisation_configs: + post: + summary: Creates a config in an organisation for a user. + description: >- + Creates a config in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Config successfully created + content: + application/json: + schema: + properties: + organisation_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + /v1/organisation_configs/{organisation_config_id}: + get: + summary: Returns the config for the current organisation of the user. + description: >- + Returns the config for the current organisation of the user. + Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + responses: + '200': + description: Returns all configs within the given organisation + content: + application/json: + schema: + properties: + organisation_configs: + type: array + items: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_read + put: + summary: Update a configs in an organisation for a user. + description: >- + Update a configs in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + delete: + summary: Deletes the organisation configs. + description: Deletes the organisation configs. Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config to delete + required: true + schema: + type: integer + responses: + '200': + description: Config successfully marked as deleted + content: + application/json: + schema: + properties: + organisations_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_destroy + /v1/organisation_memberships: + get: + summary: Returns all memberships within the given organisation. + description: >- + Returns all memberships within the given organisation. Organisation + manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: current_organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: user_id + in: query + description: ID of the user + required: false + schema: + type: integer + responses: + '200': + description: Returns all memberships within the given organisation + content: + application/json: + schema: + properties: + memberships: + type: array + items: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_read + post: + summary: Creates a membership in an organisation for a user. + description: >- + Creates a membership in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembership' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + /v1/organisation_memberships/{organisations_membership_id}: + put: + summary: Updates the organisation membership. + description: Updates the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + required: true + responses: + '200': + description: Organisation membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + delete: + summary: Deletes the organisation membership. + description: Deletes the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to delete + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_destroy + /v1/customer_accounts/{id}/time_attribute_schema: + put: + summary: Updates a customer_account's time_attribute_schema. + description: >- + Updates a customer account's time_attribute_schema. Account membership + only🔒🔒 + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCreate' + required: true + responses: + '200': + description: Customer account's time_attribute_schema successfully updated + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_write + /v1/customer_accounts: + get: + summary: Gets all user's customer_accounts. + description: Gets all user's customer_accounts. + tags: + - customer_accounts + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_accounts/{id}: + get: + summary: Gets a customer_account. + description: Gets a customer account + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_attributes_schemas: + get: + summary: Returns all customer attributes schemas. + description: Returns all customer attributes schemas. Account manager only🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer attributes schemas + content: + application/json: + schema: + properties: + customer_attributes_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + post: + summary: Creates a customer attributes schema. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema. A created customer attributes + schema can not be + + changed afterwards, but in case you use an existing name for the same + attributes type the version field is + + incremented. + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaCreate' + required: true + responses: + '201': + description: Customer attributes schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_write + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + summary: Shows a customer attributes schema. + description: Shows a customer attributes schema. Account manager only🔒🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_attributes_schema_id + in: path + description: ID of the customer attributes schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + /v1/customer_attributes_schema_memberships: + get: + summary: Returns all customer attributes schema memberships. + description: >- + Returns all customer attributes schema memberships. Account manager + only🔒🔒 + tags: + - customer_attributes_schema_memberships + parameters: + - name: organisation_ids + description: IDs of organisations + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: integer + responses: + '200': + description: Returns all customer attributes schema memberships + content: + application/json: + schema: + properties: + customer_attributes_schema_memberships: + type: array + items: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_read + post: + summary: Creates a customer attributes schema membership. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema membership. For each organisation + it is only possible to have a base + + customer attributes schema and its subsequent versions per attributes + type. + +
+ + Example: + + + + + + + + + + + + + + + + +
Organisation ASchema with name "Schema A", attributes type "building" and version 1
Organisation ASchema with name "Schema A", attributes type "building" and version 2
Organisation ASchema with name "Schema A", attributes type "building_unit" and version 1
+ tags: + - customer_attributes_schema_memberships + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaMembershipCreate' + required: true + responses: + '201': + description: Customer attributes schema membership successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema_membership: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_write + /v1/customer_account_configs: + get: + summary: Return customer account configuration of customer_account + description: Return customer account configuration of customer_account + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: locale + in: query + description: Locale + required: false + schema: + type: string + responses: + '200': + description: Return customer account configuration of customer_account + content: + application/json: + schema: + properties: + customer_account_configs: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_read + post: + summary: Create customer account configuration. + description: Create customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigCreate' + required: true + responses: + '200': + description: Create customer account configuration + content: + application/json: + schema: + properties: + customer_account_config: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_configs/{customer_account_config_id}: + put: + summary: Updates a customer account configuration. + description: Updates a customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_config_id + in: path + description: The ID of the customer account to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigUpdate' + required: true + responses: + '200': + description: Customer account configuration successfully updated + content: + application/json: + schema: + properties: + customer_account_config: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_schemas: + get: + summary: Returns all customer account schemas. + description: Returns all customer account schemas. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer account schemas + content: + application/json: + schema: + properties: + customer_account_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + post: + summary: Create a customer account schema. + description: Create a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaCreate' + required: true + responses: + '201': + description: Customer account schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + summary: Shows a customer account schema. + description: Shows a customer account schema. Account manager only🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + put: + summary: Update a customer account schema. + description: Update a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaUpdate' + required: true + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_categories: + get: + summary: Return customer account categories of customer_account + description: Return customer account categories of customer_account + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: category_id + in: query + description: Filter customer account categories based on category id + required: false + schema: + type: integer + responses: + '200': + description: Return customer account categories of customer_account + content: + application/json: + schema: + properties: + customer_account_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_read + post: + summary: Creates a customer account category + description: | + # Description + Creates a customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + /v1/customer_account_categories/{customer_account_category_id}: + put: + summary: Update the customer account category + description: Update the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryUpdate' + required: true + responses: + '200': + description: Customer account category successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + delete: + summary: Delete the customer account category + description: Delete the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_destroy + /v1/contracts: + get: + summary: Returns all contracts within the given customer account + description: | + # Description + Returns all contracts within the given customer account + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: ids + in: query + description: IDs of the contract + required: false + style: form + explode: false + schema: + type: array + items: + type: integer + - name: building_id + in: query + description: ID of the building related with contract + required: false + schema: + type: integer + - name: unit_id + in: query + description: ID of the unit related with contract + required: false + schema: + type: integer + responses: + '200': + description: Returns all contracts within the given customer account + content: + application/json: + schema: + properties: + contracts: + type: array + items: + $ref: '#/components/schemas/ContractIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + post: + summary: Creates a contract + description: | + # Description + Creates a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractCreate' + required: true + responses: + '201': + description: Contract successfully created + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + /v1/contracts/{contract_id}: + get: + summary: Shows a contract + description: | + # Description + Shows a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the contract + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + put: + summary: Updates an contract + description: | + # Description + Updates an contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractUpdate' + required: true + responses: + '200': + description: Contract successfully updated + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + delete: + summary: Deletes the contract + description: Deletes the contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + responses: + '200': + description: Contract successfully deleted + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_destroy + /v1/contract_memberships/{contract_membership_id}: + delete: + summary: Destroys the contract membership. + description: Destroys the contract membership. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_membership_id + in: path + description: ID of the contract membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_destroy + /v1/contract_memberships: + post: + summary: Creates a membership in contract. + description: Creates a membership in contract. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_write + /v1/contract_membership_costs: + get: + summary: Returns all contract membership costs for current contract membership + description: Returns all contract membership costs for current contract membership + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract membership costs + content: + application/json: + schema: + properties: + contract_membership_costs: + type: array + items: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + post: + summary: Create contract membership cost + description: Create contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Create contract membership cost + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + /v1/contract_membership_costs/{contract_membership_cost_id}: + get: + summary: Shows a contract membership cost + description: Shows a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Return contract membership cost + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + put: + summary: Update a contract membership cost + description: Update a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Contract membership cost successfully updated + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + delete: + summary: Delete the contract membership cost + description: Delete the contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Contract membership cost successfully deleted + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_destroy + /v1/contract_additions: + get: + summary: Returns all contract additions for current contract + description: Returns all contract additions for current contract + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract additions + content: + application/json: + schema: + properties: + contract_additions: + type: array + items: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + post: + summary: Create contract addition + description: Create contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Create contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + /v1/contract_additions/{contract_addition_id}: + get: + summary: Shows a contract addition + description: Shows a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Return contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + put: + summary: Update a contract addition + description: Update a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Contract addition successfully updated + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + delete: + summary: Delete the contract addition + description: Delete the contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Contract addition successfully deleted + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_destroy + /v1/contract_grants: + get: + summary: Returns all contract grants for current contract + description: Returns all contract grants for current contract + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract grants + content: + application/json: + schema: + properties: + contract_grants: + type: array + items: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + post: + summary: Create contract grant + description: Create contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Create contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + /v1/contract_grants/{contract_grant_id}: + get: + summary: Shows a contract grant + description: Shows a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Return contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + put: + summary: Update a contract grant + description: Update a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Contract grant successfully updated + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + delete: + summary: Delete the contract grant + description: Delete the contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Contract grant successfully deleted + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_destroy + /v1/security_deposits: + post: + summary: Creates a security deposit + description: > + # Description + + Creates a security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '201': + description: Security Deposit successfully created + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + /v1/security_deposits/{security_deposit_id}: + put: + summary: Updates an security deposit + description: > + # Description + + Updates an security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + - name: security_deposit_id + in: path + description: The ID of the security deposit to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '200': + description: Security Deposit successfully updated + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + delete: + summary: Deletes the Security Deposit + description: Deletes the Security Deposit + tags: + - security_deposits + parameters: + - name: security_deposit_id + in: path + description: ID of the Security Deposit + required: true + schema: + type: integer + - name: contract_membership_id + in: query + description: The ID of the contract_membership + required: true + schema: + type: integer + responses: + '200': + description: Security Deposit successfully deleted + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_destroy + /v1/cost_types: + get: + summary: Returns all types of costs within the given customer_account + description: Returns all types of costs within the given customer_account + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of costs within the given customer_account + content: + application/json: + schema: + properties: + cost_types: + type: array + items: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + post: + summary: Creates a type of cost + description: | + # Description + Creates a type of cost + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeCreate' + required: true + responses: + '201': + description: Cost type successfully created + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + /v1/cost_types/{id}: + get: + summary: Shows a cost type + description: Shows a cost type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns the cost_type + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + put: + summary: Updates an cost_type + description: Updates an cost_type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type to update + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeUpdate' + required: true + responses: + '200': + description: Cost type successfully updated + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + delete: + summary: Deletes the cost_type + description: Deletes the cost_type + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the cost_type to delete + required: true + schema: + type: integer + responses: + '200': + description: Cost type successfully deleted + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_destroy + /v1/property_types: + get: + summary: Returns all property types currently available + description: Returns all property types currently available + tags: + - property_types + responses: + '200': + description: Returns all property types + content: + application/json: + schema: + properties: + property_types: + type: array + items: + $ref: '#/components/schemas/PropertyType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_type_read + /v1/properties: + get: + summary: >- + Returns all properties for the current organisation within the given + organisation. + description: >- + Returns all properties for the current organisation within the given + organisation. Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the properties to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the properties to show + required: false + schema: + type: string + responses: + '200': + description: >- + Returns all properties for the organisation within the given + organisation + content: + application/json: + schema: + properties: + properties: + type: array + items: + $ref: '#/components/schemas/PropertyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + post: + summary: Creates a property for the current organisation of the user. + description: >- + Creates a property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyCreate' + required: true + responses: + '201': + description: Property successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + /v1/properties/{property_id}: + get: + summary: Returns the property for the current organisation of the user. + description: >- + Returns the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property + required: true + schema: + type: integer + responses: + '200': + description: Returns the property + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + put: + summary: Updates the property for the current organisation of the user. + description: >- + Updates the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyUpdate' + required: true + responses: + '200': + description: Property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + delete: + summary: Deletes the property within the current organisation. + description: >- + Deletes the property within the current organisation. Organisation + manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_destroy + /v1/property_managers: + get: + summary: Returns all property managers within the given customer account. + description: >- + Returns all property managers within the given customer account. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all property managers within the given customer account. + content: + application/json: + schema: + properties: + property_managers: + type: array + items: + $ref: '#/components/schemas/PropertyManagerIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + post: + summary: Creates a property manager for the current customer account. + description: >- + Creates a property manager for the current customer account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerCreate' + required: true + responses: + '201': + description: Property Manager successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + /v1/property_managers/{property_manager_id}: + get: + summary: Returns the property manager for the current account of the user. + description: >- + Returns the property manager for the current account of the user. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager + required: true + schema: + type: integer + responses: + '200': + description: Returns the property manager + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + put: + summary: Updates the property manager for the current account of the user. + description: >- + Updates the property manager for the current account of the user. Admin + and Supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerUpdate' + required: true + responses: + '200': + description: Property Manager successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + delete: + summary: Deletes the property manager within the current account. + description: >- + Deletes the property manager within the current account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property Manager successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_destroy + /v1/lots: + get: + summary: Returns all lots within the given organisation. + description: >- + Returns all lots within the given organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all lots within the given organisation + content: + application/json: + schema: + properties: + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + post: + summary: Creates a lot. + description: Creates a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotCreate' + required: true + responses: + '201': + description: Lot successfully created + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + /v1/lots/{lot_id}: + get: + summary: Shows a lot. + description: Shows a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the lot + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + put: + summary: Updates an lot. + description: Updates an lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotUpdate' + required: true + responses: + '200': + description: Lot successfully updated + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + delete: + summary: Deletes the lot within the current organisation. + description: >- + Deletes the lot within the current organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to delete + required: true + schema: + type: integer + responses: + '200': + description: Lot successfully deleted + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_destroy + /v1/building_filter_settings: + get: + summary: Returns all building filter settings currently available + description: Returns all building filter settings currently available + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + post: + summary: Create building filter settings + description: Create building filter settings + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Create building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + /v1/building_filter_settings/filter_setting_fields: + get: + summary: Returns all building and building unit fields. + description: Returns all building and building unit fields. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building and building unit fields + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettingFields' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + /v1/building_filter_settings/{building_filter_setting_id}: + get: + summary: Shows a building filter setting + description: Shows a building filter setting + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + building_filter_setting: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + put: + summary: Updates a building filter setting. + description: Updates a building filter setting. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting you want to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Building filter setting successfully updated + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + delete: + summary: Deletes the building filter setting within the current customer account. + description: >- + Deletes the building filter setting within the current customer account. + Account manager only🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Building filter setting successfully deleted + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_destroy + /v1/building_save_filters: + get: + summary: Returns all save filters for current user + description: Returns all save filters for current user + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all save filters + content: + application/json: + schema: + properties: + building_save_filter: + type: array + items: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + post: + summary: Create building save filter + description: Create building save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Create save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + /v1/building_save_filters/{building_save_filter_id}: + get: + summary: Shows a save filter + description: Shows a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Return save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + put: + summary: Update a save filter + description: Update a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Save filter successfully updated + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + delete: + summary: Delete the save filter + description: Delete the save filter + tags: + - building_save_filters + parameters: + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Save filter successfully deleted + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_destroy + /v1/building_types: + get: + summary: Returns all building types currently available + description: Returns all building types currently available + tags: + - building_types + responses: + '200': + description: Returns all building types + content: + application/json: + schema: + properties: + building_types: + type: array + items: + $ref: '#/components/schemas/BuildingType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_type_read + /v1/buildings: + get: + summary: Returns all buildings within the given organisation + description: > + # Description + + Returns all buildings within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: presets_standard_fields + in: query + description: > + Filter building with standard fields of building and building_units +
+ { + building: { name: ['name_of_building',...], city: ['Berlin', ...]} + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: false + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building with customer_attributes of building and + building_units
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building: { region: 'Südwest|West', ...} + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: false + schema: + type: object + - name: tags + in: query + description: > + Filter building with tag label related to building and + building_units
+ { + building: ['label_of_a_tag',...] + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building with category label related to building and + building_units
+ { + building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } } + building_unit: { building_unit_places: ['Building unit place 1'] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all buildings within the given organisation + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + presets: + $ref: '#/components/schemas/BuildingPresets' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + post: + summary: Creates a building + description: > + # Description + + Creates a building + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingCreate' + required: true + responses: + '201': + description: Building successfully created + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + /v1/buildings/{building_id}: + get: + summary: Shows a building + description: Shows a building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the building + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShowWithFacilities' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + put: + summary: Updates an building + description: > + # Description + + Updates an building + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUpdate' + required: true + responses: + '200': + description: Building successfully updated + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + delete: + summary: Deletes the building within the current organisation. + description: >- + Deletes the building within the current organisation. Account manager + only🔒🔒 + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to delete + required: true + schema: + type: integer + responses: + '200': + description: Building successfully deleted + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_destroy + /v1/buildings/{building_id}/scorecard_memberships: + get: + summary: List scorecard memberships by building + description: List scorecard memberships by building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + /v1/building_unit_types: + get: + summary: >- + Returns all building unit types for that customer account including + default types + description: >- + Returns all building unit types for that customer account including + default types + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building unit types + content: + application/json: + schema: + properties: + building_unit_types: + type: array + items: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + post: + summary: Create building unit type. + description: Create building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitTypeCreate' + required: true + responses: + '200': + description: Create building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + /v1/building_unit_types/{building_unit_type_id}: + get: + summary: Shows a building unit type + description: Shows a building unit type + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Return building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + put: + summary: Updates a building unit type. + description: Updates a building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully updated + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + delete: + summary: Deletes building unit type within the current customer account. + description: >- + Deletes building unit type within the current customer account. Account + manager only🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully deleted + content: + application/json: + schema: + properties: + building_unit_types: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_destroy + /v1/building_units: + get: + summary: Returns all building units within the given organisation + description: > + # Description + + Returns all building units within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: building_ids + in: query + description: The IDs of building + required: false + example: 1,2,3 + schema: + type: string + - name: presets_standard_fields + in: query + description: | + Filter building units with standard fields
+ { + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: true + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building units with customer_attributes fields
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: true + schema: + type: object + - name: tags + in: query + description: | + Filter units with tag label
+ { + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building units with category label related to building_units +
+ { + building: {} + building_unit: { building_unit_places: ["Building unit place label"] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all building units within the given organisation + content: + application/json: + schema: + properties: + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + post: + summary: Creates a building unit + description: > + # Description + + Creates a building unit + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitCreate' + required: true + responses: + '201': + description: Building unit successfully created + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + /v1/building_units/{building_unit_id}: + get: + summary: Shows a building unit and all memberships of that unit + description: Shows a building unit and all memberships of that unit + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to show + required: true + schema: + type: integer + responses: + '200': + description: Returns building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + put: + summary: Updates the building unit + description: > + # Description + + Updates the building unit + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["quality_of_available_features", + "current_condition", "planned_monthly_rent", "planned_operating_cost", + "planned_total_rent", "planned_deposit", + "heating_costs_in_operating_costs", "quality_of_available_features", + "current_condition"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be updated + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitUpdate' + required: true + responses: + '200': + description: Returns the updated building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + delete: + summary: Destroys the building unit and all memberships of that unit! + description: Destroys the building unit and all memberships of that unit! + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Returns the destroyed building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_destroy + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + summary: Destroys the organisation membership + description: Destroys the organisation membership + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_membership_id + in: path + description: ID of the organisation membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_destroy + /v1/building_unit_memberships: + post: + summary: Creates a membership in building unit + description: Creates a membership in building unit + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_write + /v1/building_energies: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building energies of the building + content: + application/json: + schema: + properties: + building_energies: + type: array + items: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_read + post: + summary: Creates a building energy + description: | + # Description + Creates a building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_energy: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/building_energies/{building_energy_id}: + put: + summary: Update building energy + description: Update building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_energy_id + in: path + description: ID of the building energy to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyUpdate' + required: true + responses: + '200': + description: Building energy successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/buildings_finances: + get: + summary: Return building finances of the building + description: Return building finances of the building + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building finances of the building + content: + application/json: + schema: + properties: + buildings_finances: + type: array + items: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_read + post: + summary: Creates a building finance + description: | + # Description + Creates a building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + buildings_finance: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/buildings_finances/{buildings_finance_id}: + put: + summary: Update building finance + description: Update building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: buildings_finance_id + in: path + description: ID of the building finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceUpdate' + required: true + responses: + '200': + description: Building finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/building_units_finances: + post: + summary: Creates a building unit finance + description: | + # Description + Creates a building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_units_finance: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_units_finances/{building_units_finance_id}: + put: + summary: Update building unit finance + description: Update building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_units_finance_id + in: path + description: ID of the building unit finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceUpdate' + required: true + responses: + '200': + description: Building unit finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_fms: + get: + summary: Return building fms of the building + description: Return building fms of the building + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building fms of the building + content: + application/json: + schema: + properties: + building_fms: + type: array + items: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_read + post: + summary: Creates a building fm + description: | + # Description + Creates a building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_fm: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_fms/{building_fm_id}: + put: + summary: Update building fm + description: Update building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_fm_id + in: path + description: ID of the building fm to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmUpdate' + required: true + responses: + '200': + description: Building fm successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_unit_retails: + get: + summary: Return building unit retails of the building + description: Return building unit retails of the building + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit + content: + application/json: + schema: + properties: + building_unit_retails: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_read + post: + summary: Creates a building unit retail + description: | + # Description + Creates a building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailCreate' + required: true + responses: + '201': + description: Building unit retail successfully created + content: + application/json: + schema: + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retails/{building_unit_retail_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_retail_id + in: path + description: ID of the building unit retail to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retail_metrics: + get: + summary: Return building unit retails of the building unit retail + description: Return building unit retails of the building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit retail + content: + application/json: + schema: + properties: + building_unit_retail_metrics: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_read + post: + summary: Creates a building unit retail metric + description: | + # Description + Creates a building unit retail metric + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricCreate' + required: true + responses: + '201': + description: Building unit retail metric successfully created + content: + application/json: + schema: + properties: + building_unit_retail_metric: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail + required: true + schema: + type: integer + - name: building_unit_retail_metric_id + in: path + description: ID of the building unit retail metric to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_waters: + get: + summary: Return building waters of the building + description: Return building waters of the building + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building waters of the building + content: + application/json: + schema: + properties: + building_waters: + type: array + items: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_read + post: + summary: Creates a building water + description: | + # Description + Creates a building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_water: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/building_waters/{building_water_id}: + put: + summary: Update building water + description: Update building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_water_id + in: path + description: ID of the building water to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterUpdate' + required: true + responses: + '200': + description: Building water successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/addtl_building_ids: + get: + summary: Return addtl building ids of the building + description: Return addtl building ids of the building + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return addtl building ids + content: + application/json: + schema: + properties: + addtl_building_ids: + type: array + items: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_read + post: + summary: Creates a addtl building id + description: | + # Description + Creates a addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + addtl_building_id: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + summary: Update addtl building id + description: Update addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: addtl_building_id_id + in: path + description: ID of the addtl building id to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdUpdate' + required: true + responses: + '200': + description: Addtl building id successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/phases: + get: + summary: Return phases of the building + description: Return phases of the building + tags: + - phases + responses: + '200': + description: Return phases of the building or unit + content: + application/json: + schema: + properties: + phases: + type: array + items: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_read + post: + summary: Creates a phase + description: | + # Description + Creates a phase + tags: + - phases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseCreate' + required: true + responses: + '201': + description: Phase successfully created + content: + application/json: + schema: + properties: + phase: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/phases/{phase_id}: + put: + summary: Update phase + description: Update phase + tags: + - phases + parameters: + - name: phase_id + in: path + description: ID of the phase to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseUpdate' + required: true + responses: + '200': + description: Building phase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/rent_trackers: + post: + summary: Creates a rent_tracker + description: | + # Description + Creates a rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '201': + description: RentTracker successfully created + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + get: + summary: Return rent_trackers + description: Return rent_trackers + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: organisation_id + in: query + description: ID of the organisation + schema: + type: string + - name: unit_ids + in: query + description: IDs of the units + example: 1,2,3 + schema: + type: string + - name: contract_ids + in: query + description: IDs of the contracts + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return rent_trackers + content: + application/json: + schema: + properties: + rent_trackers: + type: array + items: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + /v1/rent_trackers/{rent_tracker_id}: + get: + summary: Return rent_tracker + description: Return rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker + required: true + schema: + type: string + responses: + '200': + description: Returns rent_tracker + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + put: + summary: Update rent_tracker + description: Update rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '200': + description: Building rent_tracker successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + /v1/building_parkings: + get: + summary: Return building parkings of the building + description: Return building parkings of the building + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building parkings of the building + content: + application/json: + schema: + properties: + building_parkings: + type: array + items: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_read + post: + summary: Creates a building parking + description: | + # Description + Creates a building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_parking: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_parkings/{building_parking_id}: + put: + summary: Update building parking + description: Update building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_parking_id + in: path + description: ID of the building parking to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingUpdate' + required: true + responses: + '200': + description: Building parking successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building + content: + application/json: + schema: + properties: + building_areas: + type: array + items: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_area: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_areas/{building_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_unit_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building unit + content: + application/json: + schema: + properties: + building_unit_areas: + type: array + items: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_area: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_areas/{building_unit_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_places: + get: + summary: Return building unit places of the unit + description: Return building unit places of the unit + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit places of the unit + content: + application/json: + schema: + properties: + building_unit_places: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_read + post: + summary: Creates a building unit places + description: | + # Description + Creates a building unit places + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places/{building_unit_place_id}: + put: + summary: Update building unit place + description: Update building unit place + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_place_id + in: path + description: ID of the building unit place to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceUpdate' + required: true + responses: + '200': + description: Building unit place successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places_timeboxeds: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place timeboxes of the unit + content: + application/json: + schema: + properties: + building_unit_places_timeboxeds: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_read + post: + summary: Creates a building unit place timeboxed + description: | + # Description + Creates a building energy + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedCreate' + required: true + responses: + '201': + description: Building unit place timeboxed successfully created! + content: + application/json: + schema: + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + summary: Update building unit place timeboxed + description: Update building unit place timeboxed + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_places_timeboxed_id + in: path + description: ID of the building unit place timeboxed to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedUpdate' + required: true + responses: + '200': + description: Building unit place timeboxed successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_properties: + get: + summary: Return building unit place properties + description: Return building unit place properties + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit place timeboxed + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place properties of the timeboxed + content: + application/json: + schema: + properties: + building_unit_places_properties: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_read + post: + summary: Creates a building unit place property + description: | + # Description + Creates a building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit timeboxed + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyCreate' + required: true + responses: + '201': + description: Building unit place property successfully created! + content: + application/json: + schema: + properties: + building_unit_places_property: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + summary: Update building unit place property + description: Update building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the timeboxed + required: true + schema: + type: integer + - name: building_unit_places_property_id + in: path + description: ID of the building unit place property to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyUpdate' + required: true + responses: + '200': + description: Building unit place property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/people: + get: + summary: Returns all people within the given organisation. + description: >- + Returns all people within the given organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all people within the given organisation + content: + application/json: + schema: + properties: + people: + type: array + items: + $ref: '#/components/schemas/PersonIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + post: + summary: Creates a person. + description: Creates a person. Organisation manager only 🔒 + tags: + - people + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: false + schema: + type: integer + - name: contact + in: query + description: Boolean check if the person is a contact + required: false + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonCreate' + required: true + responses: + '201': + description: Person successfully created + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + /v1/people/{person_id}: + get: + summary: Shows a person. + description: Shows a person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the person + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + put: + summary: Updates an person. + description: Updates an person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonUpdate' + required: true + responses: + '200': + description: Person successfully updated + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + delete: + summary: Deletes the person within the current organisation. + description: >- + Deletes the person within the current organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to delete + required: true + schema: + type: integer + responses: + '200': + description: Person successfully deleted + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_destroy + /v1/report_templates: + get: + summary: Returns all report template for current customer account + description: Returns all report template for current customer account + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report templates + content: + application/json: + schema: + properties: + report_templates: + type: array + items: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + post: + summary: Create report template. + description: Create report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Create report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + /v1/report_templates/{report_template_id}: + get: + summary: Shows a report template + description: Shows a report template + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Return report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + put: + summary: Update a report template. + description: Update a report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Report template successfully updated + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + delete: + summary: Delete the report template. + description: Delete the report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Report template successfully deleted + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_destroy + /v1/report_account_schemas: + get: + summary: Returns all report account schemas for current customer account + description: Returns all report account schemas for current customer account + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report account schemas + content: + application/json: + schema: + properties: + report_account_schemas: + type: array + items: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + post: + summary: Customer account users only 🔒 + description: Create report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Create report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + /v1/report_account_schemas/{report_account_schema_id}: + get: + summary: Shows a report account schema + description: Shows a report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Return report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + put: + summary: Update a report account schema. + description: Update a report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Report account schema successfully updated + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + delete: + summary: Delete the report account schema. + description: Delete the report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Report account schema successfully deleted + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_destroy + /v1/person_memberships: + get: + summary: 'Returns all person_memberships within the given organisation. ' + description: Returns all person_memberships within the given organisation. + tags: + - person_memberships + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: true + schema: + type: integer + - name: member_id + in: query + description: The ID of the member + required: true + schema: + type: integer + - name: member_type + in: query + description: The type of the member + required: true + schema: + type: string + responses: + '200': + description: Returns all person_memberships within the given customer account + content: + application/json: + schema: + properties: + person_memberships: + type: array + items: + $ref: '#/components/schemas/PersonMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_read + post: + summary: Creates a membership in person + description: Creates a membership in person + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_write + /v1/person_memberships/{person_membership_id}: + delete: + summary: Destroys the person membership + description: Destroys the person membership + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_membership_id + in: path + description: ID of the person membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_destroy + /v1/levels: + get: + summary: Returns all levels within the given organisation. + description: >- + Returns all levels within the given organisation. Organisation manager + only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: query + description: The ID of the building + required: false + schema: + type: integer + - name: name + in: query + description: The name of the level + required: false + schema: + type: string + responses: + '200': + description: Returns all levels within the given organisation + content: + application/json: + schema: + properties: + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + post: + summary: Creates a level + description: Creates a level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelCreate' + required: true + responses: + '201': + description: Level successfully created + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + /v1/levels/{level_id}: + put: + summary: Updates an level + description: Updates an level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelUpdate' + required: true + responses: + '200': + description: Level successfully updated + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + delete: + summary: Deletes the level within the current organisation + description: Deletes the level within the current organisation + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to delete + required: true + schema: + type: integer + responses: + '200': + description: Level successfully deleted + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_destroy + get: + summary: Shows a level. + description: Shows a level. Organisation manager only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the level + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + /v1/room_and_zone_types: + get: + summary: Returns all room and area types currently available + description: Returns all room and area types currently available + tags: + - room_and_zone_types + responses: + '200': + description: Returns all room and area types + content: + application/json: + schema: + properties: + room_and_zone_types: + type: array + items: + $ref: '#/components/schemas/RoomAndZoneType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_and_zone_type_read + /v1/rooms: + get: + summary: Returns all rooms within the given organisation + description: Returns all rooms within the given organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all rooms within the given organisation + content: + application/json: + schema: + properties: + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + post: + summary: Creates a room + description: Creates a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomCreate' + required: true + responses: + '201': + description: Room successfully created + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + /v1/rooms/{room_id}: + get: + summary: Shows a room + description: Shows a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the room + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + put: + summary: Updates an room + description: Updates an room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomUpdate' + required: true + responses: + '200': + description: Room successfully updated + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + delete: + summary: Deletes the room within the current organisation + description: Deletes the room within the current organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to delete + required: true + schema: + type: integer + responses: + '200': + description: Room successfully deleted + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_destroy + /v1/zones: + post: + summary: Creates a zone + description: Creates a zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneCreate' + required: true + responses: + '201': + description: Zone successfully created + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + /v1/zones/{zone_id}: + put: + summary: Updates an zone + description: Updates an zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneUpdate' + required: true + responses: + '200': + description: Zone successfully updated + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + delete: + summary: Deletes the zone within the current organisation + description: Deletes the zone within the current organisation + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to delete + required: true + schema: + type: integer + responses: + '200': + description: Zone successfully deleted + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_destroy + /v1/departments: + get: + summary: Returns all departments within the given organisation + description: Returns all departments within the given organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all departments within the given organisation + content: + application/json: + schema: + properties: + departments: + type: array + items: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_read + post: + summary: Creates a department within the current organisation + description: Creates a department within the current organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentCreate' + required: true + responses: + '201': + description: Department successfully created + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + /v1/departments/{department_id}: + put: + summary: Updates an department within the current organisation. + description: >- + Updates an department within the current organisation. Organisation + manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentUpdate' + required: true + responses: + '200': + description: Department successfully updated + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + delete: + summary: Marks a department as deleted within the current organisation. + description: >- + Marks a department as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to delete + required: true + schema: + type: integer + responses: + '200': + description: Department successfully marked as deleted + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_destroy + /v1/manufacturers: + get: + summary: Returns all manufacturers within the given organisation + description: Returns all manufacturers within the given organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all manufacturers within the given organisation + content: + application/json: + schema: + properties: + manufacturers: + type: array + items: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + summary: Creates a manufacturer within the current organisation + description: Creates a manufacturer within the current organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}: + put: + summary: Updates an manufacturer within the current organisation. + description: >- + Updates an manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerUpdate' + required: true + responses: + '200': + description: Manufacturer successfully updated + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + summary: Deletes the manufacturer within the current organisation. + description: >- + Deletes the manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to delete + required: true + schema: + type: integer + responses: + '200': + description: Manufacturer successfully deleted + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/manufacturers/{manufacturer_id}/model_types: + get: + description: Returns all types of models within the given manufacturer + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of models within the given manufacturer + content: + application/json: + schema: + properties: + model_types: + type: array + items: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + description: Creates a model_type + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + put: + description: Updates an model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to update + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeUpdate' + required: true + responses: + '200': + description: Model type successfully updated + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + description: Deletes the model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to delete + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Model type successfully deleted + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/facility_types: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint to show a drop down of all available facility types. + Once a specific facility type is selected you can lazy load the matching + JSON schema via the Facility Types SHOW endpoint. + tags: + - facility_types + responses: + '200': + description: Returns all facility types excluding their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/facility_types_with_schema: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint if you implement an own cache mechanism. The facility + types do only change infrequently. + tags: + - facility_types + responses: + '200': + description: Returns all facility types including their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeWithSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/{facility_type_id}: + get: + summary: Shows a facility type + description: Shows a facility type + tags: + - facility_types + parameters: + - name: facility_type_id + in: path + description: The ID of the facility type to show + required: true + schema: + type: integer + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns the facility type + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facilities: + get: + summary: Returns all facilities within the given organisation + description: |+ + # Description + Returns all facilities within the given organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: custom_id + in: query + description: Filter facilities by custom_id + required: false + schema: + type: string + - name: inventory_number + in: query + description: Filter facilities by inventory_number + required: false + schema: + type: string + - name: serial_number + in: query + description: Filter facilities by serial_number + required: false + schema: + type: string + - name: year_of_construction + in: query + description: Filter facilities by year_of_construction + required: false + schema: + type: string + - name: manufacturer_id + in: query + description: Filter facilities by manufacturer_id + required: false + schema: + type: string + - name: department_id + in: query + description: Filter facilities by department_id + required: false + schema: + type: string + - name: facility_type_id + in: query + description: Filter facilities by facility_type_id + required: false + schema: + type: string + - name: property_id + in: query + description: Filter facilities by property_id + required: false + schema: + type: string + - name: lot_id + in: query + description: Filter facilities by lot_id + required: false + schema: + type: string + - name: building_id + in: query + description: Filter facilities by building_id + required: false + schema: + type: string + - name: level_id + in: query + description: Filter facilities by level_id + required: false + schema: + type: string + - name: room_id + in: query + description: Filter facilities by room_id + required: false + schema: + type: string + - name: zone_id + in: query + description: Filter facilities by zone_id + required: false + schema: + type: string + - name: user_id + in: query + description: Filter facilities by user_id + required: false + schema: + type: string + - name: page + in: query + description: page for pagination by default 0 + required: false + schema: + type: number + - name: per_page + in: query + description: number of items per page by default 50 + required: false + schema: + type: number + responses: + '200': + description: Returns all facilities within the given organisation + content: + application/json: + schema: + properties: + facilities: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + post: + summary: Creates a facility + description: |+ + # Description + Creates a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityCreate' + required: true + responses: + '201': + description: Facility successfully created + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + /v1/facilities/{facility_id}: + get: + summary: Shows a facility + description: |+ + # Description + Shows a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the facility + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + put: + summary: Updates an facility + description: |+ + # Description + Updates an facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to update + required: true + schema: + type: integer + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityUpdate' + required: true + responses: + '200': + description: Facility successfully updated + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + delete: + summary: Deletes the facility within the current organisation + description: |+ + # Description + Deletes the facility within the current organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to delete + required: true + schema: + type: integer + responses: + '200': + description: Facility successfully deleted + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_destroy + /v1/activities: + get: + summary: Returns all activities within the given organisation. + description: >- + Returns all activities within the given organisation. They can be + filtered based on property or building + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: query + description: The ID property to filter the activities. + required: false + schema: + type: string + - name: building_id + in: query + description: The ID of building to filter activities + required: false + schema: + type: string + responses: + '200': + description: Returns all activities within the given organisation. + content: + application/json: + schema: + properties: + activities: + type: array + items: + $ref: '#/components/schemas/ActivityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + post: + summary: Creates an activity + description: >+ + # Description + + Creates an activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityCreate' + required: true + responses: + '201': + description: Activity successfully created + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + /v1/activities/{activity_id}: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: The ID of the activity to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + put: + summary: Update the activity + description: Update the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityUpdate' + required: true + responses: + '200': + description: Activity successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + delete: + summary: Delete the activity + description: Delete the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to delete + required: true + schema: + type: string + responses: + '200': + description: Activity successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_destroy + /v1/activities/{external_id}/reference: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: path + description: The External ID of the activity to show + required: true + schema: + type: string + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + /v1/activity_types: + get: + summary: Returns all activity types + description: Returns all activity types, Admin, Supervisor 🔒 + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current account + required: false + schema: + type: integer + responses: + '200': + description: Returns all activity types + content: + application/json: + schema: + properties: + activity_types: + type: array + items: + $ref: '#/components/schemas/ActivityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + post: + summary: Creates an activity type + description: | + # Description + Creates an activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '201': + description: Activity type successfully created + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + /v1/activity_types/{activity_type_id}: + get: + summary: Shows a activity type + description: | + # Description + Shows a activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity type + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + put: + summary: Update the activity type + description: Update the activity type + tags: + - activity_types + parameters: + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '200': + description: Activity type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + delete: + summary: Delete the activity type + description: Delete the activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Activity type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_destroy + /v1/attachments: + post: + summary: Creates an attachment + description: >+ + # Description + + Creates an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentCreate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/copy: + post: + summary: Duplicate an attachment + description: >+ + # Description + + Duplicate an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentDuplicate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/{attachment_id}: + delete: + summary: Marks an attachment as deleted. + description: >+ + # Description + + Marks an attachment as deleted. + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: attachment_id + in: path + description: The ID of the attachment to delete + required: true + schema: + type: integer + responses: + '200': + description: Attachment successfully marked as deleted + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_destroy + /v1/images: + post: + summary: Creates an image + description: >+ + # Description + + Creates an image + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageCreate' + required: true + responses: + '201': + description: Image successfully created + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + /v1/images/{image_id}: + put: + summary: Updates an image. + description: >+ + # Description + + Updates an image. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageUpdate' + required: true + responses: + '200': + description: Image successfully updated + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + delete: + summary: Marks an image as deleted. + description: >+ + # Description + + Marks an image as deleted. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to delete + required: true + schema: + type: integer + responses: + '200': + description: Image successfully marked as deleted + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_destroy + /v1/time_dependent_attributes: + get: + summary: Returns all time_dependent_attributes within the given parent + description: Returns all time_dependent_attributes within the given parent + tags: + - time_dependent_attributes + parameters: + - name: id + in: query + description: Filter time_dependent_attributes by id. + required: false + schema: + type: string + - name: parent_id + in: query + description: Filter time_dependent_attributes by parent_id. + required: false + schema: + type: string + - name: parent_type + in: query + description: | + Filter time_dependent_attributes by parent_type. + Allowed parent_types: Building, Building::Unit + required: false + schema: + type: string + - name: attribute_key + in: query + description: Filter time_dependent_attributes by attribute_key. + required: false + schema: + type: string + responses: + '200': + description: Returns all time_dependent_attributes within the given parent + content: + application/json: + schema: + properties: + time_dependent_attributes: + type: array + items: + $ref: '#/components/schemas/TimeDependentAttributeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_read + post: + summary: Creates a time_dependent_attribute + description: | + # Description + Creates a time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeCreate' + required: true + responses: + '201': + description: TimeDependentAttribute successfully created + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + put: + summary: Updates an time_dependent_attribute + description: | + # Description + Updates an time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeUpdate' + required: true + responses: + '200': + description: TimeDependentAttribute successfully updated + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + delete: + summary: Deletes the specified time_dependent_attribute + description: Deletes the specified time_dependent_attribute + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to delete + required: true + schema: + type: integer + responses: + '200': + description: TimeDependentAttribute successfully deleted + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_destroy + /v1/webhooks: + get: + summary: Returns all webhooks + description: Returns all webhooks within the given customer account. + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all webhooks within the organisation + content: + application/json: + schema: + properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/WebhookIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + post: + summary: Creates a webhook + description: | + # Description + Creates a new webhook + # URL + The url where the payload will be sent + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + # Modes + testing = 0 , live = 1 + # Organisation IDs + Leaving it empy will send the event to all of the customer account organisations + # Secret + This secret is used to encrypt checksum + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreate' + required: true + responses: + '201': + description: Webhook successfully created + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + /v1/webhooks/{webhook_id}: + get: + summary: Shows a webhook + description: Shows a webhook, Organisation manager 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the webhook + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + put: + summary: Updates a webhook + description: | + # Description + Updates a webhook, Organisation manager 🔒 + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookUpdate' + required: true + responses: + '200': + description: Webhook successfully updated + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + delete: + summary: Deletes the webhook within the current organisation. + description: >- + Deletes the webhook within the current organisation. Organisation + manager only 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: The ID of the webhook to delete + required: true + schema: + type: integer + responses: + '200': + description: Webhook successfully deleted + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_destroy + /v1/tags: + get: + summary: Returns all tags within the given customer account. + description: >- + Returns all tags within the given customer account. It also returns the + count of buildings and units + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: label + in: query + description: Search for the label + required: false + schema: + type: string + responses: + '200': + description: Returns all tags within the given customer account + content: + application/json: + schema: + properties: + tags: + type: array + items: + $ref: '#/components/schemas/TagIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_read + post: + summary: Creates a tag + description: | + # Description + Creates a tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagCreate' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/{tag_id}: + put: + summary: Update the tag + description: Update the tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: ID of the tag you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdate' + required: true + responses: + '200': + description: Tag successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + delete: + summary: Marks a tag as deleted. + description: | + # Description + Marks a tag as deleted. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: The ID of the tag to delete + required: true + schema: + type: integer + responses: + '200': + description: Tag successfully marked as deleted + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_destroy + /v1/tags/merge: + post: + summary: Merges master tags with other tags + description: | + # Description + Master tag is the main tag that get all other tags building or units + Other tags after the merge will be deleted + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeBody' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/assign_buildings: + put: + summary: Assign multiple tags to multiple buildings + description: > + # Description + + Assign multiple tags to multiple buildings + + ATTENTION ⚠️ This will NOT delete previously assigned tags to those + buildings + + If you see more tags they probably are assigned from building + create/update endpoint. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagAssignBuildings' + required: true + responses: + '200': + description: Tags assigned successfully + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/imports: + get: + summary: Return all imports + description: Return all imports + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: is_demo + in: query + description: Filter by is_demo + required: false + schema: + type: boolean + - name: location_type + in: query + description: Filter the imports by type + required: false + schema: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + responses: + '200': + description: Return all imports for the specific customer account + content: + application/json: + schema: + properties: + csv_imports: + type: array + items: + $ref: '#/components/schemas/CsvImportIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + post: + summary: Creates a import by file + description: | + # Description + Creates a new import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportCreate' + required: true + responses: + '201': + description: Csv imported successfully! + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShowCreate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/imports/{import_id}: + get: + summary: Shows information for specific import + description: Shows information for an import. + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the csv import + required: true + schema: + type: integer + responses: + '200': + description: Return an import + content: + application/json: + schema: + properties: + csv_import: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + put: + summary: Update the import + description: Update the import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the import you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportUpdate' + required: true + responses: + '200': + description: Import successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/scorecards: + get: + summary: Returns all scorecards + description: Returns all scorecards within the given customer account. + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all scorecards within the customer account + content: + application/json: + schema: + properties: + scorecards: + type: array + items: + $ref: '#/components/schemas/ScorecardIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + post: + summary: Creates a scorecard + description: > + # Description + + Creates a new scorecard. This only creates a new scorecard. The score + calculation + + is triggered when the scorecard is assigned to a building. Check + scorecard_memberships + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardCreate' + required: true + responses: + '201': + description: Scorecard successfully created + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + /v1/scorecards/{scorecard_id}: + get: + summary: Shows a scorecard + description: Shows a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + put: + summary: Updates a scorecard + description: | + # Description + Updates a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardUpdate' + required: true + responses: + '200': + description: Scorecard successfully updated + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + delete: + summary: Deletes the scorecard within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: The ID of the scorecard to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard successfully deleted + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_destroy + /v1/scorecard_segments: + post: + summary: Creates a scorecard segment + description: | + # Description + Creates a new scorecard segment + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentCreate' + required: true + responses: + '201': + description: Scorecard segment successfully created + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + /v1/scorecard_segments/{scorecard_segment_id}: + put: + summary: Updates a scorecard segment + description: | + # Description + Updates a scorecard segment, Account manager 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: >- + The ID of the scorecard segment (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentUpdate' + required: true + responses: + '200': + description: Scorecard segment successfully updated + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + delete: + summary: Deletes the scorecard segment within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: The ID of the scorecard segment to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard segment successfully deleted + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_destroy + /v1/scorecard_topics: + post: + summary: Creates a scorecard topic + description: | + # Description + Creates a new scorecard topic + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicCreate' + required: true + responses: + '201': + description: Scorecard topic successfully created + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + /v1/scorecard_topics/{scorecard_topic_id}: + put: + summary: Updates a scorecard topic + description: | + # Description + Updates a scorecard topic, Account manager 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: >- + The ID of the scorecard topic (only shows the topic based on current + account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicUpdate' + required: true + responses: + '200': + description: scorecard topic successfully updated + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + delete: + summary: Deletes the scorecard topic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: The ID of the scorecard topic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard topic successfully deleted + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_destroy + /v1/scorecard_subtopics: + post: + summary: Creates a scorecard subtopic + description: | + # Description + Creates a new scorecard subtopic + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicCreate' + required: true + responses: + '201': + description: Scorecard subtopic successfully created + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + put: + summary: Updates a scorecard subtopic + description: | + # Description + Updates a scorecard subtopic, Account manager 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: >- + The ID of the scorecard subtopic (only shows the subtopic based on + current account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicUpdate' + required: true + responses: + '200': + description: scorecard subtopic successfully updated + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + delete: + summary: Deletes the scorecard subtopic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: The ID of the scorecard subtopic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard subtopic successfully deleted + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_destroy + /v1/scorecard_memberships/de_assign: + post: + summary: De-assigns scorecard memberships from scorecard + description: | + # Description + De-assigns scorecard memberships from scorecard + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipDeAssign' + required: true + responses: + '201': + description: Scorecard membership de-assigned successfully + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships: + get: + summary: 'Returns all scorecard memberships within the given account. ' + description: Returns all scorecard memberships within the given account. + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter memberships + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard_memberships within the given customer account + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + post: + summary: Creates a scorecard membership + description: | + # Description + Creates a new scorecard membership + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCreate' + required: true + responses: + '201': + description: Scorecard membership successfully created + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/{scorecard_membership_id}: + get: + summary: Shows a scorecard membership + description: Shows a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + delete: + summary: Deletes the scorecard membership within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: The ID of the scorecard membership to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard membership successfully deleted + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_destroy + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + summary: Refresh a scorecard membership + description: Refresh a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + /v1/scorecard_memberships/refresh_by_scorecard: + post: + summary: Refresh scores for specific scorecard/s + description: Refresh scores for specific scorecard/s + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByScorecard' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/refresh_all_by_parent: + post: + summary: Refresh all scorecards by parent + description: Refresh all scorecards by parent + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByParent' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/calculated_costs: + post: + summary: Calculated costs of scorecard memberships + description: >- + Return calculated costs of scorecard memberships, Customer account + manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + calculated_costs: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipCostResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/count_buildings: + post: + summary: Get number of buildings by providing scorecard ids + description: >- + Get number of buildings by providing scorecard ids, Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + scorecard_membership: + type: array + items: + $ref: '#/components/schemas/CountBuildingsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_assigners: + get: + summary: 'Returns all scorecard assigners within the given account. ' + description: Returns all scorecard assigners within the given account. + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter assigners + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard assigners within the given customer account + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + post: + summary: Creates a scorecard assigner + description: | + # Description + Creates a new scorecard assigner + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardAssignerCreate' + required: true + responses: + '201': + description: Scorecard assigner successfully created + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_write + /v1/scorecard_assigners/{scorecard_assigner_id}: + get: + summary: Shows a scorecard assigner + description: Shows a scorecard assigner, Customer account manager 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: >- + The ID of the scorecard assigner (only shows the scorecards based on + current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard assigner + content: + application/json: + schema: + properties: + scorecard_assigners: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + delete: + summary: Deletes the scorecard assigner within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: The ID of the scorecard assigner to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard assigner successfully deleted + content: + application/json: + schema: + properties: + scorecard_assigner: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_destroy + /v1/data_catalogs: + get: + summary: Returns all data catalogs + description: Returns all data catalogs within the given customer account. + tags: + - data_catalogs + parameters: + - name: locale + in: query + description: The locale for filtering the data catalogs. + required: false + schema: + type: string + enum: + - en + - de + - name: app_ids + in: path + description: The ids of the apps for filtering the data catalogs. + required: true + schema: + type: string + responses: + '200': + description: Returns all data catalogs within the app + content: + application/json: + schema: + properties: + data_catalog: + type: array + items: + $ref: '#/components/schemas/DataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + post: + summary: Creates a data catalog + description: | + # Description + Creates a new catalog + tags: + - data_catalogs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogCreate' + required: true + responses: + '201': + description: data_catalog successfully created + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + /v1/data_catalogs/{data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the data_catalogs based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + put: + summary: Updates a data_catalog + description: | + # Description + Updates a data_catalog, Organisation manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog (only shows the data catalog) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogUpdate' + required: true + responses: + '200': + description: Data catalog successfully updated + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + delete: + summary: Deletes the data catalog within the current app. + description: >- + Deletes the data_catalog within the current account. Customer account + manager only 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog to delete + required: true + schema: + type: integer + responses: + '200': + description: Data catalog successfully deleted + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_destroy + /v1/raw_data_catalogs: + get: + summary: Returns all raw data catalogs + description: Returns all raw data catalogs within the given customer account. + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: limit + in: query + description: >- + Limit the number of results to return, if null then return all + results + required: false + schema: + type: integer + - name: order_by + in: query + description: >- + The ordering of the results returned, if null then will return not + ordered results. + Possible columns: app_id, status, version, + Possible order: asc, desc + required: false + example: app_id.desc, status.desc, version.desc + schema: + type: string + responses: + '200': + description: Returns all raw data catalogs within the app + content: + application/json: + schema: + properties: + raw_data_catalog: + type: array + items: + $ref: '#/components/schemas/RawDataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: raw_data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the raw_data_catalogs based + on current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + RawDataCatalog: + $ref: '#/components/schemas/RawDataCatalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/rent_increase_types: + post: + summary: Creates a rent_increase_type (Admin only) + description: | + # Description + Creates a rent_increase_type + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '201': + description: RentIncreaseType successfully created + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + get: + summary: Return rent_increase_types + description: Return rent_increase_types + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent_increase_types + content: + application/json: + schema: + properties: + rent_increase_types: + type: array + items: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + /v1/rent_increase_types/{rent_increase_type_id}: + get: + summary: Return rent_increase_type + description: Return rent_increase_type + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_type + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + put: + summary: Update rent_increase_type + description: | + # Description + Update rent_increase_type (Admin only) + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '200': + description: Building rent_increase_type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + delete: + summary: Delete a rent_increase_type (Admin only) + description: | + # Description + Delete a rent_increase_type. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_type_id + in: path + description: The ID of the rent_increase_type to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_type successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_destroy + /v1/rent_increase_indices: + post: + summary: Creates a rent_increase_index (Admin only) + description: | + # Description + Creates a rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '201': + description: RentIncreaseIndex successfully created + content: + application/json: + schema: + properties: + rent_increase_indices: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + get: + summary: Return rent_increase_indices + description: Return rent_increase_indices + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: query + description: ID of the rent_increase_type + schema: + type: integer + - name: date + in: query + description: Date of the rent_increase_index + schema: + type: string + format: date + - name: subtype + in: query + description: Subtype (building_type) of the rent_increase + schema: + type: string + responses: + '200': + description: Return rent_increase_indices + content: + application/json: + schema: + properties: + rent_increase_indices: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + /v1/rent_increase_indices/{rent_increase_index_id}: + get: + summary: Return rent_increase_index + description: Return rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_index + content: + application/json: + schema: + properties: + rent_increase_index: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + put: + summary: Update rent_increase_index + description: | + # Description + Update rent_increase_index (Admin only) + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '200': + description: Building rent_increase_index successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + delete: + summary: Delete a rent_increase_index (Admin only) + description: | + # Description + Delete a rent_increase_index. + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: The ID of the rent_increase_index to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_index successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_destroy + /v1/task_memberships: + post: + summary: Creates a task_membership + description: | + # Description + Creates a task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '201': + description: TaskMembership successfully created + content: + application/json: + schema: + properties: + task_membership: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + get: + summary: Return task_memberships + description: Return task_memberships + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_ids + in: query + description: IDs of the tasks + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return task_memberships + content: + application/json: + schema: + properties: + task_memberships: + type: array + items: + $ref: '#/components/schemas/TaskMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_read + /v1/task_memberships/{task_membership_id}: + delete: + summary: Delete the task_membership + description: Delete the task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership you want to delete + required: true + schema: + type: string + responses: + '200': + description: TaskMembership successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_destroy + put: + summary: Update task_membership + description: Update task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '200': + description: Building task_membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + /v1/rent_increases: + post: + summary: Creates a rent's increase (Admin only) + description: | + # Description + Creates a rent's increase + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseCreate' + required: true + responses: + '201': + description: RentIncrease successfully created + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + get: + summary: Return rent's increases + description: Return rent's increases + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent's increases + content: + application/json: + schema: + properties: + rent_increases: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + /v1/rent_increases/{rent_increase_id}/apply: + put: + summary: Apply rent' increase + description: | + # Description + Apply rent_increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + - name: apply + in: query + required: true + schema: + type: boolean + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + /v1/rent_increases/{rent_increase_id}: + get: + summary: Return rent's increase + description: Return rent's increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase + required: true + schema: + type: integer + responses: + '200': + description: Returns rent' increase + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + put: + summary: Update rent' increase + description: | + # Description + Update rent_increase (Admin only) + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncrease' + required: true + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + delete: + summary: Delete a rent_increase (Admin only) + description: | + # Description + Delete a rent_increase. + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_id + in: path + description: The ID of the rent_increase to delete + required: true + schema: + type: integer + responses: + '200': + description: Rent's increase successfully deleted + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_destroy + /v1/emission_factor_settings/update: + post: + summary: Updates an EmissionFactorSetting + description: Updates an EmissionFactorSetting within account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingUpdate' + required: true + responses: + '200': + description: EmissionFactorSetting successfully updated + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings: + get: + summary: Returns all EmissionFactorSettings within the given account + description: Returns all EmissionFactorSettings within the given account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns all EmissionFactorSettings within the given account + content: + application/json: + schema: + properties: + emission_factor_settings: + type: array + items: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + post: + summary: Creates an EmissionFactorSetting + description: Creates an EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingCreate' + required: true + responses: + '201': + description: EmissionFactorSetting successfully created + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings/{emission_factor_setting_id}: + get: + summary: Shows a EmissionFactorSetting + description: Shows a EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns the EmissionFactorSetting + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + delete: + summary: Deletes the EmissionFactorSetting within the account. + description: Deletes the EmissionFactorSetting within the account. + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: EmissionFactorSetting successfully deleted + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_destroy + /v1/customer_account_category_configs: + post: + summary: Creates a customer account category config + description: | + # Description + Creates a customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigCreate' + required: true + responses: + '201': + description: Customer account category config successfully created + content: + application/json: + schema: + properties: + customer_account_category_config: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + /v1/customer_account_category_configs/{customer_account_category_config_id}: + put: + summary: Update the customer account category config + description: Update the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigUpdate' + required: true + responses: + '200': + description: Customer account category config successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + delete: + summary: Delete the customer account category config + description: Delete the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category config successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_destroy + servers: + - url: api.realcube.com/api + components: + parameters: + current_organisation_id: + name: current_organisation_id + in: query + description: ID of the current organisation + required: true + schema: + type: integer + requestBodies: + ContractMembershipCostCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCostCreate' + required: true + ActivityTypeCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeCreate' + required: true + ContractAdditionCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractAdditionCreate' + required: true + BuildingFilterSettingsCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFilterSettingsCreate' + required: true + SecurityDepositCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityDepositCreate' + required: true + TaskMembership: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembership' + required: true + RentIncreaseType: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseType' + required: true + OrganisationConfigCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationConfigCreate' + required: true + ContractGrantCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractGrantCreate' + required: true + BuildingSaveFiltersCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingSaveFiltersCreate' + required: true + RentTrackerCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerCreate' + required: true + ReportTemplateCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportTemplateCreate' + required: true + ReportAccountSchemaCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportAccountSchemaCreate' + required: true + ScorecardMembershipCost: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCost' + required: true + RentIncreaseIndices: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndices' + required: true + securitySchemes: + api_key: + type: apiKey + name: X-Api-Key + in: header + oauth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + scopes: + app_category_read: Get the app categories + app_config_read: Get the app_configs + app_config_write: Create or edit an app_config + app_config_destroy: Delete the app_config + app_data_repository_read: Get the app_data_repositories + app_data_repository_write: Create or edit an app_data_repository + app_data_repository_destroy: Delete the app_data_repository + app_subscription_read: Get the app_subscriptions + app_subscription_write: Create or edit an app_subscription + app_subscription_destroy: Delete the app_subscription + app_read: Get the apps + app_write: Create or edit an app + app_destroy: Delete the app + contract_addition_read: Get the contract_additions + contract_addition_write: Create or edit an contract_addition + contract_addition_destroy: Delete the contract_addition + contract_grant_read: Get the contract_grants + contract_grant_write: Create or edit an contract_grant + contract_grant_destroy: Delete the contract_grant + contract_membership_cost_read: Get the contract_membership_costs + contract_membership_cost_write: Create or edit an contract_membership_cost + contract_membership_cost_destroy: Delete the contract_membership_cost + contract_membership_write: Create or edit an contract_membership + contract_membership_destroy: Delete the contract_membership + contract_read: Get the contracts + contract_write: Create or edit an contract + contract_destroy: Delete the contract + cost_type_read: Get the cost_types + cost_type_write: Create or edit an cost_type + cost_type_destroy: Delete the cost_type + security_deposit_write: Create or edit an security_seposit + security_deposit_destroy: Delete the security_seposit + report_account_schema_read: Get the report_account_schemas + report_account_schema_write: Create or edit an report_account_schema + report_account_schema_destroy: Delete the report_account_schema + report_template_read: Get the report_templates + report_template_write: Create or edit the report_template + report_template_destroy: Delete the report_template + department_read: Get the departments + department_write: Create or edit an department + department_destroy: Delete the department + manufacturer_read: Get the manufacturers + manufacturer_write: Create or edit an manufacturer + manufacturer_destroy: Delete the manufacturer + room_and_zone_type_read: Get room_and_zone_types + room_read: Get the rooms + room_write: Create or edit an room + room_destroy: Delete the room + zone_write: Create or edit an zone + zone_destroy: Delete the zone + level_read: Get level + level_write: Create or edit an facility_type + level_destroy: Delete the facility_type + facility_read: Get facility + facility_write: Create or edit an facility_type + facility_destroy: Delete the facility_type + facility_type_read: Get the facility_types + plan_version_write: Create or edit an plan_version + plan_version_destroy: Delete the plan_version + plan_read: Get the plans + plan_write: Create or edit an plan + plan_destroy: Delete the plan + plan_config_read: Get the config of a plan + activity_read: Fetch activities + activity_write: Create and edit an activity + activity_destroy: Delete the activity + attachment_write: Create or edit an attachment + attachment_destroy: Delete the attachment + building_filter_setting_read: Get the building_filter_settings + building_filter_setting_write: Create or edit an building_filter_setting + building_filter_setting_destroy: Delete the building_filter_setting + building_save_filter_read: Get the building_save_filters + building_save_filter_write: Create or edit an building_save_filter + building_save_filter_destroy: Delete the building_save_filter + building_type_read: Get the building_types + building_unit_membership_write: Create or edit an building_unit_membership + building_unit_membership_destroy: Delete the building_unit_membership + building_unit_type_read: Get the building_unit_types + building_unit_type_write: Create or edit an building_unit_type + building_unit_type_destroy: Delete the building_unit_type + building_unit_read: Get the building_units + building_unit_write: Create or edit an building_unit + building_unit_destroy: Delete the building_unit + building_read: Get the buildings + building_write: Create or edit an building + building_destroy: Delete the building + customer_account_config_read: Get the customer_account_configs + customer_account_config_write: Create or edit an customer_account_config + customer_account_schema_read: Get the customer_account_schemas + customer_account_schema_write: Create or edit an customer_account_schema + customer_attributes_schema_membership_read: Get the customer_attributes_schema_memberships + customer_attributes_schema_membership_write: Create or edit an customer_attributes_schema_membership + customer_attributes_schema_read: Get the customer_attributes_schemas + customer_attributes_schema_write: Create or edit an customer_attributes_schema + image_write: Create or edit the image + image_destroy: Delete the image + lot_read: Get the lots + lot_write: Create or edit an lot + lot_destroy: Delete the lot + organisation_config_read: Get the organisation_configs + organisation_config_write: Create or edit an organisation_config + organisation_membership_read: Get the organisation_memberships + organisation_membership_write: Create or edit an organisation_membership + organisation_membership_destroy: Delete the organisation_membership + organisation_read: Get the organisations + organisation_write: Create or edit an organisation + person_read: Get the people + person_write: Create or edit an person + person_destroy: Delete the person + person_membership_write: Create or edit an person_membership + person_membership_destroy: Delete the person_membership + property_read: Get the properties + property_write: Create or edit an property + property_destroy: Delete the property + property_type_read: Get the property_types + user_write: Log In or edit, or reset password for an user + user_destroy: Log out + vpi_index_read: Get the vpi_index + credential_read: Get oauth credentials + dashboard_config_read: Get dashboard config for an account + dashboard_config_write: Add or edit the dashboard config for an account + dashboard_config_destroy: Remove the dashboard config for an account + time_dependent_attribute_read: Get time_dependent_attribute for an account + time_dependent_attribute_write: Add or edit the time_dependent_attribute for an account + time_dependent_attribute_destroy: Remove the time_dependent_attribute for an account + ep_code_combination_read: Get the ep_code_combinations + customer_account_write: '' + schemas: + PlatformConfig: + type: object + properties: + landing_page_marketing: + type: object + properties: + headline: + type: string + button_title: + type: string + button_link: + type: string + button_displayed: + type: boolean + image: + type: string + body: + type: string + PlatformConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + PlatformConfigCreate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + PlatformConfigUpdate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + User: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + format: email + phone: + type: string + locale: + type: string + enum: + - de + - en + - gsw + user_settings: + type: object + UserShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - last_editor + properties: + thumbnail_url: + type: string + last_editor: + $ref: '#/components/schemas/User' + UserEmail: + properties: + email: + type: string + UserCreate: + allOf: + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + redirect_url: + type: string + role_policy_ids: + type: array + items: {} + UserUpdate: + allOf: + - $ref: '#/components/schemas/User' + - properties: + password: + type: string + current_password: + type: string + role_policy_ids: + type: array + items: {} + UserResetPasswordInstructions: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserInvitations: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserSignIn: + required: + - email + - password + properties: + email: + type: string + format: email + password: + type: string + UserSignedIn: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - api_key + properties: + role: + type: string + enum: + - admin + - client + api_key: + type: string + thumbnail_url: + type: string + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserWithRefreshedToken: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - api_key + - first_name + - last_name + - email + properties: + api_key: + type: string + Role: + type: object + properties: + name: + type: string + description: + type: string + role_policy_maps_attributes: + type: array + items: + type: object + properties: + id: + type: number + role_policy_id: + type: number + _destroy: + type: string + RoleShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RoleCreate: + allOf: + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + RoleUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RoleIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + RolePolicy: + type: object + properties: + name: + type: string + description: + type: string + rules: + type: object + RolePolicyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RolePolicyCreate: + allOf: + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + RolePolicyUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RolePolicyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Tenant: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + TenantContract: + type: object + properties: + id: + type: string + start_date: + type: string + end_date: + type: string + TenantUnit: + type: object + properties: + id: + type: string + name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + province: + type: string + country: + type: string + zip_code: + type: string + latitude: + type: string + longitude: + type: string + TenantShow: + allOf: + - $ref: '#/components/schemas/Tenant' + - required: [] + properties: + contract: + $ref: '#/components/schemas/TenantContract' + unit: + $ref: '#/components/schemas/TenantUnit' + CustomerAccountTranslation: + type: object + properties: + language: + type: string + value: + type: string + field: + type: string + parent_id: + type: string + parent_type: + type: string + CustomerAccountTranslationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountTranslationCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - required: + - name + - user + - last_editor + - organisation + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + CustomerAccountAttributeGroup: + type: object + properties: + name: + type: string + fields: + type: array + items: + type: string + read_only: + type: boolean + parent_type: + type: string + CustomerAccountAttributeGroupShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountAttributeGroupCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - required: + - name + - user + - last_editor + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + EpCodeCombination: + type: object + properties: + facility_type_id: + type: integer + ep_code: + type: string + repetition: + type: integer + EpCodeCombinationByFacilityType: + allOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/EpCodeCombinationIndex' + - required: + - facility_type_id + EpCodeCombinationIndex: + allOf: + - type: array + items: + $ref: '#/components/schemas/EpCodeCombination' + - required: + - facility_type_id + DashboardConfig: + type: object + properties: + aws_settings: + type: object + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_region: + type: string + aws_account_id: + type: string + dashboard_id: + type: string + identity_type: + type: string + enum: + - QUICKSIGHT + - IAM + - ANONYMOUS + DashboardConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + properties: + customer_account: + type: array + items: + $ref: '#/components/schemas/CustomerAccountLightShow' + embed_dashboard: + type: object + properties: + embed_url: + type: string + status: + type: number + request_id: + type: string + DashboardConfigCreate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + DashboardConfigUpdate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + Dashboard: + type: object + properties: + name: + type: string + description: + type: string + looker_item: + type: string + looker_config: + type: object + position: + type: integer + show_dashboard: + type: boolean + DashboardShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Dashboard' + - required: + - looker_embed_url + properties: + looker_embed_url: + type: string + customer_account_id: + type: integer + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + DashboardIndex: + allOf: + - $ref: '#/components/schemas/Dashboard' + - properties: + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + looker_embed_url: + type: string + customer_account_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + DashboardUpdate: + allOf: + - required: + - show_dashboard + properties: + name: + type: string + description: + type: string + looker_item: + type: string + show_dashboard: + type: boolean + DashboardOrderUpdate: + allOf: + - required: + - dashboard_ids + properties: + dashboard_ids: + type: array + items: + type: integer + App: + type: object + properties: + name: + type: string + currency: + type: string + short_name: + type: string + logo_base64: + type: string + logo_filename_with_extension: + type: string + data_partner_interface: + type: string + default_retail_price: + type: integer + default_retail_currency: + type: string + default_realcube_price: + type: integer + default_realcube_currency: + type: string + default_price_category: + type: string + default_data_lifetime: + type: integer + catalog_update_frequency: + type: integer + data_partner_base_url: + type: string + data_partner_score_url: + type: string + AppShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCreate: + allOf: + - $ref: '#/components/schemas/App' + - required: + - name + - currency + AppUpdate: + allOf: + - $ref: '#/components/schemas/App' + AppIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCategory: + type: object + properties: + name: + type: string + AppCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppCategory' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + apps: + type: array + items: + $ref: '#/components/schemas/App' + AppSubscription: + type: object + properties: + name: + type: string + description: + type: string + periodicity: + type: string + price: + type: number + AppSubscriptionCreate: + allOf: + - properties: + app_id: + type: integer + name: + type: string + enum: + - Free Tier + - Premium + periodicity: + type: string + enum: + - month + - year + - $ref: '#/components/schemas/AppSubscription' + AppSubscriptionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppSubscription' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + required: + - name + - price + - periodicity + AppConfig: + type: object + properties: + organisation_ids: + type: array + items: + type: integer + AppConfigCreate: + properties: + organisation_ids: + type: array + items: + type: integer + app_subscription_id: + type: integer + AppConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + AppCategoryMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - app_id + - app_category_id + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/App' + app_category: + $ref: '#/components/schemas/AppCategory' + AppDataRepository: + type: object + properties: + app_data: + type: object + AppDataRepositoryCreate: + type: object + properties: + app_data: + type: object + app_subscription_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + AppDataRepositoryUpdate: + type: object + properties: + app_data: + type: object + AppDataRepositoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppDataRepository' + - required: + - app_data + - app_subscription_id + properties: + app_data: + properties: + example: + type: object + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + Plan: + type: object + properties: + name: + type: string + trade: + type: string + enum: + - AA + - AR + - BA + - BD + - BG + - BP + - DV + - ET + - EW + - FA + - FT + - HT + - IA + - KP + - KT + - LP + - MT + - SB + - SI + - ST + - TE + - TG + - TW + - VE + - VM + - VP + - VT + plan_type: + type: string + enum: + - AA + - AB + - AF + - AM + - AP + - AU + - BA + - BC + - BE + - BG + - BL + - BM + - BN + - BP + - BS + - BT + - BW + - BZ + - DE + - DP + - DS + - DT + - EB + - EL + - EP + - ER + - ET + - EW + - FA + - FS + - FL + - FN + - FT + - FW + - GR + - HH + - HL + - HP + - HZ + - IP + - KA + - KL + - KM + - KO + - KP + - KW + - LA + - LE + - LF + - LG + - ME + - MS + - MT + - NL + - NS + - PP + - PZ + - RW + - SA + - SB + - SI + - SK + - SP + - SS + - SW + - TH + - TK + - TV + - UB + - VK + - VL + - VM + - VS + - VT + - WA + - WP + - AS + - MO + - BD + - PF + - TP + - MF + planning_phase: + type: string + enum: + - '00' + - '10' + - '20' + - '30' + - '40' + - '50' + - '60' + - '70' + - '80' + - '90' + - AQ + - WE + - XX + presentation: + type: string + enum: + - GR + - SC + - AN + - XX + - PE + - SH + - VI + plan_content: + type: string + floor: + type: string + description: + type: string + PlanShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanCreate: + allOf: + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + PlanUpdate: + allOf: + - $ref: '#/components/schemas/Plan' + PlanIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - building + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanConfig: + type: object + properties: + current_filename_config: + type: object + parent_type: + type: string + PlanConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlanConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + PlanVersion: + type: object + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + PlanVersionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - status + properties: + version: + type: string + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + PlanVersionCreate: + allOf: + - required: + - status + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + version: + type: string + PlanVersionUpdate: + allOf: + - required: + - status + properties: + version: + type: string + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + Organisation: + type: object + properties: + name: + type: string + description: + type: string + comment: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + OrganisationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - properties: + customer_accounts: + $ref: '#/components/schemas/CustomerAccountShow' + - required: + - name + - organisation_memberships + - last_editor + properties: + organisation_memberships: + $ref: '#/components/schemas/OrganisationMembershipShow' + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + nullable: true + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + OrganisationCreate: + allOf: + - $ref: '#/components/schemas/Organisation' + - required: + - name + OrganisationUpdate: + allOf: + - $ref: '#/components/schemas/Organisation' + OrganisationConfig: + type: object + required: + - id + - building + - building_unit + - user + - organisation + - last_editor + properties: + id: + type: integer + building: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserShow' + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + deleted_at: + type: string + format: date-time + OrganisationConfigCreate: + properties: + building: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + OrganisationMembership: + type: object + required: + - id + - user + - organisation + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + OrganisationMembershipCreate: + allOf: + - type: object + required: + - user_id + properties: + user_id: + type: integer + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + OrganisationMembershipCreateFromEmail: + type: object + required: + - email + properties: + email: + type: string + format: email + permitted_building_ids: + type: array + items: {} + OrganisationMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/OrganisationMembership' + - type: object + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationMembershipUpdate: + allOf: + - type: object + properties: + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + CustomerAccount: + properties: + time_attribute_schema: + type: object + properties: + building: + type: array + items: {} + unit: + type: array + items: {} + CustomerAccountShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountLightShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + has_contract: + type: boolean + demo_account: + type: boolean + demo_expires_at: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccount' + CustomerAttributesSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_de: + type: object + json_schema_en: + type: object + CustomerAttributesSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_en: + type: object + json_schema_de: + type: object + required: + - name + - version + - attributes_type + - json_schema + CustomerAttributesSchemaCreate: + allOf: + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + required: + - name + - attributes_type + - json_schema_de + - json_schema_en + CustomerAttributesSchemaMembership: + type: object + properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchema' + CustomerAttributesSchemaMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAttributesSchemaMembership' + - required: + - organisation + - customer_attributes_schema + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + CustomerAttributesSchemaMembershipCreate: + type: object + properties: + organisation_id: + type: integer + customer_attributes_schema_id: + type: integer + required: + - organisation_id + - customer_attributes_schema_id + CustomerAccountConfig: + type: object + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + demo_data_uploaded: + type: boolean + PolicyAttributesMap: + properties: + policy_map: + type: object + CustomerAccountConfigShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - $ref: '#/components/schemas/PolicyAttributesMap' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + contract_csv_url: + type: string + example: >- + data:text/csv;base64,bmFtZSxwZXJzb25fZmlyc3RfbmFtZSxwZXJzb25fbGFzdF9uYW1lLGJ1aWxkaW5nX25hbWUsYnVpbGRpbmdfdW5pdF9uYW1lLGNvbnRyYWN0X21lbWJlcnNoaXBfdHlwZSxjb250cmFjdF90eXBlLHBhcmVudF9pZCxleHRlcm5hbF9pZCxyZW50YWxfcGVyaW9kLGNvbnRyYWN0X3N1Yl90eXBlLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbWluaW11bV9jb250cmFjdF90ZXJtLG5vdGljZV9wZXJpb2QsY2FuY2VsbGluZ19hdF9kYXRlLGNhbmNlbGxlZF9hdF9kYXRlLHJlbnRfaW5jcmVhc2VfYWxsb3dhbmNlLGluZGV4X2Jhc2VkX2NvbmZpZyxzdGF0dXMscGVyc29uX21lbWJlcnNoaXBzX2F0dHJpYnV0ZXMsbWVtYmVyc2hpcHNfYXR0cmlidXRlcyxjdXJyZW5jeSxLYWx0bWlldGUsU29uc3RpZ2UsRGllbnN0ZSxNd1N0LEluc3RhbmRoYWx0dW5nLFZlcndhbHR1bmdzZ2Viw7xocmVuLFJlcGFyYXR1cmVuLFZlcnNpY2hlcnVuZyx0ZXN0Y29zdCxUSGlTSVNURVNUCg== + landing_page_dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardIndex' + has_datamarket_access: + type: boolean + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountConfigCreate: + allOf: + - required: + - building_fields + - building_unit_fields + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + CustomerAccountConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - required: + - demo_data_uploaded + properties: + demo_data_uploaded: + type: boolean + CustomerAccountSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + CustomerAccountSchemaUpdate: + type: object + properties: + name: + type: string + comment: + type: string + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountCategory: + type: object + properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + conversion_factor: + type: integer + customer_editable: + type: boolean + external_conversion: + type: boolean + category: + type: integer + enum: + - length_metric + - area_metric + - area_norm + - currency + - energy_type + - energy_volume + - emission_volume + - finance + - water + - water_volume + - activity + - shop_concept + - retail + - retail_metric + - addl_id + - phase + - phase_status + - payment_category + - rent_tracker_payment + - parking + - summary_unit_type + - summary_unit_type_classifier + - building_area_type + - unit_area_type + - construction_project_category + - main_energy_source + - state_of_renovation + - heating_used_energy + - kitchen_type + - objectphase + - region + - role + - unit_type + - property + - property_value + - facility_type + - floor + - institution_type + - roof_form + - unit_role + - unit_finance + - certificate_issuer + - certificate_system + - achieved_certificate_level + - energy_performance + - energy_source + CustomerAccountCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategory' + - required: + - label_id + - customer_account_translations + properties: + label_id: + type: integer + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + CustomerAccountCategoryCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + CustomerAccountCategoryUpdate: + allOf: + - properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + customer_editable: + type: boolean + CustomerAccountCategoryIndex: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + - properties: + label_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Contract: + type: object + properties: + parent_id: + type: string + contract_type: + type: string + enum: + - tenancy_contract + - lease_contract + name: + type: string + external_id: + type: string + source_system: + type: string + rental_period: + type: string + contract_sub_type: + type: string + enum: + - empty + - owner_occupation + - rentable + start_date: + type: string + format: date-time + end_date: + type: string + format: date-time + minimum_contract_term: + type: string + format: date-time + debtor_number: + type: string + notice_period: + type: object + properties: + value: + type: number + period: + type: string + enum: + - days + - weeks + - months + - years + cancelling_at_date: + type: string + format: date-time + cancelled_at_date: + type: string + format: date-time + rent_increase_type: + type: string + enum: + - comparable_rent + - index_based_increase + - graduate_rent + rent_increase_allowance: + type: string + format: date-time + index_based_config: + type: object + properties: + base_index_date: + type: string + base_index_points: + type: integer + threshhold_type: + type: string + enum: + - percentage + - points + threshhold_value: + type: integer + increase_type: + type: string + enum: + - percentage + - value + increase_value: + type: integer + graduate_rent_config: + type: object + properties: + increase_period: + type: string + enum: + - monthly + - yearly + amount_type: + type: string + enum: + - percentage + - value + amount_value: + type: integer + increase_yearly_date: + type: string + increase_monthly_day: + type: string + status: + type: string + enum: + - draft + - final + - rejected + currency: + type: string + enum: + - EUR + - CHF + notes: + type: string + Amount: + type: object + properties: + name: + type: string + amount_per_month: + type: object + properties: + value: + type: number + currency: + type: string + enum: + - EUR + - USD + ContractAttributes: + properties: + person_memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + person_id: + type: string + member_id: + type: string + member_type: + type: string + role: + type: string + _destroy: + type: string + memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + member_id: + type: string + member_type: + type: string + _destroy: + type: string + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ContractShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - required: + - type + - status + - user + - last_editor + - customer_account + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + type: object + properties: + notes: + type: string + parent: + $ref: '#/components/schemas/ContractIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + organisation: + $ref: '#/components/schemas/Organisation' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + rent_increase_mappings: + type: array + items: + $ref: '#/components/schemas/RentIncreaseMappingShow' + ContractCreate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - required: + - type + - status + properties: + organisation_id: + type: integer + ContractUpdate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - properties: + organisation_id: + type: integer + ContractIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - properties: + thumbnail_url: + type: string + organisation: + type: object + properties: + id: + type: integer + name: + type: string + ContractMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - contract + - member + - last_editor + properties: + contract: + $ref: '#/components/schemas/Contract' + member: + type: object + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ContractMembershipCreate: + type: object + required: + - contract_id + - member_id + - member_type + properties: + contract_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - property + ContractMembershipCost: + type: object + properties: + amount: + type: number + description: + type: string + iban: + type: string + swift: + type: string + to_be_paid_at: + type: string + valid_from: + type: string + format: date-time + ContractMembershipCostShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractMembershipCost' + - required: + - amount + properties: + unit_type: + $ref: '#/components/schemas/BuildingUnitType' + cost_type: + $ref: '#/components/schemas/CostType' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractMembershipCostCreate: + allOf: + - $ref: '#/components/schemas/ContractMembershipCost' + - properties: + unit_type_id: + type: number + cost_type_id: + type: number + ContractAddition: + type: object + properties: + name: + type: string + signing_date: + type: string + format: date-time + ContractAdditionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + properties: + contract: + $ref: '#/components/schemas/Contract' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractAdditionCreate: + allOf: + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + ContractGrant: + type: object + properties: + name: + type: string + description: + type: string + total_amount: + type: number + grant_type: + type: string + enum: + - pre_opening + - rent_free_time + - other + fee_split: + type: array + items: + properties: + percentage: + type: number + date_received: + type: string + format: date-time + ContractGrantShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractGrantCreate: + allOf: + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + SecurityDeposit: + required: [] + type: object + properties: + amount: + type: integer + to_be_paid_before: + type: string + format: date-time + payment_type: + type: string + enum: + - one_time_payment + - paid_in_three_monthly_fees + deposit_type: + type: string + enum: + - cash + - bank_transaction + - savings_account + - surety + SecurityDepositShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + - user + - last_editor + - contract_membership + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + SecurityDepositCreate: + allOf: + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + CostType: + type: object + properties: + name: + type: string + category: + type: string + CostTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeCreate: + allOf: + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeUpdate: + allOf: + - $ref: '#/components/schemas/CostType' + PropertyType: + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Property: + type: object + properties: + name: + type: string + country: + type: string + zip_code: + type: string + city: + type: string + custom_id: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + PropertiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PropertyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - required: + - name + - property_type + - property_manager + - user + - organisation + - last_editor + - lots + - buildings + - attachments + properties: + deleted_at: + type: string + format: date-time + property_type: + $ref: '#/components/schemas/PropertyType' + property_manager: + $ref: '#/components/schemas/PropertyManager' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PropertyCreate: + allOf: + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/PropertiesAttributes' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + PropertyUpdate: + allOf: + - $ref: '#/components/schemas/Property' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + PropertyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/ActivitiesAttributes' + - required: + - name + - property_type + properties: + deleted_at: + type: string + format: date-time + property_manager_id: + type: integer + property_type: + $ref: '#/components/schemas/PropertyType' + thumbnail_url: + type: string + PropertyManager: + type: object + properties: + name: + type: string + email: + type: string + phone_number: + type: string + contact_first_name: + type: string + contact_last_name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + zip_code: + type: string + country: + type: string + PropertyManagerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerCreate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerUpdate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + Lot: + type: object + properties: + custom_id: + type: string + external_id: + type: string + source_system: + type: string + name: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + LotsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + LotShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + LotCreate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - property_id + - name + properties: + property_id: + type: integer + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + LotUpdate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + LotIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingFilterSettings: + type: object + properties: + name: + type: string + status: + type: boolean + tags_active: + type: boolean + fields: + type: array + items: + type: string + property_fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingFields: + type: object + properties: + fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingsShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingFilterSettingsCreate: + allOf: + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingSaveFilters: + type: object + properties: + name: + type: string + filter: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + BuildingSaveFiltersShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingSaveFiltersCreate: + allOf: + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + BuildingType: + type: object + required: + - id + - name + - code + properties: + id: + type: integer + name: + type: string + code: + type: string + parent_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Building: + type: object + properties: + name: + type: string + external_id: + type: string + source_system: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + latitude: + type: number + longitude: + type: number + units_count: + type: number + year_of_construction: + type: integer + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + architect: + type: string + contract_ids: + type: array + items: {} + organisation_id: + type: number + customer_attributes_schema_id: + type: number + planned_monthly_rent: + type: number + number_of_floors: + type: number + number_of_windows: + type: number + user_intervention_window_number: + type: number + user_intervention_window_area: + type: number + last_refurbishment_at: + type: string + format: date + heating_type: + type: string + main_energy_provider: + type: string + deso_facility: + type: boolean + institution_type: + type: array + items: + type: integer + facility_type: + type: array + items: + type: integer + number_of_lifts: + type: integer + protective_area: + type: boolean + parking_garage: + type: integer + main_energy_source: + type: integer + stairwells: + type: integer + state_of_renovation: + type: integer + construction_project_category: + type: integer + last_modernisation: + type: string + format: date-time + heating_used_energy: + type: array + items: + type: integer + kitchen_type: + type: integer + objectphase: + type: integer + region: + type: integer + floors_above_ground: + type: integer + floors_below_ground: + type: integer + customer_attributes: + type: object + fund_name: + type: string + own_use: + type: boolean + listed_building: + type: boolean + house_number: + type: string + address_suffix: + type: string + energy_certificate_type: + type: string + enum: + - consumption_orientated + - demand_orientated + energy_class: + type: string + stored_energy_validity: + type: string + format: date-time + accounting_rules_applied: + type: string + year_of_construction_heat_generator: + type: string + air_conditioning: + type: boolean + BuildingsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - type: object + required: + - name + - user + - building_type + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + facility_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + heating_used_energies: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + institution_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + roof_forms: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + objectphases: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + regions: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + kitchen_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + construction_project_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + state_of_renovations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + main_energy_sources: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingCreate: + allOf: + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - building_type_id + - parent_id + - parent_type + - name + - customer_attributes + - customer_attributes_schema_id + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUpdate: + allOf: + - $ref: '#/components/schemas/Building' + - properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + organisation_id: + type: integer + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingsAttributes' + BuildingIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + BuildingShowWithFacilities: + allOf: + - $ref: '#/components/schemas/BuildingShow' + - type: object + properties: + facilities_count: + type: number + BuildingPresets: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + tags: + properties: + building: + type: array + items: {} + building_unit: + type: array + items: {} + BuildingIndexWithoutUnits: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + apps: + type: array + items: + type: string + BuildingForProperty: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + BuildingUnitType: + type: object + required: + - id + - name + - updated_at + - created_at + properties: + id: + type: integer + customer_account_id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitTypeCreate: + type: object + required: + - name + properties: + name: + type: string + BuildingUnit: + type: object + properties: + name: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + tenant: + type: string + owner: + type: string + building_id: + type: number + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + social_floor_area_in_sqm: + type: number + market_rental_price: + type: number + format: float + number_of_rooms: + type: number + number_of_bedrooms: + type: number + number_of_bathrooms: + type: number + quality_of_available_features: + type: string + current_condition: + type: string + description: + type: string + description_of_features: + type: string + features: + type: array + enum: + - einbauküche + - balkon/terrasse + - garten + - stufenloser_zugang + - wg_geeignet + - parkplatz_vorhanden + - haustiere_erlaubt + - aufzug + - gäste_wc + - keller + - wohnberechtigungsschein + items: {} + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + planned_monthly_rent: + type: number + planned_operating_cost: + type: number + planned_deposit: + type: number + planned_total_rent: + type: number + heating_costs_in_operating_costs: + type: boolean + contracted_lease_base_rent: + type: string + contracted_lease_operating_costs: + type: string + contracted_lease_deposit: + type: string + floor: + type: integer + group_home: + type: integer + customer_attributes: + type: object + BuildingUnitsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingUnitShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - required: + - name + - building + - type + - user + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneIndex' + facilites: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingUnitIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + contract_ids: + type: array + example: [] + items: {} + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingUnitCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - required: + - name + - building_id + - customer_attributes + properties: + building_id: + type: integer + building_unit_type_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUnitUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - properties: + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingUnitsAttributes' + BuildingUnitMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - unit + - member + - last_editor + properties: + unit: + $ref: '#/components/schemas/BuildingUnit' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingUnitMembershipCreate: + type: object + required: + - unit_id + - member_id + - member_type + properties: + unit_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - level + - room + - zone + - facility + BuildingEnergy: + type: object + properties: + energy_volume: + type: integer + co2_emission_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingEnergyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type + - building + - energy_volume_metric + - co2_emission_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingEnergyCreate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyIndex: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category + - building + - value_metric + properties: + building: + $ref: '#/components/schemas/Building' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceIndex: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category + - building_unit + - value_metric + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingFm: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingFmShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingFmCreate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmUpdate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmIndex: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetail: + type: object + BuildingUnitRetailShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept + - building_unit + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetailMetric: + type: object + properties: + value: + type: integer + BuildingUnitRetailMetricShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - building_unit_retail + - category + - value_metric + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailMetricCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingWater: + type: object + properties: + water_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingWaterShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category + - building + - water_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingWaterCreate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterUpdate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterIndex: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + AddtlBuildingId: + type: object + properties: + addtl_id: + type: string + AddtlBuildingIdShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + AddtlBuildingIdCreate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdUpdate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdIndex: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Phase: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - building + - building::unit + phase_is_milestone: + type: boolean + szenario: + type: string + version: + type: integer + plan_start_date: + type: string + format: date-time + plan_end_date: + type: string + format: date-time + plan_cost: + type: integer + actual_start_date: + type: string + format: date-time + actual_end_date: + type: string + format: date-time + actual_cost: + type: integer + PhaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Phase' + - required: + - phase_category + - status + - plan_cost_metric + - actual_cost_metric + properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + PhaseCreate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseUpdate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseIndex: + allOf: + - $ref: '#/components/schemas/Phase' + - properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + RentTracker: + type: object + properties: + version: + type: integer + planned_pay: + type: integer + planned_pay_date: + type: string + format: date-time + actual_pay: + type: integer + actual_pay_date: + type: string + format: date-time + RentTrackerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category + - pay_currency + properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + building_unit: + $ref: '#/components/schemas/BuildingUnit' + property: + $ref: '#/components/schemas/Property' + building: + $ref: '#/components/schemas/Building' + contract: + $ref: '#/components/schemas/Contract' + lessor: + $ref: '#/components/schemas/Person' + child_of: + $ref: '#/components/schemas/RentTracker' + RentTrackerCreate: + allOf: + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category_id + - pay_currency_id + properties: + payment_category_id: + type: integer + pay_currency_id: + type: integer + building_unit_id: + type: integer + property_id: + type: integer + building_id: + type: integer + contract_id: + type: integer + lessor_id: + type: integer + child_of_id: + type: integer + lessee_ids: + type: array + items: + type: integer + RentTrackerIndex: + allOf: + - $ref: '#/components/schemas/RentTracker' + - properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingParking: + type: object + properties: + places: + type: integer + BuildingParkingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category + properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingParkingCreate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingUpdate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingIndex: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingArea: + type: object + properties: + volume: + type: integer + BuildingAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitArea: + type: object + properties: + volume: + type: integer + BuildingUnitAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlace: + type: object + BuildingUnitPlaceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label + properties: + building: + $ref: '#/components/schemas/Building' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlaceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlacesTimeboxed: + type: object + properties: + num_of_units: + type: integer + num_of_places: + type: integer + num_of_vacant_places: + type: integer + area: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitPlacesTimeboxedShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - building_unit_place + - area_metric + - area_norm + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesTimeboxedCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitPlacesProperty: + type: object + BuildingUnitPlacesPropertieshow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - building_unit_places_timeboxed + - property + - property_value + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesPropertyCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Person: + type: object + properties: + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + email: + type: string + phone: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + country: + type: string + external_id: + type: string + source_system: + type: string + PeopleAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PersonShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - required: + - name + - user + - organisation + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PersonCreate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + PersonUpdate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + PersonIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + - user + - organisation + ReportTemplate: + type: object + properties: + name: + type: string + query: + properties: + filters: + type: array + items: + properties: + dimension: + type: string + operator: + type: string + values: + type: array + items: {} + measures: + type: array + items: {} + dimensions: + type: array + items: {} + timeDimensions: + type: array + items: {} + ReportTemplateShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportTemplateCreate: + allOf: + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportAccountSchema: + type: object + properties: + cubes: + type: array + items: + properties: + name: + type: string + measures: + type: array + items: {} + dimensions: + type: array + items: {} + filters: + type: array + items: {} + timeDimensions: + type: array + items: {} + segments: + type: array + items: {} + limit: + type: integer + offset: + type: integer + order: + type: string + enum: + - asc + - desc + timezone: + type: string + renewQuery: + type: boolean + ungrouped: + type: boolean + ReportAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + ReportAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + PersonMembership: + type: object + properties: + person_id: + type: number + label_id: + type: number + role: + type: string + member_type: + type: string + member_id: + type: number + deleted_at: + type: string + format: date-time + PersonMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PersonMembership' + - required: + - user + - organisation + PersonMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + required: + - id + - person + - member + - last_editor + properties: + deleted_at: + type: string + format: date-time + label: + $ref: '#/components/schemas/CustomerAccountCategory' + person: + $ref: '#/components/schemas/Person' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + PersonMembershipCreate: + type: object + required: + - person_id + - member_id + - member_type + properties: + person_id: + type: integer + role: + type: string + enum: + - lessee + - lift_manager + - building_owner + - building_operator + - investor + - facility_manager + - property_manager + - asset_manager + - lessor + - contact + label_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - facility + - contract + Level: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: integer + category: + type: string + enum: + - flat_roof + - saddleback_roof + - hipped_roof + - polygons_hipped_roof + - crippled_hipped_roof + - tent_roof + - monopitch_roof + - schedule_roof + - mansard_roof + - trailing_roof + - only_roof + - roof_with_different_roof_pitches + description: > + flat_roof: Flachdach + + saddleback_roof: Satteldach + + hipped_roof: Walmdach + + polygons_hipped_roof: Vielecken Walmdach + + crippled_hipped_roof: Krüppelwalmdach + + tent_roof: Zeltdach + + monopitch_roof: Pultdach + + schedule_roof: Scheddach + + mansard_roof: Mansardendach + + trailing_roof: Schleppdach + + only_roof: Nurdach + + roof_with_different_roof_pitches: Dach mit Verschiedenen + Dachneigungen + LevelsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + LevelShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - required: + - name + - number + - building + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + LevelCreate: + allOf: + - $ref: '#/components/schemas/Level' + - required: + - building_id + - name + - number + properties: + building_id: + type: integer + - $ref: '#/components/schemas/LevelsAttributes' + LevelUpdate: + allOf: + - $ref: '#/components/schemas/Level' + LevelIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - $ref: '#/components/schemas/LevelsAttributes' + - properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + RoomAndZoneType: + type: object + required: + - id + - name + - code + - level + - net_floor_area_code + properties: + id: + type: integer + name: + type: string + code: + type: string + din_277_name: + type: string + example: + type: string + net_floor_area_code: + type: string + parent_id: + type: integer + depth: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Room: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: string + area_in_sqm: + type: number + height_in_m: + type: number + perimeter_in_m: + type: number + RoomsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + RoomShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - required: + - name + - user + - last_editor + - organisation + - level + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + level: + $ref: '#/components/schemas/LevelIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + RoomCreate: + allOf: + - $ref: '#/components/schemas/Room' + - required: + - level_id + - name + properties: + level_id: + type: integer + room_and_zone_type_id: + type: integer + - $ref: '#/components/schemas/RoomsAttributes' + RoomUpdate: + allOf: + - $ref: '#/components/schemas/Room' + - properties: + room_and_zone_type_id: + type: integer + RoomIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - $ref: '#/components/schemas/RoomsAttributes' + - required: + - name + properties: + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + level: + $ref: '#/components/schemas/Level' + thumbnail_url: + type: string + Zone: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + area_in_sqm: + type: number + ZoneShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - name + - user + - room_and_zone_type + - last_editor + - organisation + - zone + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + room: + $ref: '#/components/schemas/RoomIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + ZoneCreate: + allOf: + - $ref: '#/components/schemas/Zone' + - required: + - room_id + - room_and_zone_type_id + - name + properties: + room_id: + type: integer + room_and_zone_type_id: + type: integer + ZoneUpdate: + allOf: + - $ref: '#/components/schemas/Zone' + - properties: + room_and_zone_type_id: + type: integer + ZoneIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - room_and_zone_type_id + - name + properties: + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + Department: + type: object + properties: + name: + type: string + DepartmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Department' + - required: + - name + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + DepartmentCreate: + allOf: + - $ref: '#/components/schemas/Department' + - required: + - name + DepartmentUpdate: + allOf: + - $ref: '#/components/schemas/Department' + Manufacturer: + type: object + properties: + name: + type: string + ManufacturerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ManufacturerCreate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + ManufacturerUpdate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + ModelType: + type: object + properties: + name: + type: string + ModelTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ModelType' + - required: + - name + - type: object + required: + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ModelTypeCreate: + allOf: + - $ref: '#/components/schemas/ModelType' + - required: + - name + ModelTypeUpdate: + allOf: + - $ref: '#/components/schemas/ModelType' + FacilityType: + type: object + required: + - id + - code + - group_1 + - version + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeIndex: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeWithSchema: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Facility: + type: object + properties: + name: + type: string + custom_id: + type: string + external_id: + type: string + source_system: + type: string + ep_code: + type: string + comment: + type: string + inventory_number: + type: string + serial_number: + type: string + year_of_construction: + type: integer + last_inspection_at: + type: string + format: date-time + last_maintenance_at: + type: string + format: date-time + next_inspection_at: + type: string + format: date-time + next_maintenance_at: + type: string + format: date-time + latitude: + type: number + longitude: + type: number + type_dependent_attributes: + type: object + equipment_collection: + type: boolean + quantity: + type: number + facility_parent: + type: string + FacilitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + FacilityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - required: + - name + - facility_type + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + parent: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + level: + $ref: '#/components/schemas/LevelIndex' + room: + $ref: '#/components/schemas/RoomIndex' + zone: + $ref: '#/components/schemas/ZoneIndex' + manufacturer: + $ref: '#/components/schemas/Manufacturer' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + facility_type: + $ref: '#/components/schemas/FacilityType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + activities: + type: array + items: + $ref: '#/components/schemas/ActivityForFacility' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + FacilityCreate: + allOf: + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - required: + - facility_type_id + - location_id + - location_type + properties: + facility_type_id: + type: integer + model_type_id: + type: integer + location_id: + type: integer + location_type: + type: string + enum: + - property + - lot + - building + - level + - room + - zone + manufacturer_id: + type: integer + parent_id: + type: integer + FacilityUpdate: + allOf: + - $ref: '#/components/schemas/Facility' + - properties: + facility_type_id: + type: integer + model_type_id: + type: integer + manufacturer_id: + type: integer + parent_id: + type: integer + - $ref: '#/components/schemas/FacilitiesAttributes' + FacilityIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - properties: + facility_type: + $ref: '#/components/schemas/FacilityType' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + Activity: + type: object + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + external_id: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + ActivitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ActivityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Activity' + - required: + - deleted_at + - facility + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + facility: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + ActivityCreate: + allOf: + - $ref: '#/components/schemas/Activity' + - required: + - category + - company + - facility_ids + - property_id + properties: + activity_type_id: + type: integer + facility_ids: + type: array + items: + type: integer + property_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + ActivityUpdate: + allOf: + - required: + - category + - company + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + activity_type_id: + type: integer + ActivityIndex: + allOf: + - $ref: '#/components/schemas/Activity' + - $ref: '#/components/schemas/ActivitiesAttributes' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/Organisation' + facility: + $ref: '#/components/schemas/Facility' + attachments: + $ref: '#/components/schemas/Attachment' + ActivityForFacility: + allOf: + - $ref: '#/components/schemas/Activity' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + type: array + items: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + ActivityType: + type: object + properties: + name: + type: string + ActivityTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ActivityType' + - required: + - deleted_at + - user + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + ActivityTypeCreate: + allOf: + - $ref: '#/components/schemas/ActivityType' + - required: + - name + ActivityTypeIndex: + allOf: + - $ref: '#/components/schemas/ActivityType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Attachment: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Attachment' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + AttachmentCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentDuplicate: + type: object + required: + - copy_attachment_id + properties: + copy_attachment_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + AttachmentIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Image: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + ImageShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Image' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + ImageCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageUpdate: + type: object + properties: + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + TimeDependentAttribute: + required: + - attribute_key + - attribute_value + - attribute_timestamp + - parent_id + - parent_type + type: object + properties: + parent_id: + type: integer + customer_account_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + attribute_key: + type: string + attribute_value: + type: string + attribute_type: + type: string + enum: + - individual + - global + attribute_timestamp: + type: string + format: date-time + TimeDependentAttributeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + TimeDependentAttributeCreate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeUpdate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Webhook: + type: object + properties: + url: + type: string + description: + type: string + mode: + type: number + events: + type: array + items: {} + secret: + type: string + organisation_ids: + type: array + items: {} + WebhookShow: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/UserIndex' + organisation_ids: + type: array + items: + $ref: '#/components/schemas/Organisation' + WebhookCreate: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + WebhookUpdate: + allOf: + - $ref: '#/components/schemas/Webhook' + WebhookIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Webhook' + - required: + - customer_account_id + Tag: + type: object + properties: + label: + type: string + TagShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Tag' + - required: + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagCreate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagsMergeBody: + properties: + master_tag: + type: integer + other_tags: + type: array + items: {} + TagUpdate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + label: + type: string + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagAssignBuildings: + allOf: + - required: + - building_ids + - tag_ids + properties: + building_ids: + type: array + items: + type: integer + tag_ids: + type: array + items: + type: integer + CsvImport: + type: object + properties: + location_type: + type: string + is_demo: + type: boolean + number_of_imported_records: + type: integer + metadata: + type: object + CsvImportShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CsvImport' + - required: + - organisation + - customer_account + properties: + metadata: + type: object + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportShowCreate: + required: + - import_data + - general_status + - invalid_columns + properties: + import_data: + $ref: '#/components/schemas/CsvImportShow' + metadata: + type: object + general_status: + type: string + invalid_columns: + type: array + items: + properties: + row_number: + type: integer + failed_rows: + type: object + CsvImportCreate: + type: object + required: + - location_type + - file_base64 + - file_filename_with_extension + properties: + location_type: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + is_demo: + type: boolean + metadata: + type: object + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + CsvImportIndex: + allOf: + - $ref: '#/components/schemas/CsvImportShow' + - properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportUpdate: + allOf: + - required: + - category + - company + properties: + status: + type: string + enum: + - canceled + - draft + - partially_imported + - imported + description: | + imported + canceled + partially_imported + Scorecard: + type: object + properties: + name: + type: string + description: + type: string + status: + type: string + enum: + - draft + - final + ScorecardShow: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + customer_account_id: + type: integer + assigners: + type: array + items: {} + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + segments: + $ref: '#/components/schemas/ScorecardSegment' + global: + type: boolean + ScorecardCreate: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - name + - status + properties: + global: + type: boolean + ScorecardUpdate: + allOf: + - $ref: '#/components/schemas/Scorecard' + ScorecardIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + - segments + - active + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + assigners: + type: array + items: {} + segments: + $ref: '#/components/schemas/ScorecardSegment' + customer_account_id: + type: integer + global: + type: boolean + ScorecardSegment: + type: object + properties: + name: + type: string + weight_type: + type: string + position: + type: integer + ScorecardSegmentShow: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - name + - weight_type + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSegmentCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - scorecard_id + properties: + scorecard_id: + type: number + ScorecardSegmentUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + ScorecardTopic: + type: object + properties: + name: + type: string + weight_type: + type: string + weight_value: + type: integer + position: + type: integer + ScorecardTopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardTopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - scorecard_segment_id + properties: + scorecard_segment_id: + type: number + ScorecardTopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + ScorecardSubtopic: + type: object + properties: + name: + type: string + weight_value: + type: integer + scorecard_scores: + type: array + items: + type: object + properties: + score: + type: integer + range_type: + type: string + enum: + - in_range + - eq + - lt + - lte + - gt + - gte + attribute_value: + type: string + example: Can be of a type string, date, or array with two elements! + attribute_type: + type: string + attribute_id: + type: string + position: + type: integer + ScorecardSubtopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSubtopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - scorecard_topic_id + properties: + scorecard_topic_id: + type: number + ScorecardSubtopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + ScorecardMembership: + type: object + properties: + scorecard_id: + type: number + parent_type: + type: string + enum: + - building + - building_unit + - facility + parent_id: + type: number + SegmentScore: + type: object + properties: + score: + type: number + topic_scores: + type: array + items: + $ref: '#/components/schemas/TopicScore' + segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + TopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + subtopic_scores: + type: array + items: + $ref: '#/components/schemas/SubtopicScore' + topic: + $ref: '#/components/schemas/ScorecardTopicShow' + SubtopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + attribute_values: + type: object + example: '{ value: 123, type: numeric }' + status: + type: string + enum: + - pending + - calculated + - error + subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + ScorecardMembershipCost: + type: object + properties: + parent_id: + type: number + parent_type: + type: string + scorecard_id: + type: number + scorecard_name: + type: string + segment_id: + type: number + segment_name: + type: string + topic_id: + type: number + topic_name: + type: string + subtopic_id: + type: number + subtopic_name: + type: string + data_catalog_id: + type: number + technical_key: + type: string + name: + type: string + realcube_price: + type: integer + allOf: + - required: + - parent_ids + - scorecard_ids + properties: + parent_ids: + type: array + items: + type: integer + scorecard_ids: + type: array + items: + type: integer + ScorecardMembershipsIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - segment_scores + - scorecard_id + - parent_type + properties: + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + scorecard: + $ref: '#/components/schemas/Scorecard' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + parent: + $ref: '#/components/schemas/BuildingShow' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardMembershipsCosts: + allOf: + - properties: + id: + type: integer + - $ref: '#/components/schemas/ScorecardMembershipCost' + ScorecardMembershipsShow: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - scorecard_id + - parent_id + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + parent: + $ref: '#/components/schemas/BuildingShow' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + ScorecardMembershipDeAssign: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + ScorecardMembershipCreate: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByScorecard: + allOf: + - required: + - scorecard_id + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_ids: + type: array + items: + type: integer + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByParent: + allOf: + - required: + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + ScorecardMembershipCostResponse: + allOf: + - required: + - name + - realcube_price + - parent_id + - parent_type + - scorecard_id + - scorecard_name + - segment_id + - segment_name + - topic_id + - topic_name + - subtopic_id + - subtopic_name + - data_catalog_id + - technical_key + properties: + name: + type: string + realcube_price: + type: integer + parent_type: + type: string + parent_id: + type: integer + scorecard_id: + type: integer + scorecard_name: + type: string + segment_id: + type: integer + segment_name: + type: string + topic_id: + type: integer + topic_name: + type: string + CountBuildingsResponse: + allOf: + - required: + - scorecard_id + - nr_of_buildings + properties: + scorecard_id: + type: integer + nr_of_buildings: + type: integer + ScorecardMembershipUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + ScorecardAssigner: + type: object + ScorecardAssignersIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignersShow: + allOf: + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignerCreate: + allOf: + - required: + - assigner_id + - scorecard_id + properties: + assigner_ids: + type: array + items: + type: integer + scorecard_id: + type: number + DataCatalog: + type: object + properties: + technical_key: + type: string + name: + type: string + sku: + type: string + source: + type: string + description: + type: string + country: + type: string + locale: + type: string + quality_indicator: + type: string + enum: + - fact + - predicted + - estimated + category_l1: + type: string + category_l2: + type: string + category_l3: + type: string + category_l4: + type: string + category_l5: + type: string + realcube_price: + type: integer + realcube_currency: + type: string + realcube_price_category: + type: string + data_lifetime: + type: integer + attribute_type: + type: string + enum: + - numeric + - fixed + - boolean + - date + - string + unit: + type: string + data_catalogsShow: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + DataCatalogCreate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - technical_key + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + app_id: + type: integer + DataCatalogUpdate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + DataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + properties: + user_id: + type: integer + last_editor_id: + type: integer + app_id: + type: integer + RawDataCatalog: + type: object + properties: + version: + type: integer + status: + type: string + enum: + - applied + - new + raw_data: + type: object + RawDataCatalogsShow: + allOf: + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RawDataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RentIncreaseType: + type: object + properties: + name: + type: string + description: + type: string + category: + type: integer + RentIncreaseTypeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseIndices: + type: object + properties: + value: + type: integer + date: + type: string + format: date + rent_increase_type_id: + type: string + subtype: + type: string + enum: + - residential + - office + - commercial + RentIncreaseIndicesIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseIndices' + - properties: + deleted_at: + type: string + format: date-time + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseMapping: + type: object + properties: + values: + type: object + apply_automatically: + type: boolean + contract_id: + type: integer + rent_increase_type_id: + type: integer + user_id: + type: integer + last_editor_id: + type: integer + RentIncreaseMappingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseMapping' + - required: + - rent_increase_type + properties: + rent_increase_type: + type: object + RentIncreaseMappingIndex: + allOf: + - $ref: '#/components/schemas/RentIncreaseMapping' + - properties: + rent_increase_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + TaskMembership: + type: object + properties: + task_id: + type: integer + place_id: + type: integer + organisation_id: + type: integer + place_type: + type: string + enum: + - Building + - Building::Unit + TaskMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembership' + - properties: + organisation_id: + type: integer + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + TaskMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembershipShow' + - properties: + organisation_id: + type: integer + place_name: + type: string + place_parent_id: + type: integer + RentIncrease: + type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + RentIncreaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + customer_account: + type: object + contract_membership: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + member_type: + type: string + member_id: + type: string + member_name: + type: string + parent_id: + type: string + parent_name: + type: string + contract: + type: object + costs: + type: array + items: + type: object + RentIncreaseIndex: + allOf: + - required: + - id + - created_at + properties: + id: + type: integer + created_at: + type: string + format: date-time + contract_membership_id: + type: integer + start_date: + type: string + format: date-time + value: + type: integer + status: + type: string + enum: + - 1 + - 2 + - 3 + recurring: + type: boolean + recurring_increase_month: + type: integer + recurring_increase_year: + type: integer + customer_account_id: + type: integer + contract_membership_member_type: + type: string + contract_membership_member_id: + type: integer + contract_membership_member_name: + type: string + person_name: + type: string + contract_start_date: + type: string + format: date-time + contract_membership_cost_amount: + type: integer + rent_increase_type_category: + type: string + rent_increase_type_name: + type: string + rent_increase_type_id: + type: integer + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + automatic_adjustment: + type: boolean + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + building_type: + type: string + enum: + - residential + - office + - commercial + RentIncreaseCreate: + allOf: + - $ref: '#/components/schemas/RentIncrease' + - properties: + rent_increase_type_id: + type: integer + contract_membership_id: + type: integer + EmissionFactorSetting: + type: object + properties: + value: + type: number + EmissionFactorSettingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/EmissionFactorSetting' + - type: object + required: + - value + - label + - customer_account + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + EmissionFactorSettingCreate: + allOf: + - $ref: '#/components/schemas/EmissionFactorSetting' + - required: + - value + - customer_account_id + - label_id + properties: + label_id: + type: integer + EmissionFactorSettingUpdate: + allOf: + - type: array + items: + type: object + properties: + label_id: + type: number + value: + type: number + CustomerAccountCategoryConfig: + type: object + properties: + display: + type: boolean + CustomerAccountCategoryConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - required: + - label_id + - customer_account_translations + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategory' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCategoryConfigCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - properties: + customer_account_category_id: + type: integer + CustomerAccountCategoryConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + SignInError: + properties: + source: + type: string + example: password + title: + type: string + example: Invalid email password combination + AuthenticationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing api key + AuthorizationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing authorization + UnprocessableRequestError: + properties: + source: + type: string + example: record + title: + type: string + example: could not be deleted + NotFoundError: + properties: + source: + type: string + example: id + title: + type: string + example: Couldn't find Resource with 'id'=12 + InternalServerError: + properties: + source: + type: string + example: application + title: + type: string + example: We're sorry, but something went wrong + ServiceUnavailableError: + properties: + source: + type: string + example: application + title: + type: string + example: Service Temporarily Unavailable + PersistedRecord: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - id + - updated_at + - created_at +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs/packet-fabric-fixed-spec.yaml b/sdks/db/fixed-specs/packet-fabric-fixed-spec.yaml new file mode 100644 index 000000000..8291380ab --- /dev/null +++ b/sdks/db/fixed-specs/packet-fabric-fixed-spec.yaml @@ -0,0 +1,43181 @@ +openapi: 3.0.0 +info: + title: PacketFabric API + description: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the + token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H + "On-Behalf: 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + version: 2.0.0 + x-konfig-ignore: + object-with-no-properties: true + potential-incorrect-type: true +servers: + - description: Production API + url: https://api.packetfabric.com +tags: + - description: Cloud-to-Cloud connections. + name: Cloud Router Connections + - description: AWS specific, and compatible generic cloud routes. + name: Cloud Services - AWS + - description: Google Cloud specific, and compatible generic cloud routes. + name: Cloud Services - Google Cloud + - description: Virtual Circuit based 3rd-party and backbone services + name: Services + - description: Azure specific, and compatible generic cloud routes. + name: Cloud Services - Azure + - description: Viewing and managing marketplace services + name: Marketplace + - description: Details about the current customer and publicly searchable third parties + name: Customers + - description: Getting metric data for the current customer + name: Metrics + - description: Ports of the current customer + name: Ports + - description: Cloud Router Third Party services. + name: Cloud Router Third Party + - description: PacketFabric quotes created through the PacketFabric portal + name: Portal Quotes + - description: IPAM (IP Address Management) + name: IPAM + - description: Users management for the current customer + name: Users + - description: IBM Cloud specific, and compatible generic cloud routes. + name: Cloud Services - IBM + - description: Billing endpoints + name: Billing + - description: Oracle Cloud specific, and compatible generic cloud routes. + name: Cloud Services - Oracle + - description: Details of physical locations, markets and regions + name: Locations + - description: Base services to build Cloud-to-Cloud connections. + name: Cloud Routers + - description: Layer 3 network functionality + name: Cloud Router BGP Session Settings + - description: >- + Point-to-point service is a bundled service with two ports and an EPL + virtual-circuit connecting them + name: PTP Services + - description: >- + Request aliases are used to manage points of contact for connection + requests. + name: Request Aliases + - description: Contact persons of the current customer + name: Contacts + - description: Bundled capacity for virtual circuits + name: Flex Bandwidth + - description: High Performance Internet (HPI) + name: High Performance Internet + - description: Link aggregation groups + name: LAGs + - description: Login/logout endpoints + name: Authentication + - description: Manage your credentials to Cloud Providers. + name: Cloud Provider Credentials + - description: Route Sets for Cloud Router Marketplace Services. + name: Cloud Router Route Sets + - description: Managing multi-factor authentication for the current user + name: Multi-Factor Authentication + - description: Viewing and managing outbound cross connects + name: Outbound Cross Connects + - description: Associate labels with SVlans on a particular port + name: SVlan Labels + - description: Team-based signup invitations + name: TeamSignup + - description: Diagnostic reports + name: Diagnostic Reports + - description: Correlation between services and custom identifiers. + name: Labels + - description: History of scheduled maintenance operations and sent notifications + name: Maintenance Notifications + - description: API keys management API + name: API keys + - description: IPsec related services. + name: Cloud Router IPsec + - description: Documents of the current customer + name: Documents + - description: Groups management for the current customer + name: Groups + - description: Linking objects to their labels + name: Objects + - description: Log of activities performed by the customer + name: Activity Logs + - description: Stream events in real-time + name: Streaming Events - Beta + - description: Messages from PacketFabric + name: Announcements + - name: Signup +paths: + /v2/activity-logs/{log_uuid}: + get: + tags: + - Activity Logs + summary: Get activity log entry + operationId: ActivityLogs_getEntry + parameters: + - description: UUID of Activity Log entry + required: true + in: path + name: log_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Activity log entry + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogsGetEntryResponse' + /v2/activity-logs: + get: + tags: + - Activity Logs + summary: Get activity log entries + operationId: ActivityLogs_getActivityLogList + description: > + Use this endpoint to get paginated list of Activity Log entries. + + You can set additional filters or set sorting order using query + parameters. + parameters: + - description: Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11) + name: level + required: false + in: query + schema: + type: integer + minimum: 0 + example: 3 + maximum: 7 + - description: Filter by category + name: category + required: false + in: query + schema: + description: Category of the activity + type: string + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + - description: > + Unified circuit_id filter, supports filtering by: + + - Port - port_circuit_id (eg. PF-AP-SFO1-58) + + - VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345) + + - Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345) + + - Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345) + + - Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345) + + - Cloud Router Connection - connection_circuit_id (eg. + PF-L3-CON-12345) + + - High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345) + name: circuit_id + required: false + in: query + schema: + type: string + example: PF-BC-NYC-NYC-12345 + - description: The description of the port to be queried + name: description + required: false + in: query + schema: + type: string + example: The user description + - description: Filter by event + name: event + required: false + in: query + schema: + type: string + example: login + - description: Number of records to skip + name: offset + required: false + in: query + schema: + type: integer + example: 20 + - description: Number of records to show + name: page_size + required: false + in: query + schema: + type: integer + example: 10 + - description: Column to sort results on + name: sort_column + required: false + in: query + schema: + type: string + example: time_created + - description: Sort order + name: sort_order + required: false + in: query + schema: + type: string + enum: + - asc + - desc + - description: Filter by time_created greater than (after) or equal to this time. + name: time_from + required: false + in: query + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - description: Filter by time_created less than (before) or equal to this time. + name: time_to + required: false + in: query + schema: + type: string + format: date-time + example: '2020-04-30T19:14:42.642Z' + responses: + '200': + description: List of activity log entries + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogsGetActivityLogListResponse' + /v2/api-keys: + post: + tags: + - API keys + summary: Add the new API key + operationId: ApiKeys_createNewKey + description: > + This endpoint adds the new API key. The API keys can be used by + automated solutions instead of the user session tokens. Use the response + of this endpoint wisely, it is the only time you can see the `token`. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApiKeysCreateNewKeyRequest' + responses: + '201': + description: Created API key + content: + application/json: + schema: + $ref: '#/components/schemas/ApiKeysCreateNewKeyResponse' + get: + tags: + - API keys + summary: Get the list of user's API keys + operationId: ApiKeys_getUserList + description: Get the list of user's API keys + responses: + '200': + description: Created API key + content: + application/json: + schema: + $ref: '#/components/schemas/ApiKeysGetUserListResponse' + /v2/api-keys/{uuid}: + delete: + tags: + - API keys + summary: Deletes API key by UUID + operationId: ApiKeys_deleteByKey + description: Deletes API key by UUID + parameters: + - description: Target API key UUID + required: true + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: Deletion message + content: + application/json: + schema: + $ref: '#/components/schemas/ApiKeysDeleteByKeyResponse' + /v2/auth/login: + post: + tags: + - Authentication + summary: Login + operationId: Authentication_startSession + security: [] + description: Start user session. Get the token to authenticate requests + requestBody: + description: User credentials + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationStartSessionRequest' + example: + login: admin + password: p4ssw0rd + responses: + '200': + description: User session information and token + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationStartSessionResponse' + example: + token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + get: + tags: + - Authentication + summary: Login + operationId: get_login + security: [] + description: > + Authenticates the user with an existing session token. Creates a new + session token for the user and redirects to the PacketFabric Portal + dashboard. + parameters: + - description: A valid session_token for the user + name: session_token + required: true + in: query + schema: + type: string + - description: Timeout in minutes to set the session expiration + name: timeout + required: false + in: query + schema: + type: integer + responses: + default: + description: Redirect to the PacketFabric Portal dashboard + /v2/auth/login/mfa: + post: + tags: + - Multi-Factor Authentication + summary: Login into the application using a multi-factor authentication code + operationId: login_mfa + security: [] + description: > + This endpoint needs to be used only if the user has multi-factor + authentication enabled for their account. After the normal login process + this endpoint must be accessed to send the code used as a second factor + of authentication.

**Note:** Apart from the authentication code, + this endpoint requires the session_token cookie to be properly set. + That's how the application can validate the first factor of + authentication (user/password combination) was completed successfully. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LoginMfaRequest' + example: + authentication_code: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: '#/components/schemas/LoginMfaResponse' + example: + message: success + /v2/auth/logout: + get: + tags: + - Authentication + summary: Logout + operationId: Authentication_invalidateSession + security: [] + description: Invalidate current user session. Makes the token invalid + responses: + '200': + description: Farewell message + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationInvalidateSessionResponse' + example: + message: logged out + /v2/auth/sessions: + get: + tags: + - Authentication + summary: Get all active user sessions + operationId: Authentication_getAllActiveUserSessions + description: Get the list of all active user sessions + parameters: + - description: User UUID to get sessions for (for Admin only) + name: user_uuid + in: query + schema: + type: string + format: uuid + responses: + '200': + description: User sessions + content: + application/json: + schema: + $ref: >- + #/components/schemas/AuthenticationGetAllActiveUserSessionsResponse + example: + - token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + delete: + tags: + - Authentication + summary: Deletes all user sessions + operationId: Authentication_removeAllSessions + description: Delete all user sessions + parameters: + - description: User UUID to delete sessions for (for Admin only) + name: user_uuid + in: query + schema: + type: string + format: uuid + responses: + '200': + description: Farewell message + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationRemoveAllSessionsResponse' + example: + message: logged out + /v2/bgp-settings: + get: + tags: + - Cloud Router BGP Session Settings + summary: >- + Returns a list of BGP settings instances associated with the current + account. + operationId: CloudRouterBgpSessionSettings_getList + responses: + '200': + description: A list of BGP session settings instances. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsGetListResponse + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: + tags: + - Cloud Router BGP Session Settings + summary: Returns a list of prefixes associated with a BGP settings instance. + operationId: CloudRouterBgpSessionSettings_listPrefixes + parameters: + - description: UUID of BGP settings to fetch prefixes for. + required: true + in: path + name: bgp_settings_uuid + schema: + type: string + format: uuid + responses: + '200': + description: A list of BGP prefixes. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsListPrefixesResponse + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: + tags: + - Cloud Router BGP Session Settings + summary: Returns the L3 IFL data associated with a BGP Session. + operationId: CloudRouterBgpSessionSettings_getL3IflData + parameters: + - description: UUID of BGP settings to fetch prefixes for. + required: true + in: path + name: bgp_settings_uuid + schema: + type: string + format: uuid + responses: + '200': + description: The L3 data associated with a BGP session. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsGetL3IflDataResponse + /v2/billing/services/{circuit_id}: + get: + tags: + - Billing + summary: >- + Returns billing details for the given circuit (Port, Cloud, or Virtual + Circuit) + operationId: get_order + parameters: + - description: ID of Port, Cloud, or Virtual Circuit to fetch billing data for + required: true + in: path + name: circuit_id + schema: + type: string + - description: >- + (Optional) You can specify the type of the product to fetch the + order for + required: false + in: query + name: service_type + schema: + type: string + enum: + - cross-connect + example: cross-connect + responses: + '200': + description: Order details + content: + application/json: + schema: + $ref: '#/components/schemas/GetOrderResponse' + /v2/billing/services/{circuit_id}/modify: + post: + tags: + - Billing + summary: Modify an existing order + operationId: modify_order + parameters: + - description: Circuit ID of the order to modify + required: true + in: path + name: circuit_id + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyOrderRequest' + responses: + '200': + description: Order modification details + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyOrderResponse' + '202': + description: Order modification details + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyOrder202Response' + /v2/billing/services/{circuit_id}/modify/preview: + post: + tags: + - Billing + summary: >- + Preview the price of modifying an existing order. Currently only + supports renewals without speed upgrades. + operationId: Billing_modifyOrderPreview + parameters: + - description: Circuit ID of the order to modify + required: true + in: path + name: circuit_id + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BillingModifyOrderPreviewRequest' + responses: + '200': + description: >- + List of orders that would be created if this modification was + applied + content: + application/json: + schema: + $ref: '#/components/schemas/BillingModifyOrderPreviewResponse' + /v2/billing/services/{account_uuid}: + get: + tags: + - Billing + summary: Returns all orders for the given billing account + operationId: Billing_accountOrdersGet + parameters: + - description: UUID of the billing account + required: true + in: path + name: account_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of orders + content: + application/json: + schema: + $ref: '#/components/schemas/BillingAccountOrdersGetResponse' + /v2/billing/pricing: + get: + tags: + - Billing + summary: Get pricing for specific services + operationId: get_pricing + security: [] + parameters: + - required: true + in: query + name: product_type + schema: + description: Type of product to retrieve pricing for + type: string + enum: + - aggregate_capacity + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + - vc_ix + - vc_marketplace + - add_on_fee + - high_performance_internet + - description: The subscription term, in months, to retrieve pricing for + required: false + in: query + name: subscription_term + schema: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + - description: >- + Filter pricing info by location type. If no pricing is found, the + service will attempt to search by a broader location type. eg. site + -> pop + required: true + in: query + name: location_type + schema: + type: string + example: pop + enum: + - site + - pop + - market + - country + - region + - description: >- + Code for the a-side location eg. SFO1. When using this paramater to + filter results, ensure location_type is also set. + required: false + in: query + name: side_a + example: SFO1 + schema: + type: string + - description: >- + Code for the z-side location eg. NYC1. When using this paramater to + filter results, ensure location_type is also set. + required: false + in: query + name: side_z + example: NYC1 + schema: + type: string + - description: >- + Limit results to pricing for a specific network provider on the a + side. Valid for location_type of market or region. + required: false + in: query + name: network_provider_a + schema: + type: string + enum: + - PacketFabric + - Colt + - description: >- + Limit results to pricing for a specific network provider on the z + side. Valid for location_type of market or region. + required: false + in: query + name: network_provider_z + schema: + type: string + enum: + - PacketFabric + - Colt + - description: Optic media type + required: false + in: query + name: media + example: LX + schema: + type: string + - description: Filter pricing by provider type + required: false + in: query + name: provider + example: aws + schema: + type: string + - description: Filter by dedicated or usage-base pricing + required: false + in: query + name: bandwidth_type + example: usage + schema: + type: string + - description: Filter by metro or longhaul connections + required: false + in: query + name: service_class + example: metro + schema: + type: string + - description: Filter by connection speed + required: false + in: query + name: speed + schema: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + - description: Filter for account specific pricing + required: false + in: query + name: account_uuid + schema: + type: string + format: uuid + example: c25e0c64-6da7-487e-8f47-f5e744813976 + - description: >- + Filter by the add-on fee key - this is only used for add_on_fee + product types + required: false + in: query + name: add_on_fee_key + schema: + type: string + enum: + - route_set + responses: + '200': + description: Pricing details + content: + application/json: + schema: + $ref: '#/components/schemas/GetPricingResponse' + /v2/billing/services/early-termination-liability/{circuit_id}: + get: + tags: + - Billing + summary: >- + Returns cost for stopping service on a circuit with a subscription term + early + operationId: Billing_earlyTerminationCost + parameters: + - description: ID of circuit to get early termination liability for + required: true + in: path + name: circuit_id + schema: + type: string + - description: >- + Datetime (ISO-8601 format) for which to fetch the early termination + liability. Defaults to right now. User's timezone will be used if + timestamp is not timezone aware. Examples: + `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642` + required: false + in: query + name: termination_date + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42' + responses: + '200': + description: Early termination liability + content: + text/plain: + schema: + $ref: '#/components/schemas/BillingEarlyTerminationCostResponse' + /v2/billing/accounts/{account_uuid}/invoices: + get: + tags: + - Billing + summary: Returns list of invoices + operationId: get_invoices + parameters: + - description: uuid of the billing account to get the list of invoices for + required: true + in: path + name: account_uuid + schema: + type: string + - description: Filter invoices which created after the start_date (UTC) + required: false + in: query + name: start_date + schema: + type: string + format: date + example: '2020-04-01' + - description: Filter invoices which created before the end_date (UTC) + required: false + in: query + name: end_date + schema: + type: string + format: date + example: '2020-04-01' + responses: + '200': + description: List of invoices + content: + application/json: + schema: + $ref: '#/components/schemas/GetInvoicesResponse' + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf: + get: + tags: + - Billing + summary: Returns invoice as PDF + operationId: get_pdf + parameters: + - description: uuid of the billing account to get the list of invoices for + required: true + in: path + name: account_uuid + schema: + type: string + - description: Filter invoices which created after the start_date + required: true + in: path + name: invoice_id + schema: + type: integer + example: 1 + responses: + '200': + description: Invoice as PDF file + content: + application/pdf: + schema: + $ref: '#/components/schemas/GetPdfResponse' + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv: + get: + tags: + - Billing + summary: Returns invoice as CSV + operationId: get_csv + parameters: + - description: uuid of the billing account to get the list of invoices for + required: true + in: path + name: account_uuid + schema: + type: string + - description: Filter invoices which created after the start_date + required: true + in: path + name: invoice_id + schema: + type: integer + example: 1 + - description: Get condensed CSV output + required: false + in: query + name: condensed + schema: + type: boolean + example: true + responses: + '200': + description: Invoice as CSV file (base64) + content: + text/csv: + schema: + $ref: '#/components/schemas/GetCsvResponse' + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: + tags: + - Billing + summary: Returns stripe customer portal session url + operationId: Billing_getStripeCustomerSessionUrl + parameters: + - description: >- + uuid of the billing account to get the stripe customer portal + session for + required: true + in: path + name: account_uuid + schema: + type: string + responses: + '200': + description: Stripe customer portal session url as json + content: + application/json: + schema: + $ref: >- + #/components/schemas/BillingGetStripeCustomerSessionUrlResponse + /v2/contacts: + get: + tags: + - Contacts + summary: Get the contacts associated with the current customer + operationId: Contacts_getCurrentCustomerList + parameters: + - description: >- + Filter for billing contacts (`true`) or non-billing contacts + (`false`) + name: billing + required: false + in: query + schema: + type: boolean + - description: Filter contact by UUID + name: contact_uuid + required: false + in: query + schema: + type: string + responses: + '200': + description: List of contacts + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetCurrentCustomerListResponse' + post: + tags: + - Contacts + summary: Add the contact for the current customer + operationId: contact_post + requestBody: + description: | + Details to create the Contact. The following validation rules apply: + * Technical contacts require only `first_name`, `last_name`, `phone` and `email` fields; + * `po_number` can only be used for `billing` contacts; + * If `po_number` is used, `first_name` and `last_name` fields are not required + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPostRequest' + responses: + '201': + description: Created contact details + content: + application/json: + schema: + $ref: '#/components/schemas/ContactPostResponse' + /v2/contacts/{contact_uuid}: + get: + tags: + - Contacts + summary: Get a single contact + operationId: contact_get + parameters: + - description: UUID of the contact to fetch + required: true + in: path + name: contact_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Contact object + content: + application/json: + schema: + $ref: '#/components/schemas/ContactGetResponse' + delete: + tags: + - Contacts + summary: Delete a single contact + operationId: contact_delete + parameters: + - description: UUID of the contact to delete + required: true + in: path + name: contact_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/ContactDeleteResponse' + patch: + tags: + - Contacts + summary: Update contact + operationId: contact_update + parameters: + - description: UUID of the contact to update + required: true + in: path + name: contact_uuid + schema: + type: string + format: uuid + requestBody: + description: | + Details to update the Contact + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateRequest' + responses: + '200': + description: Updated contact information + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateResponse' + /v2/contacts/{contact_uuid}/links/{circuit_id}: + post: + tags: + - Contacts + summary: Link a technical contact to a circuit + operationId: Contacts_linkCircuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + parameters: + - description: UUID of the contact to link. Must be a technical contact. + name: contact_uuid + required: true + in: path + schema: + type: string + format: uuid + - description: Circuit to link. + name: circuit_id + required: true + in: path + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsLinkCircuitResponse' + delete: + tags: + - Contacts + summary: Delete a link between a technical contact and a circuit + operationId: Contacts_deleteLink + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + parameters: + - description: UUID of the contact to unlink. + name: contact_uuid + required: true + in: path + schema: + type: string + format: uuid + - description: Circuit to unlink. + name: circuit_id + required: true + in: path + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsDeleteLinkResponse' + /v2/contacts/links: + get: + tags: + - Contacts + summary: Retrieve list of contact-circuit links + operationId: Contacts_getContactCircuitLinks + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + parameters: + - description: Only retrieve links associated with this contact + name: contact_uuid + required: false + in: query + schema: + type: string + format: uuid + - description: Only retrieve links associated with this circuit + name: circuit_id + required: false + in: query + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Contact-circuit links + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetContactCircuitLinksResponse' + /v2/customers/company-types: + get: + tags: + - Customers + summary: Get list of company types + operationId: Customers_getCompanyTypes + security: [] + description: Company types are used during the signup process + responses: + '200': + description: List of company types + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersGetCompanyTypesResponse' + /v2/customers/current: + get: + tags: + - Customers + summary: Get current customer data + operationId: customer_get + responses: + '200': + description: Current customer details + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerGetResponse' + patch: + tags: + - Customers + summary: Update current customer data + operationId: customer_update + requestBody: + description: Modified fields for the current customer + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerUpdateRequest' + responses: + '200': + description: Current customer details updated with provided fields + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerUpdateResponse' + /v2/customers/images/{uuid}: + get: + tags: + - Customers + summary: Return customer logo for provided customer's UUID + operationId: Customers_getLogoByUuid + parameters: + - description: Customer UUID + required: true + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: Customer logo in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + $ref: '#/components/schemas/CustomersGetLogoByUuidResponse' + image/png: + schema: + $ref: '#/components/schemas/CustomersGetLogoByUuid200Response' + image/bmp: + schema: + $ref: '#/components/schemas/CustomersGetLogoByUuid200Response1' + /v2/customers/current/image: + post: + tags: + - Customers + summary: >- + Upload image file with a company logo. Supported formats are PNG, JPEG + or BMP + operationId: Customers_uploadLogoImage + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/CustomersUploadLogoImageRequest' + responses: + '200': + description: Logo changed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersUploadLogoImageResponse' + /v2/customers/current/locations: + get: + tags: + - Customers + summary: Get location list for the current customer + operationId: Customers_getLocationList + parameters: + - description: Filter locations by the POP name + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter locations by the city name + required: false + in: query + name: city + schema: + type: string + example: Los Angeles + - description: Filter locations by the state + required: false + in: query + name: state + schema: + type: string + example: CA + - description: Filter locations by the market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter locations by the region's short name + required: false + in: query + name: region + schema: + type: string + example: US + responses: + '200': + description: >- + List of locations the current customer is in, optionally filtered by + provided parameters + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersGetLocationListResponse' + /v2/customers/current/account-managers: + get: + tags: + - Customers + summary: Get all customer account managers for the current customer + operationId: Customers_getCurrentAccountManagers + responses: + '200': + description: An object containing a list of customer account managers + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomersGetCurrentAccountManagersResponse + deprecated: true + /v2/customers/current/sales-team: + get: + tags: + - Customers + summary: Get the sales team details for the current customer + operationId: Customers_getCurrentSalesTeam + responses: + '200': + description: An object containing lists of the different sales team members + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersGetCurrentSalesTeamResponse' + /v2/customers: + get: + tags: + - Customers + summary: Get customer list by filter params + operationId: get_customers + parameters: + - description: Search query string used to filter customers by name or description + required: false + in: query + name: q + schema: + type: string + - description: Filter customers by exact name + required: false + in: query + name: name + schema: + type: string + - description: Filter customers by Customer Routing ID + required: false + in: query + name: routing_id + schema: + type: string + - description: Filter customers by the market operated in + required: false + in: query + name: market + schema: + type: string + - description: Filter customers by POP name + required: false + in: query + name: pop + schema: + type: string + - description: >- + Filter customers by type. Accepts either a single value or an array + of values. + required: false + in: query + name: type + schema: + type: array + items: + type: string + enum: + - customer + - ix + - partner + responses: + '200': + description: List of customers, optionally filtered by provided filter parameters + content: + application/json: + schema: + $ref: '#/components/schemas/GetCustomersResponse' + /v2/customers/{customer_uuid}/industries: + get: + tags: + - Customers + summary: Return customer industries by UUID + operationId: Customers_getIndustriesByUuid + parameters: + - description: UUID of chosen customer + required: true + in: path + name: customer_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of industries for selected customer + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersGetIndustriesByUuidResponse' + /v2/customers/{customer_uuid}/locations: + get: + tags: + - Customers + summary: Return customer locations by UUID + operationId: Customers_getLocationsByUuid + parameters: + - description: UUID of chosen customer + required: true + in: path + name: customer_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of locations for selected customer + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersGetLocationsByUuidResponse' + /v2/customers/{customer_uuid}/service-provider-types: + get: + tags: + - Customers + summary: Return customer service_provider_types by UUID + operationId: Customers_getServiceProviderTypesByUuid + parameters: + - description: UUID of chosen customer + required: true + in: path + name: customer_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of service provider types for selected customer + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomersGetServiceProviderTypesByUuidResponse + /v2/customers/current/ix-details: + patch: + tags: + - Customers + summary: Update IX details for the current customer + operationId: Customers_updateIxDetails + requestBody: + description: Modified IX details for the current customer + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersUpdateIxDetailsRequest' + responses: + '200': + description: Current customer IX details updated with provided fields + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersUpdateIxDetailsResponse' + /v2/customers/{customer_uuid}/ix-details: + get: + tags: + - Customers + summary: Return IX details by IX customer UUID + operationId: Customers_ixDetailsGet + parameters: + - description: UUID of chosen customer + required: true + in: path + name: customer_uuid + schema: + type: string + format: uuid + responses: + '200': + description: IX details + content: + application/json: + schema: + $ref: '#/components/schemas/CustomersIxDetailsGetResponse' + /v2/diagnostic-reports: + post: + tags: + - Diagnostic Reports + summary: Create a diagnostic report + operationId: DiagnosticReports_createReport + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiagnosticReportsCreateReportRequest' + responses: + '200': + description: Response of a created diagnostic report + content: + application/json: + schema: + $ref: '#/components/schemas/DiagnosticReportsCreateReportResponse' + get: + tags: + - Diagnostic Reports + summary: Get diagnostic reports + operationId: get_reports + parameters: + - description: The number of results to return per page + required: false + in: query + name: page_size + schema: + type: integer + - description: The reason to filter by + required: false + in: query + name: reason + schema: + type: string + enum: + - USER + - SYSTEM + - OTHER + - description: The user login to filter by + required: false + in: query + name: user_login + schema: + type: string + - description: Circuit ID of the service to get the reports + required: false + in: query + name: circuit_id + schema: + type: string + - description: The offset of results for this page + required: false + in: query + name: offset + schema: + type: integer + - description: Search query string used to filter reports + required: false + in: query + name: q + schema: + type: string + - description: The user provided description of the report + required: false + in: query + name: description + schema: + type: string + - description: Column to sort results on + required: false + in: query + name: sort_column + schema: + type: string + enum: + - current_event_num + - num_expected_events + - report_uuid + - state + - time_created + - description: The offset of results for this page + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Get list of diagnostic reports based on query parameters + content: + application/json: + schema: + $ref: '#/components/schemas/GetReportsResponse' + /v2/diagnostic-reports/{report_uuid}: + get: + tags: + - Diagnostic Reports + summary: Get diagnostic report details by UUID + operationId: get_report + parameters: + - description: UUID of the diagnostic report to fetch + name: report_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report details + content: + application/json: + schema: + $ref: '#/components/schemas/GetReportResponse' + delete: + tags: + - Diagnostic Reports + summary: Delete diagnostic report + operationId: delete_report + parameters: + - description: UUID of the diagnostic report to delete + name: report_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report deleted successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteReportResponse' + /v2/documents: + get: + tags: + - Documents + summary: Get documents list filtered by params + operationId: Documents_listFilteredByParams + description: | + Use this endpoint to fetch the list of the documents. + You can use filters for your search results + parameters: + - description: Search documents by UUID + name: uuid + schema: + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + in: query + - description: Search document by name + name: name + schema: + type: string + example: loa.pdf + in: query + required: false + - description: Search document by type + name: type + example: loa + schema: + type: string + enum: + - loa + - msa + - service_order + - test_results + - other + in: query + - description: Search LOA by port id + name: port_circuit_id + schema: + type: string + example: PF-AP-WDC1-1000 + in: query + - description: Search LOA by pop + name: pop + schema: + type: string + example: WDC1 + in: query + - description: Search service orders by Virtual Circuit ID + name: vc_circuit_id + schema: + type: string + example: PF-DC-SMF-PDX-12345 + in: query + - description: Search service orders by Cloud Router Circuit ID + name: cloud_router_circuit_id + schema: + type: string + example: PF-L3-CUST-1400 + in: query + - description: Search service orders by Cloud Router Connection Circuit ID + name: cloud_router_connection_circuit_id + schema: + type: string + example: PF-L3-CON-12345 + in: query + - description: Search service orders by High Performance Internet Circuit ID + name: hpi_circuit_id + schema: + type: string + example: PF-L3-TRAN-1400 + in: query + - description: Search service orders by Flex Bandwidth Container ID + name: aggregate_capacity_id + schema: + type: string + example: PF-AB-12345 + in: query + deprecated: true + - description: Search service orders by Flex Bandwidth Container ID + name: flex_bandwidth_id + schema: + type: string + example: PF-AB-12345 + in: query + - description: Search documents by partial name + name: q + required: false + schema: + type: string + example: loa + in: query + - description: Number of records to skip + name: offset + required: false + in: query + schema: + type: integer + example: 20 + - description: Number of records to show + name: page_size + required: false + in: query + schema: + type: integer + example: 10 + - description: Column to sort results on + name: sort_column + required: false + in: query + schema: + type: string + enum: + - type + - name + - created + - updated + - description: Sort order + name: sort_order + required: false + in: query + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of documents + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentsListFilteredByParamsResponse' + post: + tags: + - Documents + summary: Create/Upload a document + operationId: document_upload + requestBody: + description: Document uploading form + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/DocumentUploadRequest' + responses: + '201': + description: Created document details + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentUploadResponse' + /v2/documents/{uuid}: + get: + tags: + - Documents + summary: Download the document + operationId: Documents_download + security: [] + parameters: + - description: UUID of the document to download + required: true + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: Document's binary data + content: + application/octet-stream: + schema: + $ref: '#/components/schemas/DocumentsDownloadResponse' + /v2/events: + post: + tags: + - Streaming Events - Beta + summary: Create event subscription + operationId: StreamingEventsBeta_createSubscription + description: > + **This is a beta feature.** + + + Cloud router connections are not supported yet. + + + This is the first step to receive a real-time event stream via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). + + + In this POST request, you declare which types of events and categories + of those event + + types you wish to stream. Assuming your request is valid, the response + will contain a + + `subscription_uuid` that you will use as a path parameter for the + *Stream Events* `/v2/events/{uuid}` + + endpoint described below. + + + Each subscription bundle is permanently associated with the session that + created it and can + + only be streamed within that session. This includes subscription bundles + created using API + + Keys (`/v2/api-keys`). Further, you must begin streaming your new + subscription bundle within + + 5 minutes of creation or it will expire. However, once you begin + streaming a particular + + bundle it will be valid until the session associated with it expires. + + + **Make sure to fully expand the schema by clicking `>` to see the + details for each type of payload.** + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/StreamingEventsBetaCreateSubscriptionRequest + responses: + '201': + description: Subscription bundle created successfully + content: + application/json: + schema: + $ref: >- + #/components/schemas/StreamingEventsBetaCreateSubscriptionResponse + /v2/events/{uuid}: + get: + tags: + - Streaming Events - Beta + summary: Stream events + operationId: stream_events + description: > + **This is a beta feature.** + + + Ensure that you have created a subscription bundle using the *Create + event subscription* `/v2/events` + + endpoint described above and that you have access to the + `subscription_uuid` returned from that request. + + + Using this `subscription_uuid`, you can now stream events in real-time + via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) + from + + `/v2/events/{subscription_uuid}`. + + + Every message that you receive will have the same basic structure of an + `event` field and a + + `data` field. The `data` field will always be a JSON object. The below + is an example of the + + response you would receive when one of your users authenticates with the + PacketFabric Portal or API. + + ``` + + event: customer|auth + + data: {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User Hank Aaron logged + in.","timestamp": "2020-06-11T19:08:10.150711"} + + + ``` + + The precise content of the `data` of a given message will vary widely + depending on its particular + + type. The specifics of each are documented below. + + + In order to keep the connection open, you will also receive heartbeat + messages (`:`) if enough + + time has passed between events. Our API enforces a maximum connection + duration of two hours, + + so any automated system that uses this endpoint will need to account for + reconnecting periodically. + + + The below is a small example client using the + [sseclient](https://github.com/btubbs/sseclient) + + library for consuming a stream of Server-sent events. To use it, you'll + need to install sseclient and + + [requests](https://docs.python-requests.org/en/master/index.html) and be + using Python 3.7 or later. + + You will need to set your username and password into the `username` and + `password` + + variables near the bottom of the file as well. Also, the sseclient + library will automatically + + reconnect when the connection is lost. + + + ``` + + import asyncio + + import datetime + + + import requests + + from sseclient import SSEClient + + + BASE_URL = "https://api.packetfabric.com" + + + LOGIN = f"{BASE_URL}/v2/auth/login" + + LOGOUT = f"{BASE_URL}/v2/auth/logout" + + EVENTS_BASE = f"{BASE_URL}/v2/events" + + + + def login(username, password): + print("Logging in...") + resp = requests.post(LOGIN, json={"login": username, "password": password}) + print(f"Login response: {resp.json()}") + return resp.json()["token"] + + + def logout(token): + headers = {"Authorization": f"Bearer {token}"} + requests.get(LOGOUT, headers=headers) + print("Logged out") + + + def create_subscription(token): + url = EVENTS_BASE + headers = {"Authorization": f"Bearer {token}"} + body = { + "streams": [{"type": "customer"}] + } + resp = requests.post(url, json=body, headers=headers) + return resp.json()["subscription_uuid"] + + + async def consume_client(token, subscription_uuid): + headers = {"Authorization": f"Bearer {token}", "Accept": "text/event-stream"} + url = f"{EVENTS_BASE}/{subscription_uuid}" + r = SSEClient(url, headers=headers) + for event in r: + print(event.dump()) + + + if __name__ == "__main__": + username = "" + password = "" + token = login(username, password) + subscription_uuid = create_subscription(token) + try: + print(f"Starting stream at {datetime.datetime.utcnow().isoformat()}") + asyncio.run(consume_client(token, subscription_uuid)) + finally: + print(f"Ending stream at {datetime.datetime.utcnow().isoformat()}") + logout(token) + ``` + parameters: + - description: UUID of the subscription bundle + required: true + in: path + name: uuid + schema: + type: string + format: uuid + responses: + default: + description: Event stream + content: + text/event-stream: + schema: + $ref: '#/components/schemas/StreamEventsResponse' + /v2/flex-bandwidth: + post: + tags: + - Flex Bandwidth + summary: Create a flex bandwidth container + operationId: FlexBandwidth_createContainer + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthCreateContainerRequest' + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthCreateContainerResponse' + get: + tags: + - Flex Bandwidth + summary: Get all flex bandwidth containers for the current customer + operationId: FlexBandwidth_getAllContainers + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthGetAllContainersResponse' + /v2/flex-bandwidth/{flex_bandwidth_id}: + get: + tags: + - Flex Bandwidth + summary: Get a flex bandwidth container by ID + operationId: FlexBandwidth_getById + parameters: + - description: The ID of the flex bandwidth container + in: path + name: flex_bandwidth_id + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthGetByIdResponse' + delete: + tags: + - Flex Bandwidth + summary: Delete a flex bandwidth container + operationId: FlexBandwidth_deleteContainer + parameters: + - description: The ID of the flex bandwidth container + in: path + name: flex_bandwidth_id + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/groups: + get: + tags: + - Groups + summary: Get the current customer's groups + operationId: group_get + description: >- + Use this endpoint to get the list of groups available for the current + customer + responses: + '200': + description: List of the current customer's groups + content: + application/json: + schema: + $ref: '#/components/schemas/GroupGetResponse' + /v2/groups/{group_name}/users: + get: + tags: + - Groups + summary: Get the list of users in the group + operationId: Groups_getUserList + parameters: + - description: Name of the group to get the list of users in + required: true + in: path + name: group_name + schema: + type: string + example: regular + responses: + '200': + description: List of users in the group + content: + application/json: + schema: + $ref: '#/components/schemas/GroupsGetUserListResponse' + /v2/groups/{group_name}/permissions: + get: + tags: + - Groups + summary: Get the list of permissions granted for the group + operationId: Groups_listPermissions + description: >- + Every granted permission makes it possible to use corresponding + resources + parameters: + - description: Name of the group to get the list of permissions in + required: true + in: path + name: group_name + schema: + type: string + example: regular + responses: + '200': + description: List of group's permissions + content: + application/json: + schema: + $ref: '#/components/schemas/GroupsListPermissionsResponse' + /v2/locations/{site_code}: + get: + tags: + - Locations + summary: Get location data for specified location + operationId: get_location + parameters: + - description: Site code of the target location + required: true + in: path + name: site_code + schema: + type: string + example: CS-LA1 + responses: + '200': + description: Details of a physical location specified by the site code + content: + application/json: + schema: + $ref: '#/components/schemas/GetLocationResponse' + /v2/locations: + get: + tags: + - Locations + summary: Get location list by filter params + operationId: Locations_filterParamsList + security: [] + parameters: + - description: Filter locations by the POP name + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter locations by the city name + required: false + in: query + name: city + schema: + type: string + example: Los Angeles + - description: Filter locations by the state + required: false + in: query + name: state + schema: + type: string + example: CA + - description: Filter locations by the market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter locations by the region's short name + required: false + in: query + name: region + schema: + type: string + example: US + - description: >- + Flag specifying should only primary locations or locations of any + type be returned + required: false + in: query + name: any_type + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations capable of IPSec should be + returned + required: false + in: query + name: ipsec_capable + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations capable of NAT should be + returned + required: false + in: query + name: nat_capable + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + required: false + in: query + name: near_cloud_router + schema: + type: boolean + default: false + - description: Filter locations by whether or not they are single armed + required: false + in: query + name: single_armed + schema: + type: boolean + default: false + - description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + required: false + in: query + name: device_port_type + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsFilterParamsListResponse' + /v2.1/locations: + get: + tags: + - Locations + summary: Get location list by filter params + operationId: Locations_filterParamsList + security: [] + parameters: + - description: Filter locations by the POP name + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter locations by the city name + required: false + in: query + name: city + schema: + type: string + example: Los Angeles + - description: Filter locations by the state + required: false + in: query + name: state + schema: + type: string + example: CA + - description: Filter locations by the market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter locations by the region's short name + required: false + in: query + name: region + schema: + type: string + example: US + - description: >- + Flag specifying should only primary locations or locations of any + type be returned + required: false + in: query + name: any_type + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations capable of IPSec should be + returned + required: false + in: query + name: ipsec_capable + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations capable of NAT should be + returned + required: false + in: query + name: nat_capable + schema: + type: boolean + default: false + - description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + required: false + in: query + name: near_cloud_router + schema: + type: boolean + default: false + - description: Filter locations by the cloud provider + required: false + in: query + name: cloud_provider + schema: + type: string + enum: + - aws + - azure + - google + - ibm + - oracle + - description: Filter locations by the cloud connection type + required: false + in: query + name: cloud_connection_type + schema: + type: string + enum: + - dedicated + - hosted + - description: Filter locations by the network provider + required: false + in: query + name: network_provider + schema: + type: string + example: PacketFabric + - description: Filter locations by whether or not they are single armed + required: false + in: query + name: single_armed + schema: + type: boolean + - description: Export the data as a CSV file + required: false + in: query + name: export + schema: + type: string + example: csv + - description: Filter locations by whether or not they support ENNI + required: false + in: query + name: enni + schema: + type: boolean + - description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + required: false + in: query + name: device_port_type + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsFilterParamsList200Response' + /v2/locations/cloud: + get: + tags: + - Locations + summary: Get a list of cloud locations filtered by query params + operationId: Locations_listCloudLocations + parameters: + - description: Filter locations by the POP name + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter locations by the city name + required: false + in: query + name: city + schema: + type: string + example: Los Angeles + - description: Filter locations by the state + required: false + in: query + name: state + schema: + type: string + example: CA + - description: Filter locations by the market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter locations by the region's short name + required: false + in: query + name: region + schema: + type: string + example: US + - description: >- + Flag specifying should only primary locations or locations of any + type be returned + required: false + in: query + name: any_type + schema: + type: boolean + default: false + - description: Flag to look for only cloud-router capable locations + required: false + in: query + name: has_cloud_router + schema: + type: boolean + default: false + - description: Filter locations by the cloud provider key + required: true + in: query + name: cloud_provider + schema: + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - description: Filter locations by the cloud connection type + required: true + in: query + name: cloud_connection_type + schema: + type: string + enum: + - hosted + - dedicated + - description: >- + Flag specifying that only locations capable of NAT should be + returned + required: false + in: query + name: nat_capable + schema: + type: boolean + default: false + - description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + required: false + in: query + name: device_port_type + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsListCloudLocationsResponse' + /v2/locations/extrametro: + get: + tags: + - Locations + summary: Get a list of extrametro locations + operationId: Locations_listExtrametro + responses: + '200': + description: List of extrametro locations + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsListExtrametroResponse' + /v2/locations/regions: + get: + tags: + - Locations + summary: Get region list + operationId: Locations_list + responses: + '200': + description: List of available regions + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsListResponse' + /v2/locations/markets: + get: + tags: + - Locations + summary: Get market list + operationId: Locations_getMarketList + responses: + '200': + description: List of available markets + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsGetMarketListResponse' + /v2/locations/{pop}/port-availability: + get: + tags: + - Locations + summary: Get port availability data for a POP + operationId: Locations_getPortAvailabilityDataForPop + parameters: + - description: POP name of the target port + required: true + in: path + name: pop + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: >- + #/components/schemas/LocationsGetPortAvailabilityDataForPopResponse + /v2/locations/{pop}/zones: + get: + tags: + - Locations + summary: Get zones for a POP. + operationId: Locations_getZonesForPOP + parameters: + - description: POP name of the target port + required: true + in: path + name: pop + schema: + type: string + responses: + '200': + description: A list of zones in the given POP. + content: + application/json: + schema: + $ref: '#/components/schemas/LocationsGetZonesForPopResponse' + /v2/locations/{pop}/image: + get: + tags: + - Locations + summary: Get image for a specified location + operationId: Locations_getImage + parameters: + - description: POP name of the target location + required: true + in: path + name: pop + schema: + type: string + responses: + '200': + description: Location image in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + $ref: '#/components/schemas/LocationsGetImageResponse' + image/png: + schema: + $ref: '#/components/schemas/LocationsGetImage200Response' + image/bmp: + schema: + $ref: '#/components/schemas/LocationsGetImage200Response1' + /v2/labels/{value}: + put: + tags: + - Labels + summary: Update a label + operationId: update_label + parameters: + - description: Label value + required: true + in: path + name: value + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLabelRequest' + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLabelResponse' + patch: + tags: + - Labels + summary: Add to a label's circuit_ids + operationId: add_label + parameters: + - description: Label value + required: true + in: path + name: value + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddLabelRequest' + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + $ref: '#/components/schemas/AddLabelResponse' + get: + tags: + - Labels + summary: Get a list of objects associated with a label + operationId: Labels_associatedObjectsGet + parameters: + - description: Label value + required: true + in: path + name: value + schema: + type: string + - description: >- + Label type. customer_ref by default. reseller_ref is only for the + reseller customers + required: false + in: query + name: label_type + schema: + type: string + enum: + - customer_ref + - reseller_ref + responses: + '200': + description: List of circuit IDs associated with a label + content: + application/json: + schema: + $ref: '#/components/schemas/LabelsAssociatedObjectsGetResponse' + /v2/labels: + get: + tags: + - Labels + summary: Get a list of labels associated with a customer + operationId: get_labels + responses: + '200': + description: List of labels associated with a customer + content: + application/json: + schema: + $ref: '#/components/schemas/GetLabelsResponse' + /v2/lags: + post: + tags: + - LAGs + summary: Create a LAG Interface + operationId: lag_post + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LagPostRequest' + responses: + '201': + description: LAG creation successful, returns newly created LAG + content: + application/json: + schema: + $ref: '#/components/schemas/LagPostResponse' + /v2/lags/{port_circuit_id}: + patch: + tags: + - LAGs + summary: Updates a LAG Interface + operationId: lag_patch + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LagPatchRequest' + responses: + '200': + description: Returns the updated interface + content: + application/json: + schema: + $ref: '#/components/schemas/LagPatchResponse' + delete: + tags: + - LAGs + summary: Deletes a LAG Interface + operationId: lag_delete + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully started task to delete the interface + content: + application/json: + schema: + $ref: '#/components/schemas/LagDeleteResponse' + /v2/lags/{port_circuit_id}/enable: + post: + tags: + - LAGs + summary: Enables a target LAG Interface + operationId: LaGs_enableTargetInterface + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully started task to enable the interface + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsEnableTargetInterfaceResponse' + /v2/lags/{port_circuit_id}/disable: + post: + tags: + - LAGs + summary: Disables a target LAG Interface + operationId: LaGs_disableTargetInterface + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully started task to disable the interface + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsDisableTargetInterfaceResponse' + /v2/lags/{lag_port_circuit_id}/members: + get: + tags: + - LAGs + summary: Lists member interfaces for a LAG + operationId: LaGs_listMembers + parameters: + - description: ID of a LAG + required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + responses: + '200': + description: List of port members of the LAG + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsListMembersResponse' + post: + tags: + - LAGs + summary: >- + Adds a member interface to a target LAG. All members must have the same + speed and media. + operationId: LaGs_addMemberInterface + parameters: + - description: ID of a target LAG + required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsAddMemberInterfaceRequest' + responses: + '200': + description: Successfully started task to add member interface(s) + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsAddMemberInterfaceResponse' + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: + tags: + - LAGs + summary: Remove a member interface from a target LAG + operationId: LaGs_removeMemberInterface + parameters: + - description: ID of a target LAG + required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + - description: ID of the member to remove + required: true + in: path + name: member_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-7890 + responses: + '200': + description: Successfully started task to delete member interface + content: + application/json: + schema: + $ref: '#/components/schemas/LaGsRemoveMemberInterfaceResponse' + /v2/marketplace/services: + get: + tags: + - Marketplace + summary: Get the collection of customers with services offered in the marketplace + operationId: Marketplace_customerServicesGet + parameters: + - description: >- + Filters the service list to a specific service-provider customer. + Allows multiple comma-separated values. + required: false + in: query + name: routing_id + schema: + type: string + example: GAL-OHR-I9MM + - description: >- + Filters the service list to a specific location. Allows multiple + comma-separated values. + required: false + in: query + name: pop + schema: + type: string + example: SAC1 + - description: >- + Filters the service list to a specific market. Allows multiple + comma-separated values. + required: false + in: query + name: market + schema: + type: string + example: SAC + - description: Filters the service list to a specific category + required: false + in: query + name: category + schema: + type: string + example: cloud-computing + - description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + required: false + in: query + name: industry + schema: + type: string + example: telecommunications + - description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + required: false + in: query + name: service_provider_type + schema: + type: string + example: Cloud Computing Providers + - description: >- + Filters the service list by service type. Allows multiple + comma-separated values. Defaults to port-service. + required: false + in: query + name: service_type + schema: + type: string + enum: + - port-service + - cloud-router-service + example: Port Service + - description: >- + Show unpublished services. Only returns results for the current + customer. Defaults to false. + required: false + in: query + name: show_unpublished + schema: + type: boolean + example: true + - description: >- + Filters services by partial name, description, service uuid, or + customer name + required: false + in: query + name: q + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - description: Show cloud-router services with no prefixes. + required: false + in: query + name: show_empty + schema: + type: boolean + example: true + default: false + - description: Number of records to skip + name: offset + required: false + in: query + schema: + type: integer + example: 20 + - description: Number of records to show + name: page_size + required: false + in: query + schema: + type: integer + example: 10 + - description: Column to sort results on + name: sort_column + required: false + in: query + schema: + type: string + enum: + - customer_uuid + - name + - time_created + - description: Pagination sort order. + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all marketplace services matching the applied filters. + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceCustomerServicesGetResponse' + post: + tags: + - Marketplace + summary: Create a new service + operationId: Marketplace_createService + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceCreateServiceRequest' + responses: + '201': + description: Created marketplace service + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceCreateServiceResponse' + /v2/marketplace/services/quick-connect: + get: + tags: + - Marketplace + summary: Get the collection of Quick Connect services + operationId: Marketplace_quickConnectList + parameters: + - description: Filters the service list to a specific service-provider customer. + required: false + in: query + name: routing_id + schema: + type: string + example: GAL-OHR-I9MM + - description: >- + Indicates whether to return published services or unpublished + services, used with routing_id param. + required: false + in: query + name: published + schema: + type: boolean + example: true + - description: >- + Filters the service list to a specific category. Allows multiple + comma-separated values. + required: false + in: query + name: category + schema: + type: string + example: cloud-computing + - description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + required: false + in: query + name: industry + schema: + type: string + example: telecommunications + - description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + required: false + in: query + name: service_provider_type + schema: + type: string + example: Cloud Computing Providers + - description: Filters the service list by the attached cloud router id. + required: false + in: query + name: l3nf_id + schema: + type: integer + example: 1000 + - description: Filters services by partial name, description or service uuid + required: false + in: query + name: q + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - description: Show cloud-router services with no prefixes. + required: false + in: query + name: show_empty + schema: + type: boolean + example: true + default: false + - description: Number of records to skip + name: offset + required: false + in: query + schema: + type: integer + example: 20 + - description: Number of records to show + name: page_size + required: false + in: query + schema: + type: integer + example: 10 + - description: Column to sort results on + name: sort_column + required: false + in: query + schema: + type: string + enum: + - description + - name + - uuid + - description: Pagination sort order. + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all Quick Connect services matching the applied filters. + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceQuickConnectListResponse' + /v2/marketplace/services/{service_uuid}: + get: + tags: + - Marketplace + summary: Get a single service object + operationId: Marketplace_getServiceObject + parameters: + - description: UUID by which to filter + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Service object matching requested UUID + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceGetServiceObjectResponse' + patch: + tags: + - Marketplace + summary: Update a service + operationId: Marketplace_updateService + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceRequest' + responses: + '200': + description: Details of updated service + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceResponse' + delete: + tags: + - Marketplace + summary: Delete a marketplace service + operationId: Marketplace_deleteService + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Response message + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceDeleteServiceResponse' + /v2/marketplace/services/{service_uuid}/image: + get: + tags: + - Marketplace + summary: Get a service's image + operationId: Marketplace_serviceImageGet + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Chosen service's image + content: + image/png: + schema: + $ref: '#/components/schemas/MarketplaceServiceImageGetResponse' + image/jpeg: + schema: + $ref: '#/components/schemas/MarketplaceServiceImageGet200Response' + image/bmp: + schema: + $ref: '#/components/schemas/MarketplaceServiceImageGet200Response' + delete: + tags: + - Marketplace + summary: Delete a service's image + operationId: Marketplace_deleteServiceImage + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Response message + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceDeleteServiceImageResponse' + post: + tags: + - Marketplace + summary: Update a service's image + operationId: Marketplace_updateServiceImage + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + requestBody: + description: Image to be set for the service + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceImageRequest' + responses: + '200': + description: Image set successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceImageResponse' + /v2/marketplace/services/{service_uuid}/thumbnail: + get: + tags: + - Marketplace + summary: Get a service's thumbnail + operationId: Marketplace_serviceThumbnailGet + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Chosen service's thumbnail + content: + image/png: + schema: + $ref: '#/components/schemas/MarketplaceServiceThumbnailGetResponse' + image/jpeg: + schema: + $ref: '#/components/schemas/MarketplaceServiceThumbnailGet200Response' + image/bmp: + schema: + $ref: '#/components/schemas/MarketplaceServiceThumbnailGet200Response' + post: + tags: + - Marketplace + summary: Update a service's thumbnail + operationId: Marketplace_updateServiceThumbnail + parameters: + - description: Service UUID + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + requestBody: + description: Thumbnail to be set for the service + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceThumbnailRequest' + responses: + '200': + description: Thumbnail set successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceUpdateServiceThumbnailResponse' + /v2/marketplace/services/{service_uuid}/route-set: + get: + tags: + - Marketplace + summary: Returns the Route Set associated with the Marketplace Service. + operationId: Marketplace_serviceRouteSetGet + parameters: + - description: UUID by which to filter + required: true + in: path + name: service_uuid + schema: + type: string + format: uuid + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceServiceRouteSetGetResponse' + /v2/marketplace/industries: + get: + tags: + - Marketplace + summary: Return a list of all possible industries + operationId: industries_get + parameters: + - description: Only return items that are in use by at least one customer + required: false + in: query + name: active + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible industries + content: + application/json: + schema: + $ref: '#/components/schemas/IndustriesGetResponse' + /v2/marketplace/service-provider-types: + get: + tags: + - Marketplace + summary: Return a list of all possible service provider types + operationId: Marketplace_getServiceProviderTypes + parameters: + - description: Only return items that are in use by at least one customer + required: false + in: query + name: active + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service provider types + content: + application/json: + schema: + $ref: >- + #/components/schemas/MarketplaceGetServiceProviderTypesResponse + /v2/marketplace/service-categories: + get: + tags: + - Marketplace + summary: Return a list of all possible service categories + operationId: Marketplace_getServiceCategories + parameters: + - description: Only return items that are in use by at least one customer + required: false + in: query + name: active + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service categories + content: + application/json: + schema: + $ref: '#/components/schemas/MarketplaceGetServiceCategoriesResponse' + /v2/maintenances/history: + get: + tags: + - Maintenance Notifications + summary: Get list of individual maintenance histories + operationId: MaintenanceNotifications_getListIndividualHistories + description: >- + Get list of individual maintenance histories, one per contact and + associated circuit ID, optionally filtered by uuid + parameters: + - description: The UUID of the target maintenance + required: false + in: query + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of maintenance histories + content: + application/json: + schema: + $ref: >- + #/components/schemas/MaintenanceNotificationsGetListIndividualHistoriesResponse + /v2/maintenances/notifications: + get: + tags: + - Maintenance Notifications + summary: Get maintenance notifications list filtered by uuid, action or type + operationId: MaintenanceNotifications_filterByUuidActionOrType + parameters: + - description: >- + The UUID of the maintenance details object that notifications were + sent in relation to. + required: false + in: query + name: uuid + schema: + type: string + format: uuid + - description: Maintenance action + required: false + in: query + name: action + schema: + type: string + enum: + - open + - update + - close + - cancel + - reminder + - description: Type of maintenance + required: false + in: query + name: type + schema: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + - description: Filter by maintenance start date/time. + required: false + in: query + name: start + schema: + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + - description: Filter by maintenance end date/time. + required: false + in: query + name: end + schema: + type: string + format: date-time + example: '2020-01-01T14:30:00.000Z' + responses: + '200': + description: List of maintenance notification objects + content: + application/json: + schema: + $ref: >- + #/components/schemas/MaintenanceNotificationsFilterByUuidActionOrTypeResponse + /v2/maintenances/by-location: + get: + tags: + - Maintenance Notifications + summary: Get current and future maintenances by pop name and/or market code + operationId: MaintenanceNotifications_getCurrentFutureByPopNameAndMarketCode + description: >- + Maintenances that are already complete will not be included in the + results + parameters: + - description: >- + Filter to maintenances that affect this pop, or the market that + contains this pop. Can be specified multiple times to filter by + multiple pops. + required: false + in: query + name: pop_names_list + schema: + type: string + example: WDC1 + - description: >- + Filter to maintenances that affect this market. Can be specified + multiple times to filter by multiple markets + required: false + in: query + name: market_codes_list + schema: + type: string + example: WDC + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + $ref: >- + #/components/schemas/MaintenanceNotificationsGetCurrentFutureByPopNameAndMarketCodeResponse + /v2/maintenances/by-service/{circuit_id}: + get: + tags: + - Maintenance Notifications + summary: Get current and future maintenances that affect a given service + operationId: MaintenanceNotifications_getAffectedServiceMaintenances + description: >- + Maintenances that are already complete will not be included in the + results + parameters: + - description: Circuit ID of the service for which to fetch maintenances + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + $ref: >- + #/components/schemas/MaintenanceNotificationsGetAffectedServiceMaintenancesResponse + /v2/metrics/ifd/errors/{port_circuit_id}: + get: + tags: + - Metrics + summary: List of IFD errors + operationId: ifd_errors + description: > + Returns an array of arrays containing IFD errors. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • IFD state id
  • +
  • Error RX discard
  • +
  • Error RX drop
  • +
  • Error RX fifo
  • +
  • Error RX framing
  • +
  • Error RX l2 channel
  • +
  • Error RX l2 mismatch timeout
  • +
  • Error RX l3 incomplete
  • +
  • Error RX resource
  • +
  • Error RX runt
  • +
  • Error RX unspecified
  • +
  • Error TX aged
  • +
  • Error TX carrier
  • +
  • Error TX collision
  • +
  • Error TX drop
  • +
  • Error TX fifo
  • +
  • Error TX link crc
  • +
  • Error TX mtu
  • +
  • Error TX resource
  • +
  • Error TX unspecified
  • +
  • Ethernet RX code violations
  • +
  • Ethernet RX crc Errors
  • +
  • Ethernet RX fifo Errors
  • +
  • Ethernet RX fragment frames
  • +
  • Ethernet RX jabber frames
  • +
  • Ethernet RX oversized frames
  • +
  • Ethernet TX crc Errors
  • +
  • Ethernet TX fifo Errors
  • +
+ parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: Array of arrays containing IFD Errors + content: + application/json: + schema: + $ref: '#/components/schemas/IfdErrorsResponse' + /v2/metrics/ifd/temperature/{port_circuit_id}: + get: + tags: + - Metrics + summary: Optic temperature + operationId: ifd_temperature + description: > + Array of arrays that contain optic temperature values recorded in + Celcius degrees (°C). The items in the arrays are not named in order to + avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • Temperature value (in °C)
  • +
+ parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: Array of arrays containing IFD optic temperature + content: + application/json: + schema: + $ref: '#/components/schemas/IfdTemperatureResponse' + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: + tags: + - Metrics + summary: Optics light level data + operationId: Metrics_getOpticDataByPortCircuitId + description: > + Array of arrays that contain optic light levels data, separated by lane. + The items in the arrays are not named in order to avoid increasing the + response payload size. Here's an ordered list of all the names of + the items being sent:
    +
  • UNIX timestamp
  • +
  • Module temperature
  • +
  • Module voltage
  • +
  • Lane 0 bias current
  • +
  • Lane 0 output power
  • +
  • Lane 0 RX dbm
  • +
  • Lane 1 bias current
  • +
  • Lane 1 output power
  • +
  • Lane 1 RX dbm
  • +
  • Lane 2 bias current
  • +
  • Lane 2 output power
  • +
  • Lane 2 RX dbm
  • +
  • Lane 3 bias current
  • +
  • Lane 3 output power
  • +
  • Lane 3 RX dbm
  • +
+ parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing IFD optic light level values. + Note: null values are possible + content: + application/json: + schema: + $ref: >- + #/components/schemas/MetricsGetOpticDataByPortCircuitIdResponse + /v2/metrics/ifd/whatcast/{port_circuit_id}: + get: + tags: + - Metrics + summary: Broadcast, Multicast and Unicast data for a given IFD + operationId: ifd_whatcast + description: > + Array of arrays that contain transferred (TX) and received (RX) + broadcast, multicast and unicast values. The items in the arrays are not + named in order to avoid increasing the response payload size. Here's an + ordered list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • State id
  • +
  • RX Broadcast
  • +
  • RX Multicast
  • +
  • RX Unicast
  • +
  • TX Broadcast
  • +
  • TX Multicast
  • +
  • TX Unicast
  • +
+ parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing broadacast, unicast and multicast values + for a given IFD. + content: + application/json: + schema: + $ref: '#/components/schemas/IfdWhatcastResponse' + /v2/metrics/ifd/rate/{type}/{port_circuit_id}: + get: + tags: + - Metrics + summary: Traffic rate (bps/pps) by IFD + operationId: ifd_rate + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given IFD. The average, minimum and maximum values are a + representation of the average, minimum and maximum traffic values + (respectively) per datapoint when an `interval` param is used. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ parameters: + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: Port identifier + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFD. + content: + application/json: + schema: + $ref: '#/components/schemas/IfdRateResponse' + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}: + get: + tags: + - Metrics + summary: Traffic rate (bps/pps) by port circuit id + operationId: ifl_rate + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given logical interface (IFL). The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ parameters: + - description: VC circuit id + required: true + in: path + name: vc_circuit_id + example: PF-BC-DA1-DA1-1234567 + schema: + type: string + - description: Port circuit id + required: true + in: path + name: port_circuit_id + example: PF-AP-DAL1-12345 + schema: + type: string + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFL. + content: + application/json: + schema: + $ref: '#/components/schemas/IflRateResponse' + /v2/metrics/customer/ifl/rate/{type}: + get: + tags: + - Metrics + summary: Traffic rate (bps/pps) of the current customer by IFL + operationId: Metrics_customerRateByIfTypeGet + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by logical interface (IFL). The + average, minimum and maximum values are a representation of the average, + minimum and maximum traffic values (respectively) per datapoint when an + `interval` param is used. The items in the arrays are not named in order + to avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFL ID
  • +
  • IFL State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ parameters: + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFLs of the current + customer. + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsCustomerRateByIfTypeGetResponse' + /v2/metrics/customer/ifl/summary/{type}: + get: + tags: + - Metrics + summary: Summary of all IFL traffic rate (bps/pps) for the current customer + operationId: Metrics_customerIflSummaryGet + description: > + Array of arrays that contain the traffic average aggregated value of all + logical interfaces (IFLs) that belong to the current customer. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ parameters: + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFLs + of the current customer. + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsCustomerIflSummaryGetResponse' + /v2/metrics/customer/ifd/rate/{type}: + get: + tags: + - Metrics + summary: Traffic rate (bps/pps) of the current customer by IFD + operationId: Metrics_customerIfdRateData + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by IFD. The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFD ID
  • +
  • IFD State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ parameters: + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFDs of the current + customer. + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsCustomerIfdRateDataResponse' + /v2/metrics/customer/ifd/summary/{type}: + get: + tags: + - Metrics + summary: Summary of all IFD traffic rate (bps/pps) for the current customer + operationId: Metrics_customerIFDSummaryGet + description: > + Array of arrays that contain the traffic average aggregated value of all + interfaces (IFDs) that belong to the current customer. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ parameters: + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFDs + of the current customer. + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsCustomerIfdSummaryGetResponse' + /v2/metrics/customer/longhaul-usage: + get: + tags: + - Metrics + summary: Summary of all traffic per day for the current customer + operationId: Metrics_customerLonghaulUsageGet + description: > + Array of TrafficRollup objects containing transferred (TX) and received + (RX) bytes aggregated by day belonging to the current customer with the + possibility to filter for a single logical interface (IFL) and/or + multiple Virtual Circuits (VC). + parameters: + - description: Virtual Circuit (VC) identifier + required: false + in: query + name: vc_circuit_id + schema: + type: string + - description: List of Virtual Circuit (VC) identifiers + required: false + in: query + name: vc_circuit_id_list + schema: + type: array + items: + type: string + - description: >- + Boolean to indicate whether more information on the logical + interface (IFL) should be returned + required: false + in: query + name: include_ifl_data + schema: + type: boolean + default: false + - description: >- + Boolean to indicate whether more information on the Virtual Circuit + (VC) should be returned. + required: false + name: include_vc_data + in: query + schema: + type: boolean + default: false + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + responses: + '200': + description: > + Array of TrafficRollup objects containing transferred (TX) and + received (RX) bytes aggregated by day belonging to the current + customer. + content: + application/json: + schema: + $ref: '#/components/schemas/MetricsCustomerLonghaulUsageGetResponse' + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: + tags: + - Metrics + summary: Traffic rate (bps/pps) of a Layer 3 Interface by cloud router connection + operationId: Metrics_cloudRouterConnectionRateGet + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given layer 3 logical interface (IFL). The average, minimum + and maximum values are a representation of the average, minimum and + maximum traffic values (respectively) per datapoint when an `interval` + param is used. The items in the arrays are not named in order to avoid + increasing the response payload size. Here's an ordered list of + all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ parameters: + - description: Cloud Router connection circuit id + required: true + in: path + name: cloud_connection_circuit_id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + - description: Type of data being returned (in rate form) + required: true + in: path + name: type + schema: + type: string + enum: + - bps + - pps + - description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + name: since + in: query + schema: + type: string + example: 24 hours ago + - description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + name: until + in: query + schema: + type: string + default: now + example: 1 hour ago + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: start + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + name: end + in: query + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: Time in seconds used to group the response data + name: interval + in: query + schema: + type: integer + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given L3IFL. + content: + application/json: + schema: + $ref: >- + #/components/schemas/MetricsCloudRouterConnectionRateGetResponse + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: + tags: + - Metrics + summary: Get IPSec statistics by cloud router connection circuit id + operationId: Metrics_getIpsecStatisticsByCloudRouterConnectionCircuitId + parameters: + - description: Cloud Router connection circuit id + required: true + in: path + name: cloud_connection_circuit_id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: IPSec statistics of this cloud router connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/MetricsGetIpsecStatisticsByCloudRouterConnectionCircuitIdResponse + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: + tags: + - Metrics + summary: Get NAT statistics by cloud router connection circuit id + operationId: Metrics_getNatStatisticsByCloudRouterConnectionCircuitId + parameters: + - description: Cloud Router connection circuit id + required: true + in: path + name: cloud_connection_circuit_id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: NAT statistics of this cloud router connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/MetricsGetNatStatisticsByCloudRouterConnectionCircuitIdResponse + /v2/ports/{port_circuit_id}: + get: + tags: + - Ports + summary: Get port info + operationId: get_port + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + $ref: '#/components/schemas/GetPortResponse' + patch: + tags: + - Ports + summary: Update a port + operationId: update_port + parameters: + - description: Identifier of the port to update + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePortRequest' + responses: + '200': + description: Full details of the updated port including modified fields + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePortResponse' + delete: + tags: + - Ports + summary: Delete port + operationId: delete_port + description: > + Use this endpoint to delete port/interface. You cannot delete port using + this endpoint if + + there are billing restrictions or port is the part of other active + product + parameters: + - description: Port to delete + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + $ref: '#/components/schemas/DeletePortResponse' + /v2/ports/{port_circuit_id}/device-info: + get: + tags: + - Ports + summary: Get port device info + operationId: Ports_getDeviceInfo + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-DAL1-12345 + responses: + '200': + description: Various details of a physical device port + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGetDeviceInfoResponse' + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + tags: + - Ports + summary: Generate and email the LOA for this port + operationId: Ports_generateLOA + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-DAL1-12345 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGenerateLoaRequest' + responses: + '201': + description: Document created to store the LOA + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGenerateLoaResponse' + /v2/ports/{port_circuit_id}/vlan-summary: + get: + tags: + - Ports + summary: Get a summary of VLANs for a specific port + operationId: Ports_getVlanSummary + parameters: + - description: Port identifier + name: port_circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-DAL1-12345 + - description: Include list of logical interfaces for this port + name: include_logical_interfaces + in: query + required: false + schema: + type: boolean + - description: Minimum VLAN ID to include in the summary + name: min_vlan + in: query + required: false + schema: + type: integer + responses: + '200': + description: Summary of VLANs for a specific port + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGetVlanSummaryResponse' + /v2/ports/{port_circuit_id}/enable: + post: + tags: + - Ports + summary: Enable this port + operationId: enable_port + parameters: + - description: Identifier of the port to update + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + $ref: '#/components/schemas/EnablePortResponse' + /v2/ports/{port_circuit_id}/disable: + post: + tags: + - Ports + summary: Disable this port + operationId: disable_port + parameters: + - description: Identifier of the port to update + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + $ref: '#/components/schemas/DisablePortResponse' + /v2/ports/{port_circuit_id}/upgrade: + post: + tags: + - Ports + summary: Upgrade subscription term on port + operationId: Ports_upgradeSubscriptionTerm + parameters: + - description: Identifier of the port to upgrade + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortsUpgradeSubscriptionTermRequest' + responses: + '202': + description: Request status + content: + application/json: + schema: + $ref: '#/components/schemas/PortsUpgradeSubscriptionTermResponse' + deprecated: true + /v2/ports/{port_circuit_id}/router-logs: + get: + tags: + - Ports + summary: Get logs for this port's router + operationId: Ports_getRouterLogs + parameters: + - description: Port identifier + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-DAL1-12345 + - description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter from. Timezone defaults to UTC. + required: true + in: query + name: time_from + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter up to. Timezone defaults to UTC. + required: true + in: query + name: time_to + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + responses: + '200': + description: List of router logs for the specified time frame + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGetRouterLogsResponse' + /v2.1/ports/{port_circuit_id}/status: + get: + tags: + - Ports + summary: Get Port service status + operationId: Ports_getServiceStatus + parameters: + - description: Target's Circuit ID. + name: port_circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a Port provisioning + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGetServiceStatusResponse' + /v2/ports: + get: + tags: + - Ports + summary: Get port list + operationId: Ports_getList + parameters: + - description: Filter ports by description/circuit id/pop/region + required: false + in: query + name: q + schema: + type: string + example: LAX + - description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + - description: Filter ports by point of presence + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter ports by market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter ports by in-market proximity to a Cloud Router port + required: false + in: query + name: near_cloud_router + schema: + type: boolean + example: true + - description: Filter ports that are NAT capable + required: false + in: query + name: nat_capable + schema: + type: boolean + example: true + - description: Filter LAG ports + required: false + in: query + name: is_lag + schema: + type: boolean + example: true + - description: Filter LAG member ports + required: false + in: query + name: is_lag_member + schema: + type: boolean + example: true + - description: Filter PTP ports + required: false + in: query + name: is_ptp + schema: + type: boolean + example: true + - description: Filter cloud ports + required: false + in: query + name: is_cloud + schema: + type: boolean + example: true + - description: Filter NNI ports + required: false + in: query + name: is_nni + schema: + type: boolean + example: true + - description: The number of results to return per page + required: false + in: query + name: page_size + schema: + type: integer + - description: The offset of results for this page + required: false + in: query + name: offset + schema: + type: integer + - description: Sort the results + required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + - description: Order the results + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + - description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + required: false + in: query + name: device_port_type + schema: + type: string + example: blue + responses: + '200': + description: List of ports optionally filtered by provided parameters + content: + application/json: + schema: + $ref: '#/components/schemas/PortsGetListResponse' + post: + tags: + - Ports + summary: Create a port + operationId: port_post + description: >- + Creates a port if available in the provided POP based on the requested + speed and media type + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortPostRequest' + responses: + '201': + description: Details of the newly created port object + content: + application/json: + schema: + $ref: '#/components/schemas/PortPostResponse' + /v2/ports/export.csv: + get: + tags: + - Ports + summary: Export port list to CSV + operationId: Ports_exportCsv + parameters: + - description: Filter ports by description/circuit id/pop/region + required: false + in: query + name: q + schema: + type: string + example: LAX + - description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + - description: Filter ports by point of presence + required: false + in: query + name: pop + schema: + type: string + example: LAX1 + - description: Filter ports by market code + required: false + in: query + name: market + schema: + type: string + example: LAX + - description: Filter ports by in-market proximity to a Cloud Router port + required: false + in: query + name: near_cloud_router + schema: + type: boolean + example: true + - description: Filter ports that are NAT capable + required: false + in: query + name: nat_capable + schema: + type: boolean + example: true + - description: Filter LAG ports + required: false + in: query + name: is_lag + schema: + type: boolean + example: true + - description: Filter LAG member ports + required: false + in: query + name: is_lag_member + schema: + type: boolean + example: true + - description: Filter PTP ports + required: false + in: query + name: is_ptp + schema: + type: boolean + example: true + - description: Filter cloud ports + required: false + in: query + name: is_cloud + schema: + type: boolean + example: true + - description: Filter cloud router ports + required: false + in: query + name: is_cloud_router + schema: + type: boolean + example: true + - description: Filter NNI ports + required: false + in: query + name: is_nni + schema: + type: boolean + example: true + - description: The number of results to return per page + required: false + in: query + name: page_size + schema: + type: integer + - description: The offset of results for this page + required: false + in: query + name: offset + schema: + type: integer + - description: Sort the results + required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + - description: Order the results + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + - description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + required: false + in: query + name: device_port_type + schema: + type: string + example: blue + responses: + '200': + description: >- + CSV file with the list of ports optionally filtered by provided + parameters + content: + text/csv: + schema: + $ref: '#/components/schemas/PortsExportCsvResponse' + /v2/quotes: + get: + tags: + - Portal Quotes + summary: Get quotes for this customer + operationId: PortalQuotes_getCustomerQuotes + parameters: + - description: Only include quotes with the given statuses + required: false + in: query + name: statuses + schema: + type: array + default: + - open + - updating + items: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + - description: Only include the quote with this UUID + required: false + in: query + name: quote_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's quotes + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesGetCustomerQuotesResponse' + post: + tags: + - Portal Quotes + summary: Create a quote + operationId: PortalQuotes_createNewQuote + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesCreateNewQuoteRequest' + responses: + '201': + description: Created quote + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesCreateNewQuoteResponse' + /v2/quotes/{quote_uuid}/duplicate: + post: + tags: + - Portal Quotes + summary: Duplicate a quote + operationId: PortalQuotes_duplicateQuote + parameters: + - description: UUID of the quote to duplicate + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + responses: + '201': + description: Duplicated quote + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesDuplicateQuoteResponse' + /v2/quotes/{quote_uuid}: + post: + tags: + - Portal Quotes + summary: Add a quote line to a quote + operationId: PortalQuotes_addQuoteLine + parameters: + - description: the UUID of the quote to add a line to + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesAddQuoteLineRequest' + responses: + '201': + description: Added quote line + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesAddQuoteLineResponse' + get: + tags: + - Portal Quotes + summary: Get a quote's details + operationId: PortalQuotes_getDetails + parameters: + - description: UUID of the quote + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Quote details + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesGetDetailsResponse' + patch: + tags: + - Portal Quotes + summary: Update a quote + operationId: PortalQuotes_updateQuote + description: > + What updates are allowed for a quote is dependent on the status of the + quote. + + Only `open` and `updating` quotes can have properties other than + `status` updated. + + - `open` quotes + - can transition to `cancelled` or `finalized` + - can have other properties updated + - `cancelled` quotes + - cannot transition to any other status + - no properties can be updated + - can be duplicated + - `finalized` quotes + - can transition to `open` (to update properties or add/delete lines) + - no other properties can be updated + - `finalizing` is a state that indicates a background task is running to + transition the quote from `open` to `finalized` + + - `updating` is a state that indicates a background task is running, but + the quote can otherwise be considered `open` + parameters: + - description: UUID of the quote to update + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesUpdateQuoteRequest' + responses: + '200': + description: Updated quote + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesUpdateQuoteResponse' + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: + tags: + - Portal Quotes + summary: Delete a quote line + operationId: PortalQuotes_deleteQuoteLine + parameters: + - description: the UUID of the quote + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + - description: the UUID of the quote line to delete + required: true + in: path + name: quote_line_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Deleted a quote line + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesDeleteQuoteLineResponse' + /v2/quotes/{quote_uuid}/pdf: + get: + tags: + - Portal Quotes + summary: Get quote PDF + operationId: PortalQuotes_getPdf + description: Get quote PDF for a given quote + parameters: + - description: Get the PDF of the quote with this UUID + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Quote PDF of the given quote + content: + application/pdf: + schema: + $ref: '#/components/schemas/PortalQuotesGetPdfResponse' + /v2/quotes/{quote_uuid}/csv: + get: + tags: + - Portal Quotes + summary: Get quote CSV + operationId: PortalQuotes_getCsv + description: Get quote CSV for a given quote + parameters: + - description: Get the CSV of the quote with this UUID + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Quote CSV of the given quote + content: + text/csv: + schema: + $ref: '#/components/schemas/PortalQuotesGetCsvResponse' + /v2/quotes/{quote_uuid}/publish: + post: + tags: + - Portal Quotes + summary: Publish a quote + operationId: PortalQuotes_publishQuote + description: Only finalized quotes can be published + parameters: + - description: UUID of the quote to duplicate + required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesPublishQuoteRequest' + responses: + '201': + description: Published quote + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesPublishQuoteResponse' + /v2/quotes/published: + get: + tags: + - Portal Quotes + summary: Get published quotes created by this customer + operationId: PortalQuotes_getPublishedQuotes + parameters: + - description: Only include published quotes created from the quote with this UUID + required: false + in: query + name: quote_uuid + schema: + type: string + format: uuid + - description: >- + Only include published quotes assigned to the customer with this + UUID + required: false + in: query + name: assigned_customer_uuid + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's published quotes + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesGetPublishedQuotesResponse' + /v2/quotes/published/assigned: + get: + tags: + - Portal Quotes + summary: Get published quotes assigned to this customer + operationId: PortalQuotes_getAssignedQuotes + responses: + '200': + description: List of published quotes assigned to this customer + content: + application/json: + schema: + $ref: '#/components/schemas/PortalQuotesGetAssignedQuotesResponse' + /v2/quotes/published/{published_quote_uuid}: + get: + tags: + - Portal Quotes + summary: Get a published quote's details + operationId: PortalQuotes_getPublishedQuoteDetails + parameters: + - description: UUID of the published quote + required: true + in: path + name: published_quote_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Published quote details + content: + application/json: + schema: + $ref: >- + #/components/schemas/PortalQuotesGetPublishedQuoteDetailsResponse + /v2/request-aliases: + get: + tags: + - Request Aliases + summary: Get request aliases associated with your account + operationId: RequestAliases_getAll + responses: + '200': + description: Array of Request Alias objects + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesGetAllResponse' + post: + tags: + - Request Aliases + summary: Add a new request alias to your account + operationId: RequestAliases_addNewAlias + requestBody: + description: Request Alias payload for POST and PATCH calls + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesAddNewAliasRequest' + responses: + '201': + description: The new Request Alias object + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesAddNewAliasResponse' + /v2/request-aliases/{request_alias_uuid}: + get: + tags: + - Request Aliases + summary: Get a request alias by UUID + operationId: RequestAliases_byUuid + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + responses: + '200': + description: A Request Alias object + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesByUuidResponse' + patch: + tags: + - Request Aliases + summary: Update a request alias + operationId: RequestAliases_updateAlias + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + requestBody: + description: Request Alias payload for POST and PATCH calls + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesUpdateAliasRequest' + responses: + '200': + description: The updated request alias object. + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesUpdateAliasResponse' + delete: + tags: + - Request Aliases + summary: Delete a request alias from your account + operationId: RequestAliases_deleteAlias + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + responses: + '200': + description: A message confirming the deletion of the request alias. + /v2/request-aliases/{request_alias_uuid}/contacts: + get: + tags: + - Request Aliases + summary: Get all contacts associated with a request alias + operationId: RequestAliases_getAllContacts + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + responses: + '200': + description: A list of contact objects associated with the request alias. + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesGetAllContactsResponse' + delete: + tags: + - Request Aliases + summary: Disassociates several contacts from a request alias + operationId: RequestAliases_disassociateContacts + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + requestBody: + description: The contact UUIDs to dissociate from this request alias. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesDisassociateContactsRequest' + responses: + '200': + description: Successful disassociation of the contacts from the request alias. + post: + tags: + - Request Aliases + summary: Associate several contacts with a single request alias. + operationId: RequestAliases_associateContacts + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + requestBody: + description: The contact UUIDs to associate with this request alias. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesAssociateContactsRequest' + responses: + '201': + description: The updated request alias. + content: + application/json: + schema: + $ref: '#/components/schemas/RequestAliasesAssociateContactsResponse' + /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}: + delete: + tags: + - Request Aliases + summary: Disassociates a contact from a request alias + operationId: RequestAliases_disassociateContact + parameters: + - description: The UUID of the target request alias. + required: true + in: path + name: request_alias_uuid + schema: + type: string + format: uuid + - description: >- + The UUID of the contact you want to associate with the request + alias. + required: true + in: path + name: contact_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Successful disassociation of the contact from the request alias. + /v2/services: + get: + tags: + - Services + summary: Get list of current customer's services + operationId: Services_getCurrentCustomerServicesList + parameters: + - description: >- + Filter VCs by description, circuit id, POP/circuit id of the + interface, or aggregate capacity container + required: false + in: query + name: q + schema: + type: string + example: lax + - description: Filter by port + required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + - description: >- + Filter service type. service_type can be specificed multiple times + with different values. + required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + - description: The number of results to return per page + required: false + in: query + name: page_size + schema: + type: integer + - description: The offset of results for this page + required: false + in: query + name: offset + schema: + type: integer + - description: Sort the results + required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + - description: Order the results + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of customer's services + content: + application/json: + schema: + $ref: >- + #/components/schemas/ServicesGetCurrentCustomerServicesListResponse + /v2/services/export.csv: + get: + tags: + - Services + summary: Get list of current customer's services exported in CSV + operationId: Services_exportCsvList + parameters: + - description: >- + Filter VCs by description, circuit id, or POP/circuit id of the + interface + required: false + in: query + name: q + schema: + type: string + example: lax + - description: Filter by port + required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + - description: >- + Filter service type. service_type can be specificed multiple times + with different values. + required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + - description: The number of results to return per page + required: false + in: query + name: page_size + schema: + type: integer + - description: The offset of results for this page + required: false + in: query + name: offset + schema: + type: integer + - description: Sort the results + required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + - description: Order the results + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: CSV file with the list of customer's services + content: + text/csv: + schema: + $ref: '#/components/schemas/ServicesExportCsvListResponse' + /v2/services/{vc_circuit_id}: + get: + tags: + - Services + summary: Get service info + operationId: get_service + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: VC details + content: + application/json: + schema: + $ref: '#/components/schemas/GetServiceResponse' + patch: + tags: + - Services + summary: Update service settings + operationId: patch_service + description: >- + Update rate limits, description, VLANs, or untagged status for a service + or its interfaces + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: VC request + content: + application/json: + schema: + $ref: '#/components/schemas/PatchServiceRequest' + responses: + '200': + description: VC details + content: + application/json: + schema: + $ref: '#/components/schemas/PatchServiceResponse' + delete: + tags: + - Services + summary: Delete a service + operationId: delete_service + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteServiceResponse' + /v2/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status (Legacy) + operationId: Services_vcCircuitStatusGet + parameters: + - description: Target's Circuit ID. + name: vc_circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesVcCircuitStatusGetResponse' + /v2.1/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status + operationId: Services_getStatus + parameters: + - description: Target's Circuit ID. + name: vc_circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesGetStatusResponse' + /v2/services/{vc_circuit_id}/upgrade: + post: + tags: + - Services + summary: Upgrade service billing terms or speed + operationId: Services_upgradeBillingTerms + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesUpgradeBillingTermsRequest' + responses: + '202': + description: Upgrade has started + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesUpgradeBillingTermsResponse' + deprecated: true + /v2/services/{vc_circuit_id}/upgrade/options: + get: + tags: + - Services + summary: Get available upgrade options for a specific service + operationId: Services_getUpgradeOptions + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Available upgrade options + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesGetUpgradeOptionsResponse' + /v2/services/{vc_circuit_id}/burst: + post: + tags: + - Services + summary: Add speed burst, billed hourly, to your circuit. + operationId: Services_addSpeedBurst + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesAddSpeedBurstRequest' + responses: + '202': + description: VC burst upgrade started + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesAddSpeedBurstResponse' + delete: + tags: + - Services + summary: Delete a speed burst, returning circuit to originally configured speed. + operationId: Services_deleteBurst + parameters: + - description: Target's Circuit ID. + required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: VC burst deleted successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesDeleteBurstResponse' + /v2/services/backbone: + post: + tags: + - Services + summary: Create a backbone or dedicated cloud virtual circuit + operationId: Services_createBackboneVc + requestBody: + description: VC request + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreateBackboneVcRequest' + example: + description: string + po_number: string + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + vlan: 6 + untagged: false + - port_circuit_id: PF-AP-LAS1-2000 + vlan: 7 + untagged: false + rate_limit_in: 1000 + rate_limit_out: 1000 + epl: false + responses: + '201': + description: New backbone connection information + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreateBackboneVcResponse' + example: + description: string + vc_circuit_id: PF-BC-SAC1-LAS1-1234567 + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + state: requested + service_type: backbone + service_class: longhaul + mode: evpl + connected: true + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + po_number: string + rate_limit_in: 1000 + rate_limit_out: 1000 + time_created: '2019-08-24T14:15:22Z' + time_updated: '2019-08-24T14:15:22Z' + interfaces: + - description: User provided description + port_circuit_id: PF-AP-SAC1-1000 + pop: SAC1 + site: RW-CA3 + site_name: NTT Global Data Centers CA3 + speed: 1Gbps + media: LX + zone: A + vlan: 6 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + - description: User provided description + port_circuit_id: PF-AP-LAS1-2000 + pop: LAS1 + site: SW-LAS1 + site_name: Switch Las Vegas 7 + speed: 1Gbps + media: LX + zone: A + vlan: 7 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + /v2/services/third-party: + post: + tags: + - Services + summary: Create a 3rd-party virtual circuit + operationId: Services_create3rdPartyVc + description: 3rd-party VCs are always Ethernet Virtual Private Line (EVPL) + requestBody: + description: Third-party VC Request + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreate3RdPartyVcRequest' + responses: + '201': + description: VC details + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreate3RdPartyVcResponse' + /v2/services/third-party/hosted/aws: + post: + tags: + - Cloud Services - AWS + summary: Request a hosted AWS Marketplace Cloud connection with a third party + operationId: CloudServicesAws_requestCloudConnection + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + requestBody: + description: AWS Marketplace Cloud Request + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsRequestCloudConnectionRequest + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsRequestCloudConnectionResponse + /v2/services/third-party/hosted/azure: + post: + tags: + - Cloud Services - Azure + summary: Request a hosted Azure Marketplace Cloud connection with a third party + operationId: CloudServicesAzure_requestHostedConnection + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + requestBody: + description: Azure Marketplace Cloud Request + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestHostedConnectionRequest + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestHostedConnectionResponse + /v2/services/third-party/hosted/google: + post: + tags: + - Cloud Services - Google Cloud + summary: Request a hosted Google Marketplace Cloud connection with a third party + operationId: CloudServicesGoogleCloud_requestHostedConnection + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + requestBody: + description: Google Marketplace Cloud Request + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestHostedConnectionRequest + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestHostedConnectionResponse + /v2/services/third-party/hosted/oracle: + post: + tags: + - Cloud Services - Oracle + summary: Request a hosted Oracle Marketplace Cloud connection with a third party + operationId: CloudServicesOracle_requestHostedConnection + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + requestBody: + description: Oracle Marketplace Cloud Request + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesOracleRequestHostedConnectionRequest + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesOracleRequestHostedConnectionResponse + /v2/services/ipsec/{circuit_id}: + get: + tags: + - Cloud Router IPsec + summary: Gets IPsec-specific details for a connection. + operationId: ipsec_get + parameters: + - description: IPsec circuit ID or its associated VC. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-IPSEC-2000 + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + $ref: '#/components/schemas/IpsecGetResponse' + patch: + tags: + - Cloud Router IPsec + summary: Updates IPsec-specific details for a connection. + operationId: ipsec_patch + parameters: + - description: IPsec circuit ID or its associated VC. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-IPSEC-2000 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IpsecPatchRequest' + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + $ref: '#/components/schemas/IpsecPatchResponse' + /v2/services/ipsec/gateway_address/uniqueness: + get: + tags: + - Cloud Router IPsec + summary: Checks if IPsec gateway address is unique + operationId: CloudRouterIPsec_checkGatewayAddressUniqueness + parameters: + - description: The gateway address we want to check for uniqueness. + required: true + in: query + name: gateway_address + schema: + type: string + example: 192.0.10.1 + responses: + '200': + description: success message + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterIPsecCheckGatewayAddressUniquenessResponse + /v2/services/ix: + post: + tags: + - Services + summary: Create a IX VC + operationId: Services_createIxVc + description: IX VCs are always Ethernet Virtual Private Line (EVPL) + requestBody: + description: IX VC Request + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreateIxVcRequest' + responses: + '201': + description: VC details + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesCreateIxVcResponse' + /v2/services/requests: + get: + tags: + - Services + summary: Get list of VC requests + operationId: Services_listVcRequests + parameters: + - description: Search requests by type + name: type + required: true + in: query + schema: + type: string + enum: + - sent + - received + responses: + '200': + description: List of VC request details + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesListVcRequestsResponse' + /v2/services/requests/{vc_request_uuid}: + get: + tags: + - Services + summary: Get VC request by uuid + operationId: Services_getByUuid + parameters: + - required: true + in: path + name: vc_request_uuid + schema: + type: string + format: uuid + responses: + '200': + description: VC request details + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesGetByUuidResponse' + delete: + tags: + - Services + summary: Delete service request + operationId: Services_deleteRequest + parameters: + - description: UUID of the service request + name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesDeleteRequestRequest' + responses: + '200': + description: Deletion succeeded + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesDeleteRequestResponse' + /v2/services/requests/{vc_request_uuid}/provision: + post: + tags: + - Services + summary: Provision requested service + operationId: provision_service + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisionServiceRequest' + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + $ref: '#/components/schemas/ProvisionServiceResponse' + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - Oracle + summary: Provision requested Marketplace cloud connection + operationId: CloudServicesAws_provisionHosted + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsProvisionHostedRequest' + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsProvisionHostedResponse' + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + tags: + - Cloud Router Third Party + summary: Provision requested Marketplace cloud router connection + operationId: CloudRouterThirdParty_provisionMarketplaceCloudRouterConnection + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionRequest + responses: + '201': + description: Provisioned Cloud Router Connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionResponse + /v2/services/requests/{vc_request_uuid}/reject: + post: + tags: + - Services + summary: Reject service request + operationId: Services_rejectRequest + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + responses: + '200': + description: Rejected request details + content: + application/json: + schema: + $ref: '#/components/schemas/ServicesRejectRequestResponse' + /v2/svlan-labels: + post: + tags: + - SVlan Labels + summary: Create SVlan label + operationId: SVlanLabels_createLabel + description: >- + Create a label to associate with a particular SVlan and port. There can + only be one label for a given SVlan per port. The port must be an NNI + port. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsCreateLabelRequest' + responses: + '201': + description: Created SVlan label + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsCreateLabelResponse' + /v2/svlan-labels/{port_circuit_id}: + get: + tags: + - SVlan Labels + summary: Get SVlan labels for port + operationId: SVlanLabels_getLabelsForPort + description: Get SVlan labels associated with this port + parameters: + - description: Get the SVlan labels for this port + required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: the SVlan labels for this port + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsGetLabelsForPortResponse' + /v2/svlan-labels/mappings: + get: + tags: + - SVlan Labels + summary: Get SVlan labels for the logged-in customer + operationId: SVlanLabels_getLabels + description: Get all the SVlan labels for this customer + responses: + '200': + description: all of the SVlan labels for this customer + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsGetLabelsResponse' + /v2/svlan-labels/{svlan_label_uuid}: + patch: + tags: + - SVlan Labels + summary: Update this SVlan label + operationId: SVlanLabels_updateLabelByUuid + parameters: + - description: SVlan label to update + required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsUpdateLabelByUuidRequest' + responses: + '200': + description: Updated SVlan label + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsUpdateLabelByUuidResponse' + delete: + tags: + - SVlan Labels + summary: Delete this SVlan label + operationId: SVlanLabels_deleteLabel + parameters: + - description: SVlan label to delete + required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Response message + content: + application/json: + schema: + $ref: '#/components/schemas/SVlanLabelsDeleteLabelResponse' + /v2/users: + post: + tags: + - Users + summary: Create new user + operationId: user_post + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + $ref: '#/components/schemas/UserPostRequest' + responses: + '201': + description: Created user details + content: + application/json: + schema: + $ref: '#/components/schemas/UserPostResponse' + get: + tags: + - Users + summary: Get list of users + operationId: Users_getList + description: Use this endpoint to get users for the current customer + parameters: + - description: Searches for this string in the user name or e-mail + in: query + name: q + schema: + type: string + responses: + '201': + description: List of users + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetListResponse' + /v2/users/{user_login}: + patch: + tags: + - Users + summary: Modify a user + operationId: user_patch + parameters: + - description: The user with this login will be modified + required: true + in: path + name: user_login + schema: + type: string + requestBody: + description: | + Details to update the User + content: + application/json: + schema: + $ref: '#/components/schemas/UserPatchRequest' + responses: + '200': + description: Modified user details + content: + application/json: + schema: + $ref: '#/components/schemas/UserPatchResponse' + get: + tags: + - Users + summary: Fetch user details by a user login + operationId: Users_getUserDetailsByLogin + parameters: + - description: Login of the user to fetch + required: true + in: path + name: user_login + schema: + type: string + responses: + '200': + description: User details + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetUserDetailsByLoginResponse' + delete: + tags: + - Users + summary: Deletes a user + operationId: Users_deleteUser + parameters: + - description: Login of the user to delete + required: true + in: path + name: user_login + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUserResponse' + /v2/users/{uuid}: + get: + tags: + - Users + summary: Fetch user details by a UUID + operationId: Users_getDetailsByUuid + parameters: + - description: UUID of the user to fetch + required: true + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: User details + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetDetailsByUuidResponse' + /v2/users/{user_login}/groups: + get: + tags: + - Users + summary: Get the list of groups of a given user + operationId: Users_listUserGroups + parameters: + - description: Login of the user to fetch groups for + required: true + in: path + name: user_login + schema: + type: string + responses: + '200': + description: List of groups of a user + content: + application/json: + schema: + $ref: '#/components/schemas/UsersListUserGroupsResponse' + deprecated: true + /v2/users/{user_login}/groups/{group_name}: + post: + tags: + - Users + summary: Add user to group + operationId: Users_addToGroup + parameters: + - description: User login + required: true + in: path + name: user_login + schema: + type: string + - description: > + Group name to add user to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + required: true + in: path + name: group_name + schema: + type: string + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: '#/components/schemas/UsersAddToGroupResponse' + deprecated: true + delete: + tags: + - Users + summary: Delete a user from a given group + operationId: Users_deleteFromGroup + parameters: + - required: true + in: path + name: user_login + schema: + type: string + - description: > + Group name to delete user from. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + required: true + in: path + name: group_name + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteFromGroupResponse' + deprecated: true + /v2/users/request-password-reset: + post: + tags: + - Users + summary: Sends the user an email with a link to reset a forgotten password + operationId: Users_requestPasswordReset + security: [] + requestBody: + description: Login of the user to request the password reset for + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRequestPasswordResetRequest' + responses: + '200': + description: Confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRequestPasswordResetResponse' + /v2/users/reset-password: + post: + tags: + - Users + summary: Sets a new password for a user + operationId: Users_setNewPassword + security: [] + requestBody: + description: Password reset details + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSetNewPasswordRequest' + responses: + '200': + description: Reset confirmation message + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSetNewPasswordResponse' + /v2/users/{user_login}/password: + patch: + tags: + - Users + summary: Sets a new password for a user + operationId: Users_updatePassword + parameters: + - description: Password of the user with this login will be modified + required: true + in: path + name: user_login + schema: + type: string + requestBody: + description: Password update details + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdatePasswordRequest' + responses: + '200': + description: Password changed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdatePasswordResponse' + /v2/users/mfa/setup: + post: + tags: + - Multi-Factor Authentication + summary: Generate a user secret and scratch codes + operationId: MultiFactorAuthentication_generateSecretScratchCodes + description: > + Generates a new user secret and 3 new scratch codes used for + multi-factor authentication.
**Note:** this replaces any previous + secret with a new one and remaining scratch codes with three new ones. + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationGenerateSecretScratchCodesResponse + /v2/users/mfa/enable: + post: + tags: + - Multi-Factor Authentication + summary: Enable multi-factor authentication for the user + operationId: MultiFactorAuthentication_enableUserAuth + description: > + This enables multi-factor authentication for the user. By requiring an + authentication code to be sent we make sure that users have properly + setup their authentication app of choice, thus avoiding inadvertently + locking a user out of their account. + requestBody: + description: Multi-factor authentication details + content: + application/json: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationEnableUserAuthRequest + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationEnableUserAuthResponse + example: + message: success + /v2/users/mfa/disable: + post: + tags: + - Multi-Factor Authentication + summary: Disable multi-factor authentication for the user + operationId: MultiFactorAuthentication_disableUserMfa + description: > + Deletes all trace of multi-factor authentication for the user in + question. This includes the scratch codes and the secret. + requestBody: + description: User password + content: + application/json: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationDisableUserMfaRequest + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationDisableUserMfaResponse + example: + message: success + /v2/users/mfa/qrcode: + get: + tags: + - Multi-Factor Authentication + summary: Return a QR code image used for setup + operationId: MultiFactorAuthentication_generateQrCodeImage + description: > + Returns a QR code image that can be used to setup a multi-factor + authentication app like Google Authenticator.
**Note:** for + security reasons, this image will only be available for the five minutes + that follow the moment when a new secret code is generated + responses: + '200': + description: Success message + content: + image/png: + schema: + $ref: >- + #/components/schemas/MultiFactorAuthenticationGenerateQrCodeImageResponse + /v2/team-invites: + post: + tags: + - TeamSignup + summary: >- + Sign-up and send invitation emails to a list of new users, assigned to + current customer + operationId: TeamSignup_sendInvitationEmails + requestBody: + description: | + Details to invite the User with + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSignupSendInvitationEmailsRequest' + responses: + '201': + description: Created user details + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSignupSendInvitationEmailsResponse' + get: + tags: + - TeamSignup + summary: Get list of team signup invitations + operationId: TeamSignup_listInvitedUsers + description: Use this endpoint to get all invited users for the current customer + responses: + '201': + description: List of invited users + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSignupListInvitedUsersResponse' + /v2/team-invites/{signup_uuid}: + get: + tags: + - TeamSignup + summary: Get details of a team signup invitation + operationId: TeamSignup_getDetails + security: [] + description: Use this endpoint to get details of a specific user invitation + parameters: + - description: UUID of the invitation + required: true + in: path + name: signup_uuid + schema: + type: string + format: uuid + responses: + '201': + description: List of invited users + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSignupGetDetailsResponse' + /v2/team-invites/{signup_uuid}/resend: + post: + tags: + - TeamSignup + summary: Resend team invitation + operationId: TeamSignup_resendInvitation + description: Resend team invitation to the potential user + parameters: + - description: UUID of the invitation + required: true + in: path + name: signup_uuid + schema: + type: string + format: uuid + responses: + '200': + description: Success message + content: + application/json: + schema: + $ref: '#/components/schemas/TeamSignupResendInvitationResponse' + /v2/team-invites/{signup_uuid}/user: + post: + tags: + - TeamSignup + summary: Create a new user based on team signup invitation + operationId: TeamSignup_createUserBasedOnInvitation + security: [] + parameters: + - description: UUID of the invitation + required: true + in: path + name: signup_uuid + schema: + type: string + format: uuid + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + $ref: >- + #/components/schemas/TeamSignupCreateUserBasedOnInvitationRequest + responses: + '201': + description: Created user details + content: + application/json: + schema: + $ref: >- + #/components/schemas/TeamSignupCreateUserBasedOnInvitationResponse + /v2/objects/{circuit_id}/labels: + put: + tags: + - Objects + summary: Update an object label + operationId: update_object + parameters: + - description: The circuit ID of the object to be updated + required: true + in: path + name: circuit_id + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateObjectRequest' + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateObjectResponse' + patch: + tags: + - Objects + summary: Add to an object's labels + operationId: add_object + parameters: + - description: The circuit ID of the object to be updated + required: true + in: path + name: circuit_id + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddObjectRequest' + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + $ref: '#/components/schemas/AddObjectResponse' + get: + tags: + - Objects + summary: Get the Labels associated with an object + operationId: Objects_getLabels + parameters: + - description: The circuit ID of the object + required: true + in: path + name: circuit_id + schema: + type: string + responses: + '200': + description: A list of labels associated with an object + content: + application/json: + schema: + $ref: '#/components/schemas/ObjectsGetLabelsResponse' + /v2/outbound-cross-connects: + post: + tags: + - Outbound Cross Connects + summary: Create a new outbound cross connect + operationId: OutboundCrossConnects_createNew + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OutboundCrossConnectsCreateNewRequest' + responses: + '202': + description: Outbound Cross Connect Object + content: + application/json: + schema: + $ref: '#/components/schemas/OutboundCrossConnectsCreateNewResponse' + get: + tags: + - Outbound Cross Connects + summary: Get the outbound cross connects associated with the current customer + operationId: OutboundCrossConnects_list + parameters: + - description: List OBCC by port_circuit_id + required: false + in: query + name: port + schema: + type: string + example: port-circuit-id + - description: Include deleted OBCCs in list + required: false + in: query + name: show_deleted + schema: + type: boolean + example: true + responses: + '200': + description: List of outbound cross connects + content: + application/json: + schema: + $ref: '#/components/schemas/OutboundCrossConnectsListResponse' + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + get: + tags: + - Outbound Cross Connects + summary: Get a single outbound cross connect + operationId: OutboundCrossConnects_getOne + parameters: + - description: id of the cross connect + required: true + in: path + name: outbound_cross_connect_id + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + content: + application/json: + schema: + $ref: '#/components/schemas/OutboundCrossConnectsGetOneResponse' + delete: + tags: + - Outbound Cross Connects + summary: Delete an outbound cross connect + operationId: OutboundCrossConnects_deleteCrossConnect + parameters: + - description: id of the cross connect + required: true + in: path + name: outbound_cross_connect_id + schema: + type: string + responses: + '200': + description: Outbound Cross Connect successfully deleted + patch: + tags: + - Outbound Cross Connects + summary: Patch a single outbound cross connect + operationId: OutboundCrossConnects_updateSingle + parameters: + - description: id of the cross connect + required: true + in: path + name: outbound_cross_connect_id + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OutboundCrossConnectsUpdateSingleRequest' + responses: + '200': + description: Outbound Cross Connect object + /v2/services/point-to-point/{ptp_uuid}: + get: + tags: + - PTP Services + summary: Get point-to-point service info + operationId: PtpServices_getServiceInfo + parameters: + - description: UUID or Circuit ID of the point-to-point service to fetch + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Point-to-point service details + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesGetServiceInfoResponse' + delete: + tags: + - PTP Services + summary: Delete a point-to-point service + operationId: PtpServices_deletePointToPoint + parameters: + - description: UUID of the point-to-point service to delete + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: >- + Successfully started the delete process for the point-to-point + service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesDeletePointToPointResponse' + patch: + tags: + - PTP Services + summary: Update a point-to-point service + operationId: PtpServices_updateDescription + description: Updates the description of the point-to-point service + parameters: + - description: UUID of the point-to-point service to update + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesUpdateDescriptionRequest' + responses: + '200': + description: Details of updated point-to-point service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesUpdateDescriptionResponse' + /v2/services/point-to-point: + get: + tags: + - PTP Services + summary: Get all point-to-point services + operationId: PtpServices_getAll + parameters: + - description: >- + Filter PTPs by description, circuit id, or POP/circuit id/market of + the interfaces + required: false + in: query + name: q + schema: + type: string + example: LAX + responses: + '200': + description: List of point-to-point services for current customer + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesGetAllResponse' + post: + tags: + - PTP Services + summary: Create a point-to-point service + operationId: PtpServices_createService + requestBody: + description: Create a point-to-point connection between two POPs + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesCreateServiceRequest' + required: true + responses: + '201': + description: Details of created point-to-point service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesCreateServiceResponse' + /v2/services/point-to-point/{ptp_uuid}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status (Legacy) + operationId: PtpServices_getServiceStatus + parameters: + - description: UUID of the point-to-point service to fetch status for + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesGetServiceStatusResponse' + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status + operationId: PtpServices_getServiceStatus + parameters: + - description: Circuit ID of the point-to-point service to fetch status for + name: ptp_circuit_id + in: path + required: true + schema: + type: string + example: PF-PD-NYC-AUS-1734406 + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesGetServiceStatus200Response' + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + tags: + - PTP Services + summary: Upgrade a point-to-point service to a new subscription term + operationId: PtpServices_upgradePtpUuid + parameters: + - description: UUID of the point-to-point service to upgrade + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesUpgradePtpUuidRequest' + required: false + responses: + '200': + description: >- + Successfully started the upgrade process for the point-to-point + service + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesUpgradePtpUuidResponse' + deprecated: true + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: + tags: + - PTP Services + summary: >- + Get upgrade options for a point-to-point service upgrade to a new + subscription term + operationId: PtpServices_getUpgradeOptions + parameters: + - description: UUID of the point-to-point service to fetch upgrade options for + name: ptp_uuid + in: path + required: true + schema: + type: string + format: uuid + responses: + '200': + description: >- + Upgrade availability and available options for point-to-point + service upgrade + content: + application/json: + schema: + $ref: '#/components/schemas/PtpServicesGetUpgradeOptionsResponse' + /v2/services/cloud-routers: + get: + tags: + - Cloud Routers + summary: Returns a list of cloud routers associated with the current account. + operationId: CloudRouters_listAssociated + responses: + '200': + description: A list of Cloud Routers. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersListAssociatedResponse' + post: + tags: + - Cloud Routers + summary: Creates a new Cloud Router and then returns it. + operationId: CloudRouters_createNew + requestBody: + description: Request payload for creating a new Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersCreateNewRequest' + responses: + '201': + description: A single Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersCreateNewResponse' + /v2/services/cloud-routers/export.csv: + get: + tags: + - Cloud Routers + summary: Download customer cloud routers as csv + operationId: CloudRouters_downloadAsCsv + responses: + '200': + description: CSV with list of customer cloud routers + content: + text/csv: + schema: + $ref: '#/components/schemas/CloudRoutersDownloadAsCsvResponse' + /v2/services/cloud-routers/{circuit_id}: + get: + tags: + - Cloud Routers + summary: Returns a cloud router associated with the circuit id. + operationId: CloudRouters_getByCircuitId + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersGetByCircuitIdResponse' + patch: + tags: + - Cloud Routers + summary: Update an existing Cloud Router. + operationId: CloudRouters_updateExisting + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Update an existing Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersUpdateExistingRequest' + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersUpdateExistingResponse' + delete: + tags: + - Cloud Routers + summary: Deletes a cloud router. Note that all connections must be deleted first. + operationId: CloudRouters_deleteRouter + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: Cloud router deleted. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersDeleteRouterResponse' + /v2/services/cloud-routers/requests: + get: + tags: + - Cloud Router Third Party + summary: Returns a list of Cloud Router Imports Requests. + operationId: CloudRouterThirdParty_listImportRequests + parameters: + - description: Type of the Cloud Router Import Request. + required: true + in: query + name: request_type + schema: + type: array + items: + type: string + enum: + - sent + - received + responses: + '200': + description: A list of Cloud Router Imports Requests. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyListImportRequestsResponse + /v2/services/cloud-routers/requests/{import_circuit_id}: + get: + tags: + - Cloud Router Third Party + summary: >- + Returns a single Cloud Router Imports Request associated with the + circuit id. + operationId: CloudRouterThirdParty_importsRequestGet + parameters: + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + example: PF-L3-IMP-15626 + responses: + '200': + description: A Cloud Router Imports Request. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyImportsRequestGetResponse + delete: + tags: + - Cloud Router Third Party + summary: Deletes a Cloud Router Imports Request associated with the circuit id. + operationId: CloudRouterThirdParty_deleteRequest + parameters: + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + example: PF-L3-IMP-15626 + responses: + '200': + description: The Cloud Router Import Request has been deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyDeleteRequestResponse + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: + tags: + - Cloud Router Third Party + summary: >- + Accepts a single Cloud Router Imports Request associated with the + circuit id. + operationId: CloudRouterThirdParty_acceptImportCircuit + parameters: + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + example: PF-L3-IMP-15626 + responses: + '200': + description: The Cloud Router Import Request has been accepted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyAcceptImportCircuitResponse + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + tags: + - Cloud Router Third Party + summary: >- + Rejects a single Cloud Router Imports Request associated with the + circuit id. + operationId: CloudRouterThirdParty_rejectImportCircuit + parameters: + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + example: PF-L3-IMP-15626 + requestBody: + description: Request payload for rejecting an import request. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyRejectImportCircuitRequest + responses: + '200': + description: The Cloud Router Import Request has been rejected. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyRejectImportCircuitResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: + tags: + - Cloud Router BGP Session Settings + summary: List BGP sessions associated with a Cloud Router connection. + operationId: CloudRouterBgpSessionSettings_listBgpSessions + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-AE-1234 + responses: + '200': + description: A list of BGP sessions. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsListBgpSessionsResponse + put: + tags: + - Cloud Router BGP Session Settings + summary: Updates an existing BGP session and associated L3 information. + operationId: CloudRouterBgpSessionSettings_updateSessionInfo + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-AE-1234 + requestBody: + description: >- + Request payload for updating an existing BGP session on a cloud + router. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsUpdateSessionInfoRequest + responses: + '200': + description: A new BGP session. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsUpdateSessionInfoResponse + post: + tags: + - Cloud Router BGP Session Settings + summary: >- + Creates a new BGP session and associated L3 information on a cloud + router connection and returns it. + operationId: CloudRouterBgpSessionSettings_createL3Info + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-AE-1234 + requestBody: + description: Request payload for creating a new BGP session on a cloud router. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsCreateL3InfoRequest + responses: + '201': + description: A new BGP session. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsCreateL3InfoResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + get: + tags: + - Cloud Router BGP Session Settings + summary: Get a single BGP session associated with a Cloud Router connection. + operationId: CloudRouterBgpSessionSettings_getSingleSession + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-AE-1234 + - description: The UUID of the specific BGP session you want to get. + required: true + in: path + name: bgp_settings_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: A single BGP session. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsGetSingleSessionResponse + delete: + tags: + - Cloud Router BGP Session Settings + summary: Delete a single BGP session from a cloud router connection. + operationId: CloudRouterBgpSessionSettings_deleteSingleSession + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-AE-1234 + - description: The UUID of the specific BGP session you want to get. + required: true + in: path + name: bgp_settings_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: BGP session deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsDeleteSingleSessionResponse + /v2/services/cloud-routers/{circuit_id}/connections: + get: + tags: + - Cloud Router Connections + summary: Lists all cloud router connections for a given router. + operationId: CloudRouterConnections_listForCircuit + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsListForCircuitResponse + /v2/services/cloud-routers/connections/export.csv: + get: + tags: + - Cloud Router Connections + summary: Download cloud routers connections as csv + operationId: CloudRouterConnections_downloadCsv + parameters: + - description: Circuit ID of the target cloud router. + required: false + in: query + name: cloud_router_circuit_id + schema: + type: string + example: PF-L3-CUST-1400 + responses: + '200': + description: CSV with list of cloud router connections + content: + text/csv: + schema: + $ref: '#/components/schemas/CloudRouterConnectionsDownloadCsvResponse' + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + tags: + - Cloud Router Connections + summary: Checks to make sure the bgp addresses are unique + operationId: CloudRouterConnections_checkBgpAddressUnique + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for bgp address uniqueness check + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCheckBgpAddressUniqueRequest + responses: + '200': + description: BGP addresses uniqueness check response + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCheckBgpAddressUniqueResponse + /v2/services/cloud-routers/connections: + get: + tags: + - Cloud Router Connections + summary: Lists all of the customer's cloud router connections. + operationId: CloudRouterConnections_listAll + parameters: + - description: Filter Dedicated Port connections by their Port Cicuit ID. + required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-LAB1-123456 + - description: Number of records to skip + name: offset + required: false + in: query + schema: + type: integer + example: 20 + - description: Number of records to show + name: page_size + required: false + in: query + schema: + type: integer + example: 10 + - description: Column to sort results on + name: sort_column + required: false + in: query + schema: + type: string + enum: + - time_created + - time_updated + - description: Pagination sort order. + required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterConnectionsListAllResponse' + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + patch: + tags: + - Cloud Router Connections + summary: Update a Cloud Router Connection + operationId: CloudRouterConnections_updateConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection to update. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-CC-1234 + requestBody: + description: Update an existing Cloud Router Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsUpdateConnectionRequest + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsUpdateConnectionResponse + get: + tags: + - Cloud Router Connections + summary: Get a single cloud router connection by circuit id. + operationId: CloudRouterConnections_getSingleByCircuitId + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsGetSingleByCircuitIdResponse + delete: + tags: + - Cloud Router Connections + summary: Delete a cloud router connection by circuit id. + operationId: CloudRouterConnections_deleteByCircuitConnectionId + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: The circuit ID of the connection. + required: true + in: path + name: cloud_connection_circuit_id + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsDeleteByCircuitConnectionIdResponse + /v2/services/cloud-routers/connections/{circuit_id}: + get: + tags: + - Cloud Router Connections + summary: Get a single cloud router connection by circuit id. + operationId: CloudRouterConnections_getByCircuitId + parameters: + - description: The circuit ID of the connection. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsGetByCircuitIdResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: + tags: + - Cloud Router Connections + summary: Delete a cloud router connection. + operationId: CloudRouterConnections_deleteConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Target cloud connection's UUID. + required: true + in: path + name: cloud_connection_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsDeleteConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + tags: + - Cloud Router Third Party + summary: >- + Creates a new Marketplace Cloud Router Connection request and returns + it. + operationId: CloudRouterThirdParty_createRequest + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new marketplace cloud router connection + request. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterThirdPartyCreateRequestRequest' + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyCreateRequestResponse + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + tags: + - Cloud Router Connections + summary: Creates a new AWS connection on a cloud router and returns it. + operationId: CloudRouterConnections_createAwsConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAwsConnectionRequest + responses: + '201': + description: A new AWS cloud connectivity instance. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAwsConnectionResponse + deprecated: true + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + tags: + - Cloud Router Connections + summary: Creates a new AWS connection on a cloud router and returns it. + operationId: CloudRouterConnections_createAwsConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAwsConnectionRequest1 + responses: + '201': + description: A new AWS Cloud Router Connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAwsConnection201Response + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + tags: + - Cloud Router Connections + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + operationId: CloudRouterConnections_createAzureConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAzureConnectionRequest + responses: + '201': + description: A new Azure cloud connectivity instance. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAzureConnectionResponse + deprecated: true + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + tags: + - Cloud Router Connections + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + operationId: CloudRouterConnections_createAzureExpressRouteConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAzureExpressRouteConnectionRequest + responses: + '201': + description: A new Azure Cloud Router Connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateAzureExpressRouteConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + tags: + - Cloud Router Connections + summary: Creates a new Google connection on a cloud router and returns it. + operationId: CloudRouterConnections_createGoogleConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateGoogleConnectionRequest + responses: + '201': + description: A new Google cloud connectivity instance. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateGoogleConnectionResponse + deprecated: true + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + tags: + - Cloud Router Connections + summary: Creates a new Google connection on a cloud router and returns it. + operationId: CloudRouterConnections_createGoogleConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateGoogleConnectionRequest1 + responses: + '201': + description: A new Google Cloud Router Connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateGoogleConnection201Response + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + tags: + - Cloud Router Connections + summary: Creates a new IBM connection on a cloud router and returns it. + operationId: CloudRouterConnections_createIBMConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIbmConnectionRequest + responses: + '201': + description: A new IBM cloud connectivity instance. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIbmConnectionResponse + deprecated: true + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + tags: + - Cloud Router Connections + summary: Creates a new IBM connection on a cloud router and returns it. + operationId: CloudRouterConnections_createIbmConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIbmConnectionRequest1 + responses: + '201': + description: A new IBM Cloud Router Connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIbmConnection201Response + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + tags: + - Cloud Router Connections + summary: Creates a new IPSec connection on a cloud router. + operationId: CloudRouterConnections_createIpsecConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new IPSec connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIpsecConnectionRequest + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateIpsecConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + tags: + - Cloud Router Connections + summary: Creates a new Oracle connection on a cloud router and returns it. + operationId: CloudRouterConnections_createOracleConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateOracleConnectionRequest + responses: + '201': + description: A new Oracle cloud connectivity instance. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateOracleConnectionResponse + deprecated: true + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + tags: + - Cloud Router Connections + summary: Creates a new Oracle connection on a cloud router and returns it. + operationId: CloudRouterConnections_createOracleConnection + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateOracleConnectionRequest1 + responses: + '201': + description: A new Oracle Cloud Router Connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsCreateOracleConnection201Response + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + tags: + - Cloud Router Connections + summary: Attaches a customer-owned port to a Cloud Router. + operationId: CloudRouterConnections_attachPort + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new customer-owned port cloud router + connection. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterConnectionsAttachPortRequest' + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterConnectionsAttachPortResponse' + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + tags: + - Cloud Router Connections + summary: Get cloud connection instance status + operationId: CloudRouterConnections_getInstanceStatus + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Target cloud connection's Circuit ID. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsGetInstanceStatusResponse + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: + tags: + - Cloud Router Connections + summary: Get cloud connection upgrade options + operationId: CloudRouterConnections_getUpgradeOptions + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Target cloud connection's Circuit ID. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterConnectionsGetUpgradeOptionsResponse + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: + tags: + - Cloud Router BGP Session Settings + summary: Get routes for the BGP session of a specific connection. + operationId: CloudRouterBgpSessionSettings_getConnectionBgpRoutes + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Target connection's Cloud Circuit ID. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + - description: Type of the bgp routes + required: true + in: query + name: route_type + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + responses: + '200': + description: List of bgp routes for the specified connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterBgpSessionSettingsGetConnectionBgpRoutesResponse + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + tags: + - Cloud Router Connections + summary: Get CR connection status + operationId: CloudRouterConnections_getStatus + parameters: + - description: Target's CR Circuit ID. + name: circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-LAX1-1002 + - description: Target's CR Connection Circuit ID. + name: connection_circuit_id + in: path + required: true + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a CR connection provisioning + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterConnectionsGetStatusResponse' + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: + tags: + - Cloud Routers + summary: Get routes for this cloud router's bgp sessions + operationId: CloudRouters_getBgpRoutes + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Type of the bgp routes + required: true + in: query + name: route_type + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + - imported + responses: + '200': + description: List of bgp routes for this Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersGetBgpRoutesResponse' + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: + tags: + - Cloud Routers + summary: Get all routes for this cloud router + operationId: CloudRouters_getAllRoutes + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: List of routes for this Cloud Router. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersGetAllRoutesResponse' + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: + tags: + - Cloud Routers + summary: Get logs for this cloud router's bgp sessions + operationId: CloudRouters_getBgpLogs + parameters: + - description: Circuit ID of the target cloud router. + required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Target connection's Cloud Circuit ID. + required: false + in: query + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + - description: Get BGP logs starting from this time + required: true + in: query + name: time_from + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - description: Get BGP logs up until this time + required: true + in: query + name: time_to + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + responses: + '200': + description: List of bgp logs for the specified time frame + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRoutersGetBgpLogsResponse' + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: + tags: + - Cloud Router Third Party + summary: Returns a list of Cloud Router Imports applied on a Connection. + operationId: CloudRouterThirdParty_listImports + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + responses: + '200': + description: A list of Cloud Router Imports. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterThirdPartyListImportsResponse' + post: + tags: + - Cloud Router Third Party + summary: Apply a new Cloud Router Import to this Cloud Router Connection. + operationId: CloudRouterThirdParty_importToConnection + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for importing a third-party service. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyImportToConnectionRequest + responses: + '201': + description: A single Cloud Router Import. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyImportToConnectionResponse + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + get: + tags: + - Cloud Router Third Party + summary: Returns a single Cloud Router Import associated with the circuit id. + operationId: CloudRouterThirdParty_getSingleImport + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + format: uuid + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyGetSingleImportResponse + delete: + tags: + - Cloud Router Third Party + summary: Remove a Cloud Router Import from this Connection. + operationId: CloudRouterThirdParty_removeConnectionImport + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + format: uuid + responses: + '202': + description: Cloud Router Import is being removed. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyRemoveConnectionImportResponse + patch: + tags: + - Cloud Router Third Party + summary: Updates a Cloud Router Import associated with this circuit id. + operationId: CloudRouterThirdParty_updateImportById + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + - description: Circuit ID of the Cloud Router third-party service import. + required: true + in: path + name: import_circuit_id + schema: + type: string + format: uuid + requestBody: + description: Request payload for updating an import. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyUpdateImportByIdRequest + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyUpdateImportByIdResponse + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + tags: + - Cloud Router Third Party + summary: Remove multiple Cloud Router Imports by Circuit Id. + operationId: CloudRouterThirdParty_removeMultiple + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the target Cloud Router Connection. + required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for deleting multiple Cloud Router Imports. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterThirdPartyRemoveMultipleRequest' + responses: + '202': + description: The Cloud Router Imports are being deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterThirdPartyRemoveMultipleResponse + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: + tags: + - Cloud Router Route Sets + summary: Returns a list of Route Sets on this Cloud Router. + operationId: CloudRouterRouteSets_getList + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: A list of Route Sets. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterRouteSetsGetListResponse' + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: + tags: + - Cloud Router Route Sets + summary: Returns a single Route Set associated with the circuit id. + operationId: CloudRouterRouteSets_getSingleRouteSet + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the Route Set. + required: true + in: path + name: route_set_circuit_id + schema: + type: string + example: PF-L3-RS-123456 + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterRouteSetsGetSingleRouteSetResponse + patch: + tags: + - Cloud Router Route Sets + summary: Updates a Route Set associated with this circuit id. + operationId: CloudRouterRouteSets_updateRouteSet + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the Route Set. + required: true + in: path + name: route_set_circuit_id + schema: + type: string + example: PF-L3-RS-123456 + requestBody: + description: Request payload for updating a route set. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudRouterRouteSetsUpdateRouteSetRequest' + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterRouteSetsUpdateRouteSetResponse + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: + tags: + - Cloud Router Route Sets + summary: Returns the list of connections this Route Set is defined from. + operationId: CloudRouterRouteSets_getConnections + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the Route Set. + required: true + in: path + name: route_set_circuit_id + schema: + type: string + example: PF-L3-RS-9087 + responses: + '200': + description: A list of connections this Route Set is defined from. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterRouteSetsGetConnectionsResponse + put: + tags: + - Cloud Router Route Sets + summary: Updates the list of connections this Route Set is defined from. + operationId: CloudRouterRouteSets_updateConnections + parameters: + - description: Circuit ID of the target Cloud Router. + required: true + in: path + name: cr_circuit_id + schema: + type: string + example: PF-L3-CUST-2 + - description: Circuit ID of the Route Set. + required: true + in: path + name: route_set_circuit_id + schema: + type: string + example: PF-L3-RS-9087 + requestBody: + description: >- + Request payload for updating a list of connections this Route Set is + defined from. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterRouteSetsUpdateConnectionsRequest + responses: + '202': + description: Success message + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudRouterRouteSetsUpdateConnectionsResponse + example: + message: Route Set Connection Links are being updated. + /v2/services/cloud/hosted/aws: + post: + tags: + - Cloud Services - AWS + summary: Request a new hosted AWS connection. + operationId: CloudServicesAws_requestHostedConnection + requestBody: + description: Request payload for creating new AWS Hosted Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsRequestHostedConnectionRequest + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsRequestHostedConnectionResponse + /v2/services/cloud/dedicated/aws: + post: + tags: + - Cloud Services - AWS + summary: Request a new dedicated AWS connection. + operationId: CloudServicesAws_requestConnection + requestBody: + description: Request payload for creating new AWS Dedicated Connection. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsRequestConnectionRequest' + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsRequestConnectionResponse' + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: + tags: + - Cloud Services - Azure + summary: Validate an Azure service key. + operationId: CloudServicesAzure_validateServiceKey + parameters: + - description: The Service Key provided by Microsoft Azure. + required: true + in: path + name: azure_service_key + schema: + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + responses: + '200': + description: Azure service key validation response. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureValidateServiceKeyResponse + /v2/services/cloud/hosted/azure: + post: + tags: + - Cloud Services - Azure + summary: Request a new AzureExpressRoute hosted connection. + operationId: CloudServicesAzure_requestNewExpressRoute + requestBody: + description: Request payload for creating new Azure ExpressRoute Hosted Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestNewExpressRouteRequest + responses: + '201': + description: Successfully created a new AzureExpressRoute hosted connection + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestNewExpressRouteResponse + /v2/services/cloud/dedicated/azure: + post: + tags: + - Cloud Services - Azure + summary: Request a new AzureExpressRoute dedicated connection. + operationId: CloudServicesAzure_requestNewDedicatedConnection + requestBody: + description: >- + Request payload for creating new dedicated Azure ExpressRoute + Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestNewDedicatedConnectionRequest + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAzureRequestNewDedicatedConnectionResponse + /v2/services/cloud/hosted/google: + post: + tags: + - Cloud Services - Google Cloud + summary: Request a new hosted Google connection. + operationId: CloudServicesGoogleCloud_requestNewConnection + requestBody: + description: Request payload for creating new AWS Hosted Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestNewConnectionRequest + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestNewConnectionResponse + /v2/services/cloud/dedicated/google: + post: + tags: + - Cloud Services - Google Cloud + summary: Request a new dedicated Google connection. + operationId: CloudServicesGoogleCloud_requestDedicatedConnection + requestBody: + description: Request payload for creating new Google Dedicated Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestDedicatedConnectionRequest + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudRequestDedicatedConnectionResponse + /v2/services/cloud/hosted/ibm: + post: + tags: + - Cloud Services - IBM + summary: Request a new hosted IBM connection. + operationId: CloudServicesIbm_requestNewConnection + requestBody: + description: Request payload for creating new IBM Hosted Connection. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesIbmRequestNewConnectionRequest' + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesIbmRequestNewConnectionResponse + /v2/services/cloud/hosted/oracle: + post: + tags: + - Cloud Services - Oracle + summary: Request a new hosted Oracle connection. + operationId: CloudServicesOracle_requestConnection + requestBody: + description: Request payload for creating new Oracle Hosted Connection. + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesOracleRequestConnectionRequest' + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesOracleRequestConnectionResponse + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: + tags: + - Cloud Services - Oracle + summary: Get current status of Oracle side VC + operationId: CloudServicesOracle_getStatus + parameters: + - description: Oracle side VC identifier + required: true + in: path + name: vc_ocid + schema: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + - description: Oracle region for this VC OCID + name: region + required: false + in: query + schema: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + responses: + '200': + description: Current status of Oracle VC + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesOracleGetStatusResponse' + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: + tags: + - Cloud Services - Oracle + summary: >- + Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted + connection. + operationId: CloudServicesOracle_syncChanges + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-DAL-NYC-2009-PF + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesOracleSyncChangesResponse' + /v2/services/cloud/{cloud_circuit_id}: + delete: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Delete a cloud connection + operationId: CloudServicesAws_deleteConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Cloud connection successfully deleted + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Update a hosted cloud connection + operationId: CloudServicesAws_updateHostedConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: Request payload for updating a hosted cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpdateHostedConnectionRequest + responses: + '200': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpdateHostedConnectionResponse + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + summary: Upgrade a hosted cloud connection + operationId: CloudServicesAws_upgradeHostedConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: Request payload for upgrading a hosted cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpgradeHostedConnectionRequest + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpgradeHostedConnectionResponse + deprecated: true + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + summary: Update a dedicated cloud connection + operationId: CloudServicesAws_updateDedicatedCloudConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: Request payload for updating a dedicated cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpdateDedicatedCloudConnectionRequest + responses: + '200': + description: The cloud dedicated connection was updated successfully + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpdateDedicatedCloudConnectionResponse + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + summary: Upgrade a dedicated cloud connection + operationId: CloudServicesAws_upgradeDedicatedCloudConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: Request payload for upgrading a hosted cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpgradeDedicatedCloudConnectionRequest + responses: + '202': + description: Multi cloud dedicated services upgrade response + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsUpgradeDedicatedCloudConnectionResponse + deprecated: true + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + tags: + - Cloud Services - IBM + summary: Update an IBM hosted cloud connection + operationId: CloudServicesIbm_updateIbmCloudConnection + parameters: + - description: The unique PF circuit ID for this connection. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + requestBody: + description: Request payload for upgrading an IBM hosted cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesIbmUpdateIbmCloudConnectionRequest + responses: + '201': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesIbmUpdateIbmCloudConnectionResponse + deprecated: true + /v2/services/cloud/connections/{cloud_circuit_id}: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get cloud connection info + operationId: get_connection + parameters: + - description: Target connection's Cloud Circuit ID. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + $ref: '#/components/schemas/GetConnectionResponse' + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get cloud connection instance status (Legacy) + operationId: CloudServicesAws_getConnectionStatus + parameters: + - description: Target connection's Cloud Circuit ID. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetConnectionStatusResponse + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + summary: Get cloud connection instance upgrade options + operationId: CloudServicesAws_getConnectionUpgradeOptions + parameters: + - description: Target connection's Cloud Circuit ID. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetConnectionUpgradeOptionsResponse + /v2/services/cloud/connections/hosted: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + summary: >- + Get list of current customer's hosted cloud connections. Output is only + paginated if at least one pagination argument is given. + operationId: CloudServicesAws_listHostedConnections + parameters: + - description: Filter by circuit id or description + name: q + in: query + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: List of customer's hosted cloud connections + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsListHostedConnectionsResponse + /v2/services/cloud/connections/hosted/export.csv: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + summary: >- + Get CSV with the list of current customer's hosted cloud connections. + Output is only paginated if at least one pagination argument is given. + operationId: CloudServicesAws_listHostedConnectionsCsv + parameters: + - description: Filter by circuit id or description + name: q + in: query + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: CSV with the list of customer's hosted cloud connections + content: + text/csv: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsListHostedConnectionsCsvResponse + /v2/services/cloud/connections/dedicated: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + summary: Get list of current customer's dedicated cloud connections + operationId: CloudServicesAws_getCurrentDedicatedConnections + responses: + '200': + description: List of customer's dedicated cloud connections + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetCurrentDedicatedConnectionsResponse + /v2/services/cloud/connections/dedicated/export.csv: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + summary: Get CSV with the list of current customer's dedicated cloud connections + operationId: CloudServicesAws_getCurrentCustomerDedicatedConnectionsCsv + responses: + '200': + description: CSV with the list of customer's dedicated cloud connections + content: + text/csv: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetCurrentCustomerDedicatedConnectionsCsvResponse + /v2.1/services/cloud/connections/{ident}/status: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get Cloud status + operationId: CloudServicesAws_getStatus + parameters: + - description: Cloud UUID + name: ident + in: path + required: true + schema: + type: string + example: 2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6 + responses: + '200': + description: Cloud provisioning status + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsGetStatusResponse' + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Google Cloud + summary: Get router configuration + operationId: CloudServicesAws_getRouterConfig + parameters: + - description: Target connection's Cloud Circuit ID. + required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + - description: Router Type Identifier. + required: true + in: query + name: router_type + schema: + type: string + enum: + - CiscoSystemsInc-2900SeriesRouters-IOS124 + - CiscoSystemsInc-3700SeriesRouters-IOS124 + - CiscoSystemsInc-7200SeriesRouters-IOS124 + - CiscoSystemsInc-Nexus7000SeriesSwitches-NXOS51 + - CiscoSystemsInc-Nexus9KSeriesSwitches-NXOS93 + - JuniperNetworksInc-MMXSeriesRouters-JunOS95 + - JuniperNetworksInc-SRXSeriesRouters-JunOS95 + - JuniperNetworksInc-TSeriesRouters-JunOS95 + - PaloAltoNetworks-PA3000and5000series-PANOS803 + example: CiscoSystemsInc-2900SeriesRouters-IOS124 + responses: + '200': + description: Cloud Router Configuration + content: + application/json: + schema: + $ref: '#/components/schemas/CloudServicesAwsGetRouterConfigResponse' + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: + tags: + - Cloud Services - AWS + summary: Get available AWS regions + operationId: CloudServicesAws_getAvailableRegions + parameters: + - description: The UUID of the credentials that should be used for this request. + required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + responses: + '200': + description: AWS regions + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetAvailableRegionsResponse + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: + tags: + - Cloud Services - AWS + summary: Get AWS resources in the given region + operationId: CloudServicesAws_getResourcesInRegion + parameters: + - description: The UUID of the credentials that should be used for this request. + required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + - description: Name of the chosen AWS region. + required: true + in: path + name: region_name + schema: + type: string + example: us-east-1 + responses: + '200': + description: AWS resources in the given region + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesAwsGetResourcesInRegionResponse + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: + tags: + - Cloud Services - Google Cloud + summary: Get available Google regions + operationId: CloudServicesGoogleCloud_availableRegionsGet + parameters: + - description: The UUID of the credentials that should be used for this request. + required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + responses: + '200': + description: Google regions + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudAvailableRegionsGetResponse + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: + tags: + - Cloud Services - Google Cloud + summary: Get Google resources in the given region + operationId: CloudServicesGoogleCloud_getResourcesByRegion + parameters: + - description: The UUID of the credentials that should be used for this request. + required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + - description: Name of the chosen AWS region. + required: true + in: path + name: region_name + schema: + type: string + example: us-east1 + - description: >- + Name of the chosen project_id. Defaults to the project_id of the + credentials. + required: false + in: query + name: project_id + schema: + type: string + example: example-project + responses: + '200': + description: Google resources in the given region + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudServicesGoogleCloudGetResourcesByRegionResponse + /v2/services/cloud/credentials: + get: + tags: + - Cloud Provider Credentials + summary: Get all cloud provider credentials + operationId: CloudProviderCredentials_getAll + responses: + '200': + description: List of Cloud Provider Credentials + content: + application/json: + schema: + $ref: '#/components/schemas/CloudProviderCredentialsGetAllResponse' + post: + tags: + - Cloud Provider Credentials + summary: Create a new Cloud Provider Credential. + operationId: CloudProviderCredentials_createNewCredential + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsCreateNewCredentialRequest + responses: + '201': + description: Cloud Provider Credential + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsCreateNewCredentialResponse + /v2/services/cloud/credentials/{credential_uuid}: + delete: + tags: + - Cloud Provider Credentials + summary: Delete a Cloud Provider Credential. + operationId: CloudProviderCredentials_deleteCredential + parameters: + - description: UUID of the target Cloud Provider Credential. + required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + responses: + '200': + description: Cloud Provider Credential deleted. + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsDeleteCredentialResponse + patch: + tags: + - Cloud Provider Credentials + summary: Update a Cloud Provider Credential. + operationId: CloudProviderCredentials_updateCredential + parameters: + - description: UUID of the target Cloud Provider Credential. + required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsUpdateCredentialRequest + responses: + '200': + description: Updated Cloud Provider Credential + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsUpdateCredentialResponse + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: + tags: + - Cloud Provider Credentials + summary: Get all connections tied to this cloud provider credential + operationId: CloudProviderCredentials_getAllConnections + parameters: + - description: UUID of the target Cloud Provider Credential. + required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + responses: + '200': + description: List of Connections tied to this Cloud Provider Credential + content: + application/json: + schema: + $ref: >- + #/components/schemas/CloudProviderCredentialsGetAllConnectionsResponse + /v2/signup/email-validation: + get: + tags: + - Signup + summary: Check email address + operationId: Signup_emailValidationCheck + security: [] + description: Check if an email address is valid for signup + parameters: + - description: The email address to be checked + required: true + in: query + name: email + schema: + type: string + example: email@email.com + responses: + '200': + description: A valid email address was checked + '400': + description: The email address was either missing or invalid + /v2/aggregated-capacity: + post: + tags: + - Flex Bandwidth + summary: Create a flex bandwidth container + operationId: FlexBandwidth_createFlexContainer + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthCreateFlexContainerRequest' + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthCreateFlexContainerResponse' + deprecated: true + get: + tags: + - Flex Bandwidth + summary: Get all flex bandwidth containers for the current customer + operationId: FlexBandwidth_getAllContainers + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthGetAllContainers200Response' + deprecated: true + /v2/aggregated-capacity/{aggregate_capacity_id}: + get: + tags: + - Flex Bandwidth + summary: Get a flex bandwidth container by ID + operationId: FlexBandwidth_getById + parameters: + - description: The ID of the flex bandwidth container + in: path + name: aggregate_capacity_id + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + $ref: '#/components/schemas/FlexBandwidthGetById200Response' + deprecated: true + delete: + tags: + - Flex Bandwidth + summary: Delete a flex bandwidth container + operationId: FlexBandwidth_deleteContainer + parameters: + - description: The ID of the flex bandwidth container + in: path + name: aggregate_capacity_id + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + deprecated: true + /v2/announcements: + get: + tags: + - Announcements + summary: Get all active announcements for the current customer + operationId: Announcements_getCurrentCustomerList + responses: + '200': + description: An object containing a list of active announcements + content: + application/json: + schema: + $ref: >- + #/components/schemas/AnnouncementsGetCurrentCustomerListResponse + /v2/services/ipam/contacts: + get: + tags: + - IPAM + summary: Get the IPAM contacts associated with the current customer + operationId: Ipam_getCurrentCustomerContacts + responses: + '200': + description: List of IPAM contacts + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetCurrentCustomerContactsResponse' + post: + tags: + - IPAM + summary: Add the contact for the current customer + operationId: Ipam_addContact + requestBody: + description: Request payload for IPAM contact creation + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAddContactRequest' + responses: + '201': + description: Created IPAM contact details + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAddContactResponse' + /v2/services/ipam/contacts/{ipam_contact_uuid}: + get: + tags: + - IPAM + summary: Get an IPAM contact by UUID + operationId: Ipam_getByUuid + parameters: + - description: The UUID of the IPAM contact. + required: true + in: path + name: ipam_contact_uuid + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: IPAM contact + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetByUuidResponse' + delete: + tags: + - IPAM + summary: Delete an IPAM contact by UUID + operationId: Ipam_deleteByUuid + parameters: + - description: The UUID of the IPAM contact. + required: true + in: path + name: ipam_contact_uuid + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: Deletion message + content: + application/json: + schema: + $ref: '#/components/schemas/IpamDeleteByUuidResponse' + /v2/services/ipam/prefixes: + get: + tags: + - IPAM + summary: Get the IPAM prefixes associated with the current customer + operationId: Ipam_getPrefixes + parameters: + - description: The market code to filter by. + name: market + in: query + required: false + schema: + type: string + example: NYC + responses: + '200': + description: List of IPAM prefixes + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetPrefixesResponse' + post: + tags: + - IPAM + summary: Allocate a new IPAM prefix + operationId: Ipam_allocatePrefix + requestBody: + description: Request payload for IPAM prefix creation + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAllocatePrefixRequest' + responses: + '201': + description: Created IPAM prefix details + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAllocatePrefixResponse' + /v2/services/ipam/prefixes/{prefix_circuit_id}: + get: + tags: + - IPAM + summary: Get an IPAM Prefix by Circuit Id + operationId: Ipam_getByCircuitId + parameters: + - description: The Circuit Id of the IPAM Prefix. + required: true + in: path + name: prefix_circuit_id + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: IPAM prefix + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetByCircuitIdResponse' + delete: + tags: + - IPAM + summary: Delete an IPAM prefix by Circuit Id + operationId: Ipam_deleteByCircuitId + parameters: + - description: The Circuit Id of the IPAM Prefix. + required: true + in: path + name: prefix_circuit_id + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: Deletion message + content: + application/json: + schema: + $ref: '#/components/schemas/IpamDeleteByCircuitIdResponse' + /v2/services/ipam/asns: + get: + tags: + - IPAM + summary: Get the IPAM ASNs associated with the current customer + operationId: Ipam_getAsns + responses: + '200': + description: List of IPAM ASNs + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetAsnsResponse' + post: + tags: + - IPAM + summary: Allocate a new IPAM ASN + operationId: Ipam_allocateNewAsn + requestBody: + description: Request payload for IPAM ASN creation + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAllocateNewAsnRequest' + responses: + '201': + description: Created IPAM ASN details + content: + application/json: + schema: + $ref: '#/components/schemas/IpamAllocateNewAsnResponse' + /v2/services/ipam/asns/{asn}: + get: + tags: + - IPAM + summary: Get an IPAM ASN by the ASN + operationId: Ipam_getAsnById + parameters: + - description: The ASN. + required: true + in: path + name: asn + schema: + type: integer + example: 65367 + responses: + '200': + description: IPAM ASN + content: + application/json: + schema: + $ref: '#/components/schemas/IpamGetAsnByIdResponse' + delete: + tags: + - IPAM + summary: Delete an IPAM ASN by the ASN + operationId: Ipam_deleteAsnByAsn + parameters: + - description: The ASN. + required: true + in: path + name: asn + schema: + type: integer + example: 65367 + responses: + '200': + description: ASN deleted. + content: + application/json: + schema: + $ref: '#/components/schemas/IpamDeleteAsnByAsnResponse' + /v2/services/high-performance-internet: + get: + tags: + - High Performance Internet + summary: Get HPIs associated with the current customer + operationId: HighPerformanceInternet_getCurrentCustomerHPIs + responses: + '200': + description: List of HPIs + content: + application/json: + schema: + $ref: >- + #/components/schemas/HighPerformanceInternetGetCurrentCustomerHpIsResponse + post: + tags: + - High Performance Internet + summary: Create a new HPI + operationId: hpi_post + requestBody: + description: Request payload for HPI creation + content: + application/json: + schema: + $ref: '#/components/schemas/HpiPostRequest' + responses: + '202': + description: Created HPI details + content: + application/json: + schema: + $ref: '#/components/schemas/HpiPostResponse' + /v2/services/high-performance-internet/{hpi_circuit_id}: + get: + tags: + - High Performance Internet + summary: Get a HPI by hpi_circuit_id + operationId: hpi_get + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + responses: + '200': + description: HPI + content: + application/json: + schema: + $ref: '#/components/schemas/HpiGetResponse' + put: + tags: + - High Performance Internet + summary: Update a HPI + operationId: hpi_put + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + requestBody: + description: Request payload for HPI update + content: + application/json: + schema: + $ref: '#/components/schemas/HpiPutRequest' + responses: + '202': + description: Updated HPI details + content: + application/json: + schema: + $ref: '#/components/schemas/HpiPutResponse' + delete: + tags: + - High Performance Internet + summary: Delete a HPI by hpi_circuit_id + operationId: hpi_delete + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + responses: + '200': + description: Deletion message + content: + application/json: + schema: + $ref: '#/components/schemas/HpiDeleteResponse' + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: + tags: + - High Performance Internet + summary: Get the bgp routing configurations for this HPI + operationId: HighPerformanceInternet_getBgpConfig + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + responses: + '200': + description: List of BGP routing configurations + content: + application/json: + schema: + $ref: >- + #/components/schemas/HighPerformanceInternetGetBgpConfigResponse + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: + tags: + - High Performance Internet + summary: Get the static routing configurations for this HPI + operationId: HighPerformanceInternet_getStaticConfigurations + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + responses: + '200': + description: List of static routing configurations + content: + application/json: + schema: + $ref: >- + #/components/schemas/HighPerformanceInternetGetStaticConfigurationsResponse + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: + tags: + - High Performance Internet + summary: Get HPI status + operationId: HighPerformanceInternet_getStatus + parameters: + - description: The circuit id of the HPI. + required: true + in: path + name: hpi_circuit_id + schema: + type: string + responses: + '200': + description: Status of an HPI provisioning + content: + application/json: + schema: + $ref: '#/components/schemas/HighPerformanceInternetGetStatusResponse' +components: + securitySchemes: + BearerAuth: + type: http + scheme: bearer + schemas: + ApiKeysCreateNewKeyRequest: + title: API key parameters + type: object + required: + - name + properties: + name: + description: API key name + type: string + example: Silver key + expiration: + description: Key expiration in seconds + type: integer + example: 100500 + AuthenticationStartSessionRequest: + title: User credentials + type: object + required: + - login + - password + properties: + login: + description: User login + type: string + password: + description: User password + type: string + LoginMfaRequest: + title: Authentication code + type: object + required: + - authentication_code + properties: + authentication_code: + description: Authentication code + type: string + ModifyOrderRequest: + description: Details of the circuit modification + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: New speed of the circuit (for VC upgrades) + type: string + example: 100Gbps + billing_product_type: + description: Billing type for VCs + type: string + enum: + - longhaul_dedicated + service_class: + description: >- + The service class dedicated cloud connections, either longhaul or + metro. + type: string + example: longhaul + enum: + - longhaul + - metro + capacity: + description: >- + New capacity if modifying an aggregate capacity container or Cloud + Router. + type: string + example: 100Gbps + regions: + type: array + items: + description: New regions to be used when modifying a Cloud Router. + type: string + example: US + enum: + - US + - UK + BillingModifyOrderPreviewRequest: + description: Details of the circuit modification + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: New speed of the circuit (for VC upgrades) + type: string + example: 100Gbps + billing_product_type: + description: Billing type for VCs + type: string + enum: + - longhaul_dedicated + service_class: + description: >- + The service class dedicated cloud connections, either longhaul or + metro. + type: string + example: longhaul + enum: + - longhaul + - metro + capacity: + description: >- + New capacity if modifying an aggregate capacity container or Cloud + Router. + type: string + example: 100Gbps + regions: + type: array + items: + description: New regions to be used when modifying a Cloud Router. + type: string + example: US + enum: + - US + - UK + ContactPostRequest: + type: object + required: + - email + - phone + - admin + - billing + - tech + properties: + first_name: + description: > + First name of the contact person. Required for admin and tech + contacts. Not required for the contacts with `po_number` + type: string + maxLength: 255 + example: James + last_name: + description: > + Last name of the contact person. Required for admin and tech + contacts. Not required for the contacts with `po_number` + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + format: email + maxLength: 255 + example: email@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: ^[0-9 ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: > + Address of the contact person. Required for admin and billing + contacts + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: City of the contact person. Required for admin and billing contacts + type: string + maxLength: 64 + example: Chicago + state: + description: > + State of the contact person. Required if the country of contact is + "US", "USA", "CA", "CAN" + type: string + maxLength: 32 + example: IL + postal: + description: Postal code of the contact. Required for some of the countries + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: Set `true` to designate this contact as the default billing contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of invoices, + defaults to True and only effective if it is a billing contact i.e. + billing=true + type: boolean + ContactUpdateRequest: + type: object + properties: + first_name: + description: First name of the contact person + type: string + maxLength: 255 + example: James + last_name: + description: Last name of the contact person + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + maxLength: 255 + example: user@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: ^[0-9 ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: Address of the contact person + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: City of the contact person + type: string + maxLength: 64 + example: Chicago + state: + description: State of the contact person. + type: string + maxLength: 32 + example: IL + postal: + description: Postal code of the contact + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: Set `true` to designate this contact as the default billing contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of invoices, + only effective if it is a billing contact i.e. billing=true + type: boolean + CustomerUpdateRequest: + type: object + properties: + description: + description: Customer description + type: string + example: Importer/exporter + name: + description: Customer name + type: string + example: Vandelay Industries + website: + description: Website address + type: string + example: vandelayindustries.com + aliases: + description: Customer aliases + type: string + example: DM Scranton + notes: + description: Private customer notes + type: string + example: Cloud services via Amazon Direct Connect + searchable: + description: Customer visiblity in search results + type: boolean + customer_wide_mfa: + description: Changes the customer-wide MFA setting + type: boolean + password: + description: Current user password. Only required if customer_wide_mfa changed + type: string + example: password111 + company_type_code: + description: Type of customer company + type: string + example: LLC + service_provider_types: + description: List of marketplace service provider types + type: array + items: + description: Slug of the service provider type + type: string + example: cloud-service-providers + industries: + description: Industries to which the customer belongs + type: array + items: + description: Slug of the industry + type: string + example: telecommunications + CustomersUploadLogoImageRequest: + type: object + properties: + image: + type: string + format: binary + example: JPEG, PNG or BMP image file + CustomersUpdateIxDetailsRequest: + type: object + properties: + pricing_url: + description: Url of the IX details page + type: string + example: https://ix-example.pf/connect/guide + redirect_url: + description: >- + Url the customer will be redirected to after setting up an IX + connection + type: string + example: https://ix-example.pf/connect/provision + tiers: + description: Pricing tiers of the IX + type: array + items: + type: object + properties: + price: + description: Price + type: string + example: $82.91 MRC + speed: + description: Speed (Mbps) + type: integer + example: 10000 + viewValue: + description: String representation for speed + type: string + example: 10G + order_completion_method: + description: Order completion method + type: string + example: email + email: + description: IX contact email + type: string + example: contacts@ix-example.pf + DiagnosticReportsCreateReportRequest: + type: object + properties: + description: + description: The description of the diagnostic report + type: string + example: User provided description + circuit_ids: + description: An array of circuit IDs + type: array + items: + description: Circuit ID intended to be linked + type: string + example: PF-AE-LAX1-1234 + start_time: + description: >- + The start time of this report and should be at least an hour ago. + Without timezone, start time will be considered as UTC + type: string + format: date-time + include_related: + description: Whether to include related reports or not + type: boolean + example: false + required: + - circuit_ids + - start_time + DocumentUploadRequest: + type: object + required: + - type + - description + - document + properties: + description: + description: Document description + type: string + example: description example + document: + description: Binary file contents + type: string + format: binary + type: + description: Document type + type: string + example: loa + enum: + - loa + - msa + port_circuit_id: + description: Port circuit id. This field is required only for "loa" document type + type: string + example: PF-AP-WDC1-1000 + StreamingEventsBetaCreateSubscriptionRequest: + type: object + required: + - streams + properties: + streams: + type: array + items: + anyOf: + - title: Activity Log Stream Request + type: object + required: + - type + properties: + type: + description: Type of events to subscribe to + type: string + enum: + - customer + events: + description: > + Categories of events to subscribe to. If not specified, + then all event categories are assumed. + type: array + example: + - auth + - physical_interface + items: + type: string + enum: + - auth + - bgp + - cloud_connection + - cloud_router + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + - title: Port Stream Request + type: object + required: + - type + properties: + type: + description: Type of events to subscribe to + type: string + enum: + - port + ifds: + description: > + Specific ports you wish to subscribe to, identified by + port circuit IDs. If none are + + supplied, then all ports to which the customer has access + are assumed. + type: array + example: + - PF-AP-ABC-1234 + - PF-AE-DEF-5678 + items: + type: string + events: + description: > + Categories of events to subscribe to. If not specified, + then all event categories are assumed. + type: array + example: + - errors + - etherstats + - metrics + - optical + items: + type: string + enum: + - errors + - etherstats + - metrics + - optical + - title: Logical Interface Stream Request + type: object + required: + - type + properties: + type: + description: Type of events to subscribe to + type: string + enum: + - vc + vcs: + description: > + Specific logical interfaces you wish to subscribe to, each + identified by a combination of + + the virtual circuit ID and port circuit ID associated with + the logical interface. If none + + are supplied, then all logical interfaces to which the + customer has access are assumed. + type: array + example: + - PF-BC-ABC-QRS-84274-PF&PF-AP-ABC-1234 + - PF-CC-JKL-DEF-13758-PF&PF-AE-DEF-5678 + items: + type: string + events: + description: > + Categories of events to subscribe to. If not specified, + then all event categories are assumed. + type: array + example: + - metrics + items: + type: string + enum: + - metrics + FlexBandwidthCreateContainerRequest: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + capacity: + description: >- + Capacity of the flex bandwidth container. Must be in the format + XXGbps or XXMbps. + type: string + example: 100Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + AddLabelRequest: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is only + available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + description: >- + An array of circuit IDs for all objects that are intended to be + added to the existing list of circuit_ids mapped to a label + type: array + items: + description: Circuit ID intended to be linked + type: string + example: PF-AE-LAX1-1234 + UpdateLabelRequest: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is only + available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + description: >- + An array of circuit IDs for all objects that are intended to be + linked when the operation is complete. + type: array + items: + description: Circuit ID intended to be linked + type: string + example: PF-AE-LAX1-1234 + LagPostRequest: + type: object + required: + - description + - interval + - pop + - members + properties: + description: + description: Description of a LAG + type: string + interval: + description: Interval at which LACP packets are sent + type: string + enum: + - fast + - slow + pop: + description: Point of presence + type: string + example: LAX1 + members: + description: >- + List of member port identifiers. All members must have the same + speed and media. + type: array + items: + type: string + example: PF-AE-LAX1-1234 + LagPatchRequest: + type: object + properties: + description: + description: Description of a LAG, up to 256 characters + type: string + interval: + description: Interval at which LACP packets are sent + type: string + enum: + - fast + - slow + LaGsAddMemberInterfaceRequest: + type: object + required: + - member_port_circuit_id + properties: + member_port_circuit_id: + description: ID of a member interface to add to LAG + type: string + example: PF-AE-LAX1-1234 + MarketplaceCreateServiceRequest: + type: object + properties: + description: + description: Short description of what the service does + type: string + example: Example description + name: + description: Name of the service + type: string + example: Example Service + state: + description: Whether or not the service is currently active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: ddos-prot + locations: + description: Locations in which the service will operate + type: array + items: + type: string + example: PDX1 + categories: + description: Categories in which the service will fit + type: array + items: + type: string + example: cloud-computing + enum: + - cloud-computing + - content-delivery-network + - edge-computing + - sd-wan + - data-storage + - developer-platform + - internet-service-provider + - security + - video-conferencing + - voice-and-Messaging + - web-hosting + - internet-of-things + - private-connectivity + - bare-metal-hosting + - sip-trunking + published: + description: Whether or not the service should be publically viewable + type: boolean + example: true + service_type: + description: The service type of this service. Defaults to 'port-service'. + type: string + example: port-service + enum: + - port-service + - cloud-router-service + cloud_router_circuit_id: + description: The circuit ID of the cloud router this service is associated with. + type: string + example: PF-L3-CUST-2001 + route_set: + type: object + required: + - prefixes + properties: + description: + description: The route set's description + type: string + example: User entered description + is_private: + description: Whether this route set is private. Defaults to true. + type: boolean + example: true + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 23.159.0.128/32 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + required: + - name + - published + MarketplaceUpdateServiceRequest: + type: object + properties: + description: + description: Short description of what the service does + type: string + example: Example description + name: + description: Name of the service + type: string + example: Example Service + state: + description: Whether or not the service is currently active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: ddos-prot + locations: + description: Locations in which the service will operate + type: array + items: + type: string + example: PDX1 + categories: + description: Categories in which the service will fit + type: array + items: + type: string + example: cloud-computing + published: + description: Whether or not the service should be publically viewable + type: boolean + example: true + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + MarketplaceUpdateServiceImageRequest: + type: object + required: + - image + properties: + image: + description: Image in png/jpeg/bmp format + type: string + format: binary + MarketplaceUpdateServiceThumbnailRequest: + type: object + required: + - image + properties: + image: + description: Image in png/jpeg/bmp format + type: string + format: binary + UpdatePortRequest: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + nullable: true + autoneg: + description: >- + Flag controling port's autonegotiation capability. Only used for + 1Gbps ports. + type: boolean + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + PortsGenerateLoaRequest: + type: object + required: + - loa_customer_name + properties: + loa_customer_name: + description: >- + Customer name to use on the LOA. It may need to be different than + what they use with PacketFabric. + example: Not The Umbrella Corp. + type: string + destination_email: + description: If specified, the LOA will be sent to this address. + type: string + format: email + destination_emails: + description: An array of destination emails + type: array + items: + description: Destination email + type: string + example: user@email.com + PortsUpgradeSubscriptionTermRequest: + description: Subscription term to upgrade to + type: object + required: + - subscription_term + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + PortPostRequest: + type: object + required: + - account_uuid + - subscription_term + - pop + - speed + - media + properties: + description: + description: User provided description of the port + type: string + example: User provided description + account_uuid: + description: ID of a billing account + type: string + format: uuid + pop: + description: Point of Presence for the newly created port + type: string + example: LAX1 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: CS-LA2 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + subscription_term: + description: Duration of the subscription in months + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + zone: + description: Availability zone of the port + type: string + example: A + autoneg: + description: >- + Flag controling port's autonegotiation capability. Only used for + 1Gbps ports. + type: boolean + nni: + description: >- + Flag to enable NNI on this port. NNI ports will use a nni_svlan_tpid + value of 0x8100. + type: boolean + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this interface should be + associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + PortalQuotesCreateNewQuoteRequest: + type: object + required: + - title + - billing_contact_uuid + properties: + title: + description: name for the quote + type: string + custom_terms: + description: Special terms for the quote + type: string + billing_contact_uuid: + description: Billing contact associated with this quote + type: string + format: uuid + selected_term: + description: >- + the default subscription term for this quote, can be overridden by + individual quote lines + type: integer + example: 12 + PortalQuotesUpdateQuoteRequest: + type: object + properties: + title: + type: string + custom_terms: + type: string + status: + type: string + enum: + - open + - cancelled + - finalized + selected_term: + description: subscription term for this quote + type: integer + example: 12 + PortalQuotesAddQuoteLineRequest: + type: object + required: + - product_type + - product_definition + properties: + selected_term: + description: >- + subscription term for this quote line, can override the term of the + parent quote + type: integer + example: 12 + product_type: + description: the type of product of this quote line + type: string + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + oneOf: + - title: Cloud Dedicated + description: >- + Cloud Dedicated product definition for the `cloud_dedicated` + product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + description: the location of the cloud dedicated port + type: string + speed: + type: string + - title: Cloud Hosted + description: >- + Cloud Hosted product definition for the `cloud_hosted` product + type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + description: the location of the customer's port + type: string + side_z: + description: the location of the cloud on-ramp port + type: string + speed: + type: string + - title: Cloud Router Connection + description: >- + Cloud Router Connection product definition for the + `cr_connection` product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + description: the location of the customer's port + type: string + speed: + type: string + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + - title: Cloud Router + description: >- + Cloud Router product definition for the `cloud_router` product + type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + side_z: + type: string + speed: + type: string + - title: Cross-connect + description: >- + Cross Connect product definition for the `crossconnect` product + type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + - title: Port + description: Port product definition for the `port` product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + description: identifier for this port's location + type: string + speed: + type: string + - title: ENNI Port + description: ENNI Port product definition for the `port_enni` product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + description: identifier for this port's location + type: string + speed: + type: string + - title: Point-to-point + description: >- + Point-to-point product definition for the `pointtopoint` product + type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + description: identifier for the A-side of this connection + type: string + side_z: + description: identifier for the Z-side of this connection + type: string + speed: + type: string + - title: Backbone VC + description: Backbone VC product definition for the `vcbwc` product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + bandwidth_type: + type: string + enum: + - dedicated + - usage + side_a: + description: identifier for the A-side of this connection + type: string + side_z: + description: identifier for the Z-side of this connection + type: string + speed: + description: not required for bandwidth_type=usage VCs + type: string + - title: Dedicated Cloud VC + description: >- + Cloud Dedicated VC product definition for the + `cloud_dedicated_vc` product type + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + description: identifier for the A-side of this connection + type: string + side_z: + description: identifier for the Z-side of this connection + type: string + speed: + type: string + PortalQuotesPublishQuoteRequest: + type: object + required: + - customer_uuid + properties: + customer_uuid: + description: UUID of the customer to whom this quote should be published + type: string + format: uuid + RequestAliasesAddNewAliasRequest: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + RequestAliasesUpdateAliasRequest: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + RequestAliasesDisassociateContactsRequest: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + RequestAliasesAssociateContactsRequest: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + PatchServiceRequest: + type: object + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + rate_limit_in: + description: >- + The upper bound, in Mbps, to limit incoming data by. Set to null to + disable. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: >- + The upper bound, in Mbps, to limit outgoing data by. Set to null to + disable. + type: integer + format: int64 + example: 1000 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + ServicesUpgradeBillingTermsRequest: + type: object + properties: + billing_product_type: + description: Type of the product + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + subscription_term: + description: Subscription term in months + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: Link speed + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + ServicesAddSpeedBurstRequest: + type: object + properties: + speed: + description: >- + Speed in Mbps of the burst. This bandwidth will be added to the + existing circuit speed. If an existing burst exists, this speed + burst will replace the existing one. Must be a multiple of 100Mbps. + type: string + example: 500Mbps + ServicesCreateBackboneVcRequest: + type: object + required: + - bandwidth + - interfaces + - epl + properties: + description: + type: string + bandwidth: + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + interfaces: + description: 2-element array containing data for A and Z interfaces + type: array + minItems: 2 + maxItems: 2 + items: + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + untagged: + description: Whether or not the interface should be untagged. + type: boolean + example: false + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + epl: + description: > + If true, created circuit will be an EPL otherwise EVPL + + * EPL provides Point-to-Point connection between a pair of + interfaces + + * EVPL supports multiple Ethernet Virtual Connections per interface + type: boolean + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + aggregate_capacity_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + deprecated: true + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + ServicesCreate3RdPartyVcRequest: + type: object + required: + - routing_id + - market + - bandwidth + - interface + properties: + description: + description: The description of the third-party VC. + type: string + example: My Third-party VC + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: PF-1RI-OQ85 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + bandwidth: + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + interface: + description: >- + Must either include a valid vlan value, s-vlan value or set untagged + to true. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + untagged: + description: Whether or not the interface should be untagged. + type: boolean + example: false + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + aggregate_capacity_id: + description: >- + The circuit ID of the aggregate capacity container from which this + VC's speed should be subtracted + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: >- + The circuit ID of the flex bandwidth container from which this VC's + speed should be subtracted + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsRequestCloudConnectionRequest: + type: object + required: + - routing_id + - market + - aws_account_id + - speed + - pop + - account_uuid + properties: + description: + description: The description of the AWS Marketplace Cloud connection. + type: string + example: My AWS Marketplace Cloud connection + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: PF-1RI-OQ85 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + aws_account_id: + description: The AWS account ID to connect with. Must be 12 characters long. + type: string + example: 2345678910 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new AWS Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + aws_region: + description: The AWS region that should be used. + type: string + example: us-east-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + type: integer + default: 1500 + aws_vif_type: + description: The type of VIF to use for this connection. + type: string + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + description: The customer ASN of this connection. + type: integer + example: 64513 + l3_address: + description: The prefix of the customer router. + type: string + example: 10.10.10.10/32 + remote_address: + description: The prefix of the remote router. + type: string + example: 10.10.10.10/32 + address_family: + description: The address family that should be used. + type: string + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + description: >- + An array of prefixes that will be advertised. Required for + public VIFs. + type: array + items: + type: string + aws_gateways: + type: array + items: + type: object + properties: + type: + description: The type of this AWS Gateway. + type: string + enum: + - directconnect + - private + - transit + name: + description: >- + The name of the AWS Gateway, required if creating a new + Gateway. + type: string + id: + description: >- + The AWS ID of this Gateway, required if using an existant + Gateway. + type: string + asn: + description: The ASN of this Gateway. + type: integer + default: 64512 + vpc_id: + description: >- + The AWS VPC ID this Gateway should be associated with. + Required for private and transit Gateways. + type: string + subnet_ids: + description: >- + An array of subnet IDs to associate with this Gateway. + Required for transit Gateways. + type: array + items: + type: string + allowed_prefixes: + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of type + transit. + type: array + items: + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAzureRequestHostedConnectionRequest: + type: object + required: + - routing_id + - market + - azure_service_key + - speed + - account_uuid + properties: + description: + description: The description of the Azure Marketplace Cloud connection. + type: string + example: My Azure Marketplace Cloud connection + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: PF-1RI-OQ85 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + azure_service_key: + description: The Service Key provided by Microsoft Azure. + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesGoogleCloudRequestHostedConnectionRequest: + type: object + required: + - routing_id + - market + - google_pairing_key + - speed + - pop + - account_uuid + properties: + description: + description: The description of the Google Marketplace Cloud connection. + type: string + example: My Google Marketplace Cloud connection + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: PF-1RI-OQ85 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + google_pairing_key: + description: The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: >- + The Google Vlan attachment name. Required if cloud_settings are not + used. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new Google Hosted Connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + cloud_settings: + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + google_region: + description: The Google region that should be used. + type: string + example: us-west1 + google_project_id: + description: >- + The Google Project Id to be used. If not present the project id + of the credentials will be used. + type: string + google_vlan_attachment_name: + description: The Google Interconnect Attachment name. No whitespace allowed. + type: string + example: interconnect-attachement-name + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_vpc_name: + description: >- + The Google VPC name. Required if a new router needs to be + created. + type: string + example: default + google_edge_availability_domain: + description: The Google Edge Availability Domain. Must be 1 or 2. + type: integer + default: 1 + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + description: The customer ASN of this connection. + type: integer + example: 64513 + remote_asn: + description: >- + The Google ASN of this connection. Must be 16550, between + 64512 and 65534, or between 4200000000 and 4294967294. + type: integer + example: 64513 + default: 16550 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + description: An array of prefixes that will be advertised. + type: array + items: + type: string + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. + type: integer + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + description: The BFD Mode. + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + example: PASSIVE + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesOracleRequestHostedConnectionRequest: + type: object + required: + - routing_id + - market + - account_uuid + - vc_ocid + - region + - pop + properties: + description: + description: The description of the Oracle Marketplace Cloud connection. + type: string + example: My Oracle Marketplace Cloud connection + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: PF-1RI-OQ85 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + vc_ocid: + description: OCID for the Oracle VC to use in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + description: The Oracle region for this connection. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + pop: + description: The desired location for the new Oracle Hosted Connection. + type: string + example: WDC2 + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + IpsecPatchRequest: + type: object + properties: + customer_gateway_address: + description: The Customer-side gateway address. + type: string + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + description: The pre-shared key for this connection. + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + ServicesCreateIxVcRequest: + type: object + required: + - routing_id + - market + - bandwidth + - interface + - asn + properties: + description: + description: The description of the Internet Exchange VC. + type: string + example: My IX VC + routing_id: + description: The routing ID of the customer to whom this VC will be connected. + type: string + example: IX-Z76-YH87 + market: + description: The market that the VC will be requested in. + type: string + example: ATL + asn: + description: ASN + type: integer + example: 4556 + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 50 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 50 + bandwidth: + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + interface: + description: >- + Must either include a valid vlan value, s-vlan value or set untagged + to true. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + untagged: + description: Whether or not the interface should be untagged. + type: boolean + example: false + aggregate_capacity_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + deprecated: true + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + ServicesDeleteRequestRequest: + type: object + properties: + delete_reason: + description: Reason for deleting the connection request + type: string + ProvisionServiceRequest: + description: Provisioning details + type: object + required: + - interface + properties: + description: + description: Connection description + type: string + example: 500Mbps connection to Vandelay Industries in SAC1 + interface: + description: >- + Must either include a valid vlan value, s-vlan value or set untagged + to true. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + untagged: + description: Whether or not the interface should be untagged. + type: boolean + example: false + CloudServicesAwsProvisionHostedRequest: + description: Marketplace Cloud provisioning details + type: object + required: + - interface + - provider + properties: + description: + description: Connection description + type: string + example: 500Mbps connection to Vandelay Industries in SAC1 + provider: + description: Cloud provider for this connection + type: string + enum: + - aws + - azure + - google + - oracle + interface: + oneOf: + - type: object + required: + - port_circuit_id + - vlan + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + - description: >- + Azure Marketplace Cloud interfaces must include vlan_private, + vlan_microsoft, or both. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the customer's port. + type: string + example: PF-AP-LAX1-1002 + vlan_private: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + vlan_microsoft: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionRequest: + description: Marketplace Cloud Router Connection provisioning details + type: object + required: + - interface + - bgp_settings + properties: + interface: + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + description: The circuit ID of the port to use to create the connection. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + bgp_settings: + description: Request payload for specifying BGP details for the new connection. + type: object + required: + - l3_address + - remote_address + - remote_asn + - prefixes + properties: + l3_address: + description: The L3 Address of this instance. + type: string + example: 10.0.0.1/30 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix to advertise from the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + default: exact + enum: + - exact + - orlonger + local_preference: + description: The local preference for the prefix. + type: integer + example: 100 + minimum: 0 + SVlanLabelsCreateLabelRequest: + type: object + required: + - svlan_id + - description + - port_circuit_id + properties: + description: + description: name for the label + type: string + maxLength: 64 + svlan_id: + description: integer between 4 and 4094 inclusive + type: integer + example: 1357 + port_circuit_id: + description: Circuit ID of the NNI port + type: string + example: PF-AP-WDC1-10000 + SVlanLabelsUpdateLabelByUuidRequest: + type: object + properties: + description: + description: new description for this SVlan label + type: string + example: a label for my SVlan + UserPostRequest: + type: object + required: + - login + - password + - first_name + - last_name + - email + - phone + - timezone + - group + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: ^[0-9 ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + password: + description: User password. Keep it in secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + example: admin + groups: + description: | + User groups. Deprecated. + type: array + minItems: 1 + items: + type: string + example: + - admin + deprecated: true + UserPatchRequest: + type: object + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + password: + description: > + Password of the user being changed. + + This is required if the user's email is being changed. + + This does not change the user's password, for that use PATCH + /v2/users/{user_login}/password. + type: string + example: p4ssw0rd + phone: + description: User phone number + type: string + maxLength: 64 + pattern: ^[0-9 ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + disabled: + description: >- + Set this flag to disable the user. Disabled users will not be able + to login + type: boolean + example: false + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + UsersRequestPasswordResetRequest: + type: object + required: + - user_login + properties: + user_login: + description: Login of the user to request the password reset for + type: string + UsersSetNewPasswordRequest: + type: object + required: + - new_password + - rt + properties: + new_password: + description: New password for the user + type: string + example: p4ssw0rd + rt: + description: Reset token from the e-mail + type: string + UsersUpdatePasswordRequest: + type: object + required: + - new_password + - old_password + properties: + new_password: + description: New password for the user, at least 8 characters long + type: string + example: p4ssw0rd + old_password: + description: Current password for the user + type: string + example: p4ssw0rd + MultiFactorAuthenticationEnableUserAuthRequest: + type: object + required: + - authentication_code + properties: + authentication_code: + description: Multi-factor authentication code + type: string + example: 123456 + MultiFactorAuthenticationDisableUserMfaRequest: + type: object + required: + - password + properties: + password: + description: Password for the user + type: string + example: p4ssw0rd + TeamSignupSendInvitationEmailsRequest: + type: array + items: + type: object + required: + - email + - group + properties: + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + TeamSignupCreateUserBasedOnInvitationRequest: + type: object + required: + - password + - first_name + - last_name + - phone + - timezone + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: ^[0-9 ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + password: + description: User password. Keep it secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + AddObjectRequest: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is only + available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + description: >- + An array of label values to be added to the already existing labels + of an object + type: array + items: + description: Label Value intended to be linked + type: string + example: staging + UpdateObjectRequest: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is only + available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + description: An array of label values to be associated with an object + type: array + items: + description: Label Value intended to be linked + type: string + example: staging + OutboundCrossConnectsCreateNewRequest: + type: object + properties: + description: + description: PacketFabric outbound cross connect description + type: string + example: Cross connect for a demo + port: + description: port_circuit_id to use for the cross connect + type: string + example: PF-SO-ME-111 + site: + description: site_code for the port location + type: string + example: DR-ATL1 + document_uuid: + description: Document uuid for the LOA + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + destination_name: + description: Z-side company name for the far side of the cross connect + type: string + example: Destination company name + destination_circuit_id: + description: Z-side circuit id for the far side of the cross connect + type: string + example: Destination circuit id + panel: + description: Z-side fiber panel info + type: string + example: Panel + module: + description: Z-side fiber module info + type: string + example: Module + position: + description: Z-side fiber position info + type: string + example: Position + data_center_cross_connect_id: + description: Display id for the obcc + type: string + example: SUPER-COOL-NAME + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this cross connect + should be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + required: + - port + - site + - document_uuid + OutboundCrossConnectsUpdateSingleRequest: + type: object + properties: + user_description: + description: user_description to use for the cross connect + type: string + example: description for the cross connect + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + PtpServicesUpdateDescriptionRequest: + type: object + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: true + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + PtpServicesCreateServiceRequest: + type: object + required: + - description + - endpoints + - speed + - media + - account_uuid + - subscription_term + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: false + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + endpoints: + type: array + items: + type: object + required: + - pop + - zone + - autoneg + properties: + pop: + description: POP name + type: string + example: PDX1 + zone: + description: Availability zone + type: string + example: A + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + autoneg: + type: boolean + loa: + description: A base64 encoded string of a PDF of a LOA + type: string + example: SSBhbSBhIFBERg== + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + PtpServicesUpgradePtpUuidRequest: + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRoutersCreateNewRequest: + type: object + required: + - name + - account_uuid + - capacity + properties: + scope: + description: >- + Whether the cloud router is private or public. (This field is + ignored) + type: string + deprecated: true + example: private + enum: + - private + - public + asn: + description: >- + The ASN of the instance. Values must be within 64512 - 65534, or + 4556. Defaults to 4556 if unspecified. + type: integer + example: 4556 + default: 4556 + name: + description: The name of this particular CR. + type: string + example: Super Cool Cloud router + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + regions: + type: array + items: + description: The code of the region to be used for this Cloud Router. Optional. + type: string + example: US + default: US + enum: + - US + - UK + capacity: + description: The total capacity of this particular Cloud Router. + type: string + example: 10Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + example: 12 + CloudRoutersUpdateExistingRequest: + type: object + properties: + name: + description: The name of this particular CR. + type: string + example: New Super Cool Cloud router + regions: + deprecated: true + type: array + items: + description: The code of the region to be used for this Cloud Router. + type: string + example: US + enum: + - US + - UK + capacity: + description: The total capacity of this particular Cloud Router. + deprecated: true + type: string + example: 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudRouterThirdPartyRejectImportCircuitRequest: + type: object + properties: + rejection_reason: + description: The reason for the rejection. + type: string + example: Return filters are too broad. + CloudRouterBgpSessionSettingsCreateL3InfoRequest: + type: object + required: + - remote_asn + properties: + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + description: The L3 Address of this instance. Not used for Azure connections. + type: string + example: 10.0.0.1/30 + primary_subnet: + description: >- + Currently for Azure use only, provide this as the primary subnet + when creating an Azure cloud router connection. + type: string + example: 10.0.0.1/30 + secondary_subnet: + description: >- + Currently for Azure use only, provide this as the secondary subnet + when creating an Azure cloud router connection. + type: string + example: 10.0.0.1/30 + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + default: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + minimum: 3 + maximum: 30000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 through + 16. + type: integer + example: 3 + minimum: 2 + maximum: 16 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when type = + out + type: integer + example: 1 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. It is used when type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + order: + description: the order of this prefix against the others. + type: integer + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The prefixes to use in the NAT pool. Must be a /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: The private IP of this DNAT mapping. Must be a /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: The public IP of this DNAT mapping. Must be a /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + CloudRouterBgpSessionSettingsUpdateSessionInfoRequest: + required: + - prefixes + - remote_asn + - l3_address + type: object + properties: + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when type = + out + type: integer + example: 1 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. It is used when type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + order: + description: the order of this prefix against the others. + type: integer + deprecated: true + example: 1 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + description: >- + The L3 Address of this instance. For Azure, this needs to be the + subnet. + type: string + example: 10.0.0.1/30 + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: >- + The cloud-side address of the instance. Not used for Azure + connections. + type: string + example: 10.0.0.1 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. Minimum for Google is + 1000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 through + 16. Minimum for Google is 5. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + bgp_settings_uuid: + description: >- + The UUID of the specific BGP session to update, if more than one are + present. + type: string + format: uuid + example: 862386eb-df01-436b-8346-e16c8023e4d1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The prefixes to use in the NAT pool. Must be a /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: The private IP of this DNAT mapping. Must be a /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: The public IP of this DNAT mapping. Must be a /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + CloudRouterConnectionsCheckBgpAddressUniqueRequest: + type: object + properties: + l3_address: + description: The BGP l3 address + type: string + example: 10.0.0.1/32 + remote_address: + description: The BGP cloud-side address + type: string + example: 10.0.0.1 + pool_prefix: + description: The source IP address + mask of the NAT pool prefix. + type: string + example: 10.0.0.0/32 + cloud_circuit_id: + description: >- + The cloud router connection circuit id, to be used during bgp update + uniqueness check. + type: string + example: PF-L3-CON-2843831 + bgp_settings_uuid: + description: >- + The bgp session UUID, to be used during multi-bgp update uniqueness + check. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + CloudRouterConnectionsUpdateConnectionRequest: + type: object + properties: + description: + description: The description of this Cloud Router Connection. + type: string + example: New Super Cool Cloud Router Connection + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + aws_region: + description: >- + The AWS region that will be used. Ignored if credentials are + already associated with this connection. + type: string + example: us-west-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + description: >- + An array of prefixes that will be advertised. Only for + public VIFs. + type: array + items: + type: string + - type: object + properties: + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + google_project_id: + description: >- + The Google Project Id to be used. If not present the project + id of the credentials will be used. + type: string + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + properties: + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudRouterThirdPartyCreateRequestRequest: + required: + - account_uuid + - service_uuid + - speed + - pop + - prefixes + type: object + properties: + description: + description: The description of the Marketplace Cloud Router connection. + type: string + example: My Marketplace Cloud Router connection + prefixes: + description: The prefixes to be advertised to the marketplace service. + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + default: exact + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + minimum: 0 + maximum: 5 + med: + description: The MED to be advertised for the prefix. + type: integer + minimum: 0 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_uuid: + description: UUID of the marketplace service being requested + type: string + format: uuid + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + pop: + description: The desired location for the new Third Party Connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + default: 1 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateAwsConnectionRequest: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + aws_account_id: + description: The AWS account ID to connect with. Must be 12 characters long. + type: string + example: 2345678910 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + pop: + description: The desired location for the new AWS Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + is_public: + description: >- + Whether or not PacketFabric should allocate an IP address for the + user. Optional. + example: true + type: boolean + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address if the connection is not public. + example: true + type: boolean + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + aws_region: + description: The AWS region that should be used. + type: string + example: us-east-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). + type: integer + enum: + - 1500 + - 8500 + - 9001 + default: 1500 + aws_vif_type: + description: The type of VIF to use for this connection. + type: string + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + description: The L3 address of this connection. + type: string + example: 10.10.10.10/32 + remote_address: + description: The remote address of this connection. + type: string + example: 10.10.10.10/32 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + minimum: 1 + maximum: 5 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when + type = out. + type: integer + example: 1 + minimum: 1 + maximum: 5 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: >- + The local_preference of this prefix. It is used when + type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + order: + description: the order of this prefix against the others. + type: integer + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before + NAT translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: >- + The private IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: >- + The public IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: >- + The conditional_prefix prefix of this DNAT + mapping. + type: string + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + description: The type of this AWS Gateway. + type: string + enum: + - directconnect + - private + - transit + name: + description: >- + The name of the AWS Gateway, required if creating a new + DirectConnect Gateway. + type: string + id: + description: >- + The AWS ID of this Gateway, required if using an existing + Gateway. + type: string + asn: + description: The ASN of this Gateway. + type: integer + default: 64512 + vpc_id: + description: >- + The AWS VPC ID this Gateway should be associated with. + Required for private and transit Gateways. + type: string + subnet_ids: + description: >- + An array of subnet IDs to associate with this Gateway. + Required for transit Gateways. + type: array + items: + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateAwsConnectionRequest1: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + aws_account_id: + description: The AWS account ID to connect with. Must be 12 characters long. + type: string + example: 2345678910 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + pop: + description: The desired location for the new AWS Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + is_public: + description: >- + Whether or not PacketFabric should allocate an IP address for the + user. Optional. + example: true + type: boolean + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address if the connection is not public. + example: true + type: boolean + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + aws_region: + description: The AWS region that should be used. + type: string + example: us-east-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). + type: integer + enum: + - 1500 + - 8500 + - 9001 + default: 1500 + aws_vif_type: + description: The type of VIF to use for this connection. + type: string + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + description: The L3 address of this connection. + type: string + example: 10.10.10.10/32 + remote_address: + description: The remote address of this connection. + type: string + example: 10.10.10.10/32 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + minimum: 1 + maximum: 5 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when + type = out. + type: integer + example: 1 + minimum: 1 + maximum: 5 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: >- + The local_preference of this prefix. It is used when + type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + order: + description: the order of this prefix against the others. + type: integer + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before + NAT translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: >- + The private IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: >- + The public IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: >- + The conditional_prefix prefix of this DNAT + mapping. + type: string + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + description: The type of this AWS Gateway. + type: string + enum: + - directconnect + - private + - transit + name: + description: >- + The name of the AWS Gateway, required if creating a new + DirectConnect Gateway. + type: string + id: + description: >- + The AWS ID of this Gateway, required if using an existing + Gateway. + type: string + asn: + description: The ASN of this Gateway. + type: integer + default: 64512 + vpc_id: + description: >- + The AWS VPC ID this Gateway should be associated with. + Required for private and transit Gateways. + type: string + subnet_ids: + description: >- + An array of subnet IDs to associate with this Gateway. + Required for transit Gateways. + type: array + items: + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateAzureConnectionRequest: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + description: + description: The description of this connection. + type: string + example: Azure ExpressRoute Hosted connection for Foo Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + azure_service_key: + description: The Service Key provided by Microsoft Azure. + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + description: >- + Whether or not PacketFabric should allocate an IP address for the + user. Optional. + example: true + type: boolean + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address if the connection is not public. + example: true + type: boolean + default: false + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateAzureExpressRouteConnectionRequest: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + description: + description: The description of this connection. + type: string + example: Azure ExpressRoute Hosted connection for Foo Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + azure_service_key: + description: The Service Key provided by Microsoft Azure. + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + description: >- + Whether or not PacketFabric should allocate an IP address for the + user. Optional. + example: true + type: boolean + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address if the connection is not public. + example: true + type: boolean + default: false + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateGoogleConnectionRequest: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + description: + description: The description of this connection. + type: string + example: Test description + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address. + example: true + type: boolean + default: false + google_pairing_key: + description: >- + The Google pairing key to use for this connection. Required if + cloud_settings are not used. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: >- + The Google Vlan attachment name. Required if cloud_settings are not + used. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + pop: + description: The desired location for the new connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + google_region: + description: The Google region that should be used. + type: string + example: us-west1 + google_project_id: + description: >- + The Google Project Id to be used. If not present the project id + of the credentials will be used. + type: string + google_vlan_attachment_name: + description: The Google Interconnect Attachment name. No whitespace allowed. + type: string + example: interconnect-attachement-name + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_vpc_name: + description: >- + The Google VPC name. Required if a new router needs to be + created. + type: string + example: default + google_edge_availability_domain: + description: The Google Edge Availability Domain. Must be 1 or 2. + type: integer + default: 1 + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + description: >- + The Google ASN of this connection. Must be 16550, between + 64512 and 65534, or between 4200000000 and 4294967294. + type: integer + example: 64513 + default: 16550 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + minimum: 1 + maximum: 5 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. + type: integer + example: 5 + minimum: 5 + maximum: 16 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when + type = out. + type: integer + example: 1 + minimum: 1 + maximum: 5 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: >- + The local_preference of this prefix. It is used when + type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before + NAT translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: >- + The private IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: >- + The public IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: >- + The conditional_prefix prefix of this DNAT + mapping. + type: string + example: 10.0.0.0/24 + CloudRouterConnectionsCreateGoogleConnectionRequest1: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + description: + description: The description of this connection. + type: string + example: Test description + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address. + example: true + type: boolean + default: false + google_pairing_key: + description: >- + The Google pairing key to use for this connection. Required if + cloud_settings are not used. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: >- + The Google Vlan attachment name. Required if cloud_settings are not + used. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + pop: + description: The desired location for the new connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + google_region: + description: The Google region that should be used. + type: string + example: us-west1 + google_project_id: + description: >- + The Google Project Id to be used. If not present the project id + of the credentials will be used. + type: string + google_vlan_attachment_name: + description: The Google Interconnect Attachment name. No whitespace allowed. + type: string + example: interconnect-attachement-name + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_vpc_name: + description: >- + The Google VPC name. Required if a new router needs to be + created. + type: string + example: default + google_edge_availability_domain: + description: The Google Edge Availability Domain. Must be 1 or 2. + type: integer + default: 1 + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + description: >- + The Google ASN of this connection. Must be 16550, between + 64512 and 65534, or between 4200000000 and 4294967294. + type: integer + example: 64513 + default: 16550 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + description: The preference for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + minimum: 1 + maximum: 5 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. + type: integer + example: 5 + minimum: 5 + maximum: 16 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: >- + The BGP prepend value of this prefix. It is used when + type = out. + type: integer + example: 1 + minimum: 1 + maximum: 5 + med: + description: The MED of this prefix. It is used when type = out + type: integer + example: 10 + local_preference: + description: >- + The local_preference of this prefix. It is used when + type = in + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before + NAT translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. + type: string + enum: + - output + - input + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - type: object + properties: + direction: + description: The direction of the NAT connection + type: string + enum: + - output + default: output + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - inline_dnat + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + description: >- + The private IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + public_ip: + description: >- + The public IP of this DNAT mapping. Must be a + /32. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: >- + The conditional_prefix prefix of this DNAT + mapping. + type: string + example: 10.0.0.0/24 + CloudRouterConnectionsCreateIbmConnectionRequest: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + description: + description: >- + The description of this connection. Will be shown as "name" field in + IBM portal for this connection. Allows only numbers, letters, + underscores and dashes. + type: string + example: Hosted-connection-Foo_Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + ibm_account_id: + description: >- + The customer IBM account ID to connect with. Must be 32 characters + long. + type: string + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + description: The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + ibm_bgp_cer_cidr: + description: The customers IP address for the BGP session with IBM. Optional. + type: string + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + description: IBM's IP address for the BGP session. Optional. + type: string + example: 10.254.30.77/30 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new IBM Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. Optional. + type: string + example: A + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateIbmConnectionRequest1: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + description: + description: >- + The description of this connection. Will be shown as "name" field in + IBM portal for this connection. Allows only numbers, letters, + underscores and dashes. + type: string + example: Hosted-connection-Foo_Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + ibm_account_id: + description: >- + The customer IBM account ID to connect with. Must be 32 characters + long. + type: string + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + description: The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + ibm_bgp_cer_cidr: + description: The customers IP address for the BGP session with IBM. Optional. + type: string + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + description: IBM's IP address for the BGP session. Optional. + type: string + example: 10.254.30.77/30 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new IBM Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. Optional. + type: string + example: A + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateIpsecConnectionRequest: + required: + - description + - account_uuid + - zone + - pop + - speed + - ike_version + - phase1_authentication_method + - phase1_group + - phase1_encryption_algo + - phase1_authentication_algo + - phase1_lifetime + - phase2_pfs_group + - phase2_encryption_algo + - phase2_lifetime + - gateway_address + - shared_key + type: object + properties: + description: + description: The description of this connection. + type: string + example: Test description + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - des-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - md5 + - sha-256 + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + minimum: 180 + maximum: 86400 + phase2_pfs_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase2_encryption_algo: + type: string + example: 3des-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-128-gcm + - aes-192-cbc + - aes-192-gcm + - aes-256-cbc + - aes-256-gcm + - des-cbc + phase2_authentication_algo: + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + type: string + example: hmac-sha-256-128 + enum: + - hmac-md5-96 + - hmac-sha-256-128 + - hmac-sha1-96 + phase2_lifetime: + type: integer + example: 28800 + minimum: 180 + maximum: 86400 + gateway_address: + description: The customer-side (remote) gateway address + type: string + example: 127.0.0.1 + shared_key: + description: The pre-shared-key to use for authentication. + type: string + example: superCoolKey + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateOracleConnectionRequest: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + vc_ocid: + description: OCID for the Oracle VC to use in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + description: The Oracle region for this connection. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new Oracle Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. + type: string + example: A + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsCreateOracleConnectionRequest1: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + vc_ocid: + description: OCID for the Oracle VC to use in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + description: The Oracle region for this connection. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new Oracle Hosted Connection. + type: string + example: DAL1 + zone: + description: The desired zone of the new connection. + type: string + example: A + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterConnectionsAttachPortRequest: + required: + - account_uuid + - port_circuit_id + - description + - speed + type: object + properties: + description: + description: The description of this connection. + type: string + example: Test description + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + description: Whether or not this connection is intended for NAT later. Optional. + type: boolean + example: false + default: false + maybe_dnat: + description: Whether or not this connection is intended for DNAT later. Optional. + type: boolean + example: false + default: false + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + untagged: + description: >- + Whether or not the customer port is untagged. Do not specify a VLAN + if this is to be an untagged connection. + type: boolean + example: true + vlan: + description: The desired vlan to use on the customer-owned port. + type: integer + example: 6 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + description: >- + Whether or not PacketFabric should allocate an IP address for the + user. Optional. + example: true + type: boolean + default: false + public_nat_pool: + description: >- + Indicates whether or not PacketFabric should allocate a NAT IP + address if the connection is not public. + example: true + type: boolean + default: false + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated. Optional. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterThirdPartyImportToConnectionRequest: + required: + - service_uuid + - return_filters + type: object + properties: + service_uuid: + description: >- + The Service UUID of the third-party service to associate with the + Cloud Router. + type: string + format: uuid + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + local_preference: + description: The local_preference of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRouterThirdPartyUpdateImportByIdRequest: + type: object + required: + - return_filters + properties: + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + local_preference: + description: The local_preference of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + CloudRouterThirdPartyRemoveMultipleRequest: + type: object + properties: + import_circuit_ids: + type: array + items: + type: string + example: PF-L3-IMP-123456 + CloudRouterRouteSetsUpdateRouteSetRequest: + type: object + properties: + description: + description: The route set's description + type: string + example: User entered description + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 192.168.16.0/20 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + CloudRouterRouteSetsUpdateConnectionsRequest: + type: object + properties: + connection_circuit_ids: + type: array + items: + type: string + example: PF-CC-123456 + CloudServicesAwsRequestHostedConnectionRequest: + type: object + required: + - aws_account_id + - account_uuid + - description + - pop + - port + - vlan + - speed + properties: + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + aws_account_id: + description: The AWS account ID to connect with. Must be 12 characters long. + type: string + example: 2345678910 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new AWS Hosted Connection. + type: string + example: DAL1 + port: + description: The port to connect to AWS. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + src_svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + aws_region: + description: The AWS region that should be used. + type: string + example: us-east-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + type: integer + default: 1500 + aws_vif_type: + description: The type of VIF to use for this connection. + type: string + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + description: The customer ASN of this connection. + type: integer + example: 64513 + l3_address: + description: The prefix of the customer router. Required for public VIFs. + type: string + example: 10.10.10.10/32 + remote_address: + description: The prefix of the remote router. Required for public VIFs. + type: string + example: 10.10.10.10/32 + address_family: + description: The address family that should be used. + type: string + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + description: >- + An array of prefixes that will be advertised. Required for + public VIFs. + type: array + items: + type: string + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + description: The type of this AWS Gateway. + type: string + enum: + - directconnect + - private + - transit + name: + description: >- + The name of the AWS Gateway, required if creating a new + DirectConnect Gateway. + type: string + id: + description: >- + The AWS ID of this Gateway, required if using an existing + Gateway. + type: string + asn: + description: The ASN of this Gateway. + type: integer + default: 64512 + vpc_id: + description: >- + The AWS VPC ID this Gateway should be associated with. + Required for private and transit Gateways. + type: string + subnet_ids: + description: >- + An array of subnet IDs to associate with this Gateway. + Required when creating transit Gateways. + type: array + items: + type: string + allowed_prefixes: + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of type + transit. + type: array + items: + type: string + CloudServicesAwsRequestConnectionRequest: + type: object + required: + - aws_region + - account_uuid + - description + - pop + - subscription_term + - service_class + - autoneg + - speed + properties: + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + aws_region: + description: The region that the new connection will connect to. + type: string + example: us-west-1 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + pop: + description: The desired location for the new AWS Hosted Connection. + type: string + example: DAL1 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + autoneg: + description: >- + Whether the port auto-negotiates or not, this is currently only + possible with 1Gbps ports and the request will fail if specified + with 10Gbps. + type: boolean + example: false + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 1Gbps + - 10Gbps + should_create_lag: + description: Create the dedicated connection as a LAG interface. + example: true + type: boolean + loa: + description: A base64 encoded string of a PDF of a LOA + type: string + format: byte + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAzureRequestNewExpressRouteRequest: + type: object + required: + - azure_service_key + - account_uuid + - description + - port + properties: + description: + description: The description of this connection. + type: string + example: Azure ExpressRoute Hosted connection for Foo Corp. + azure_service_key: + description: The Service Key provided by Microsoft Azure. + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + port: + description: The port to connect to Azure. + type: string + example: PF-AP-LAX1-1002 + vlan_private: + description: >- + Private peering vlan. Valid VLAN range is from 4-4094, inclusive. At + least one vlan needs to be provided; either vlan_private or + vlan_microsoft. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + vlan_microsoft: + description: >- + Microsoft Peering vlan. Valid VLAN range is from 4-4094, inclusive. + At least one vlan needs to be provided; either vlan_private or + vlan_microsoft. + type: integer + format: int64 + example: 7 + minimum: 4 + maximum: 4094 + src_svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + speed: + description: >- + The desired speed of the new connection. Must be the same speed as + specified in Azure for your service key. + deprecated: true + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAzureRequestNewDedicatedConnectionRequest: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + - encapsulation + - port_category + properties: + description: + description: The description of this connection. + type: string + example: Azure Dedicated connection for Foo Corp + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + zone: + description: The desired zone of the new connection. + example: A + type: string + pop: + description: The desired location for the new Azure dedicated connection. + type: string + example: DAL1 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + description: A base64 encoded string of a PDF of a LOA + type: string + format: byte + example: SSBhbSBhIFBERg== + encapsulation: + type: string + enum: + - dot1q + - qinq + port_category: + type: string + enum: + - primary + - secondary + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesGoogleCloudRequestNewConnectionRequest: + type: object + required: + - account_uuid + - google_vlan_attachment_name + - description + - port + - vlan + - pop + - speed + properties: + description: + description: The description of this connection. + type: string + example: Test description + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + google_pairing_key: + description: >- + The Google pairing key to use for this connection. Required if + cloud_settings are not used. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: >- + The Google Vlan attachment name. Required if cloud_settings are not + used. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + port: + description: The port to connect to Google. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + src_svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + pop: + description: The desired location for the new connection. + type: string + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + google_region: + description: The Google region that should be used. + type: string + example: us-west1 + google_project_id: + description: >- + The Google Project Id to be used. If not present the project id + of the credentials will be used. + type: string + google_vlan_attachment_name: + description: The Google Interconnect Attachment name. No whitespace allowed. + type: string + example: interconnect-attachement-name + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_vpc_name: + description: >- + The Google VPC name. Required if a new router needs to be + created. + type: string + example: default + google_edge_availability_domain: + description: The Google Edge Availability Domain. Must be 1 or 2. + type: integer + default: 1 + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + description: The customer ASN of this connection. + type: integer + example: 64513 + remote_asn: + description: >- + The Google ASN of this connection. Must be 16550, between + 64512 and 65534, or between 4200000000 and 4294967294. + type: integer + example: 64513 + default: 16550 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + description: An array of prefixes that will be advertised. + type: array + items: + type: string + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. + type: integer + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + description: The BFD Mode. + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + example: PASSIVE + CloudServicesGoogleCloudRequestDedicatedConnectionRequest: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + properties: + description: + description: The description of this connection. + type: string + example: Google Dedicated connection for Foo Corp + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + zone: + description: The desired zone of the new connection. Optional. + example: A + type: string + pop: + description: The desired location for the new connection. + type: string + example: DAL1 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + autoneg: + description: >- + Whether the port auto-negotiates or not, this is currently only + possible with 1Gbps ports and the request will fail if specified + with 10Gbps. + type: boolean + example: false + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + description: A base64 encoded string of a PDF of a LOA + type: string + format: byte + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesIbmRequestNewConnectionRequest: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - port + - speed + properties: + description: + description: >- + The description of this connection. Will be shown as "name" field in + IBM portal for this connection. Allows only numbers, letters, + underscores and dashes. + type: string + example: Hosted-connection-Foo_Corp + ibm_account_id: + description: >- + The customer IBM account ID to connect with. Must be 32 characters + long. + type: string + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + description: The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + ibm_bgp_cer_cidr: + description: >- + The customers IP address for their router in the BGP session with + IBM. + type: string + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + description: >- + IBM's IP address for use in creating the BGP session with the + customer. + type: string + example: 10.254.30.77/30 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new IBM Hosted Connection. + type: string + example: DAL1 + port: + description: The port to connect to IBM. + type: string + example: PF-AP-LAX1-1002 + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + src_svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + zone: + description: The desired zone of the new connection. + type: string + example: A + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesOracleRequestConnectionRequest: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + - port + - vlan + properties: + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + vc_ocid: + description: OCID for the Oracle VC to use in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + description: The Oracle region for this connection. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The desired location for the new Oracle Hosted Connection. + type: string + example: WDC2 + port: + description: The port to connect to Oracle. + type: string + example: PF-AP-LAX1-1002 + zone: + description: The desired zone of the new connection. + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + src_svlan: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + published_quote_line_uuid: + description: >- + UUID of the published quote line with which this connection should + be associated + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + CloudServicesAwsUpdateHostedConnectionRequest: + type: object + properties: + description: + description: The description of this connection. + type: string + example: Cloud Connection Foo Corp + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + aws_region: + description: >- + The AWS region that will be used. Ignored if credentials are + already associated with this connection. + type: string + example: us-west-1 + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + description: >- + An array of prefixes that will be advertised. Only for + public VIFs. + type: array + items: + type: string + - type: object + properties: + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + google_project_id: + description: >- + The Google Project Id to be used. If not present the project + id of the credentials will be used. + type: string + mtu: + description: Maximum Transmission Unit. Must be either 1440 or 1500. + type: integer + default: 1500 + bgp_settings: + type: object + properties: + customer_asn: + description: The customer ASN of this connection. + type: integer + example: 64513 + remote_asn: + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + type: integer + example: 64513 + default: 16550 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + description: The Keepalive Interval. Must be between 20 and 60. + type: integer + example: 40 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + description: An array of prefixes that will be advertised. + type: array + items: + type: string + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + type: integer + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + description: The BFD Mode. + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + example: PASSIVE + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsUpgradeHostedConnectionRequest: + type: object + required: + - speed + properties: + speed: + description: > + The new requested speed for this connection. Choices are provider + specific. + + + - **Azure**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, `400Mbps`, + `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, `10Gbps`, - + **AWS**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, `400Mbps`, + `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, `10Gbps` + + - **Google Cloud**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, + `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, `10Gbps`, `20Gbps`, + `50Gbps` + + - **IBM**: `50Mbps`, `100Mbps`, `200Mbps`, `500Mbps`, `1Gbps`, + `2Gbps`, `5Gbps` + type: string + example: 100Mbps + CloudServicesAwsUpdateDedicatedCloudConnectionRequest: + type: object + properties: + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsUpgradeDedicatedCloudConnectionRequest: + type: object + properties: + subscription_term: + description: The billing term, in months, for this connection. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + description: The service class for the given port. + type: string + example: longhaul + enum: + - longhaul + CloudServicesIbmUpdateIbmCloudConnectionRequest: + type: object + properties: + description: + description: >- + The description of this connection. Will be shown as "name" field in + IBM portal for this connection. Allows only numbers, letters, + underscores and dashes. + type: string + example: Hosted-connection-Foo_Corp + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudProviderCredentialsCreateNewCredentialRequest: + type: object + required: + - cloud_provider + - cloud_credentials + properties: + description: + description: The description of the cloud provider credential. + type: string + example: Example Description + cloud_provider: + description: The cloud provider of this cloud provider credential. + type: string + enum: + - aws + - google + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema depends + on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + description: The AWS access key you want to save. + type: string + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + description: The AWS secret key you want to save. + type: string + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + description: The service account JSON you want to save. + type: string + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", "private_key": + "-----BEGIN PRIVATE KEY-----\nMIIEvQ... + CloudProviderCredentialsUpdateCredentialRequest: + type: object + properties: + description: + description: The description of the cloud provider credential. + type: string + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema depends + on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + description: The AWS access key you want to save. + type: string + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + description: The AWS secret key you want to save. + type: string + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + description: The service account JSON you want to save. + type: string + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", "private_key": + "-----BEGIN PRIVATE KEY-----\nMIIEvQ... + FlexBandwidthCreateFlexContainerRequest: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + capacity: + description: >- + Capacity of the flex bandwidth container. Must be in the format + XXGbps or XXMbps. + type: string + example: 100Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + IpamAddContactRequest: + type: object + required: + - name + - email + - phone + - address + - country_code + properties: + name: + description: The name of the IPAM contact + type: string + email: + description: The email of the IPAM contact + type: string + phone: + description: The phone number of the IPAM contact + type: string + address: + description: The address of the IPAM contact + type: string + country_code: + description: The country code of the IPAM contact + type: string + example: US + apnic_org_id: + description: The apnic_org_id of the IPAM contact + type: string + ripe_org_id: + description: The ripe_org_id of the IPAM contact + type: string + apnic_ref: + description: The apnic_ref of the IPAM contact + type: string + ripe_ref: + description: The ripe_ref of the IPAM contact + type: string + IpamAllocatePrefixRequest: + type: object + required: + - length + properties: + length: + description: The length of the IPAM prefix. 25-32 for ipv4 and 48-64 for ipv6. + type: integer + market: + description: The market of the IPAM prefix. Only for ipv4. + type: string + address_family: + description: The address_family of the IPAM prefix + type: string + enum: + - ipv4 + - ipv6 + admin_ipam_contact_uuid: + description: The admin_ipam_contact_uuid of the IPAM prefix + type: string + tech_ipam_contact_uuid: + description: The tech_ipam_contact_uuid of the IPAM prefix + type: string + address: + description: >- + The address of the IPAM prefix, required for ARIN prefixes if org_id + was not provided + type: string + city: + description: >- + The city of the IPAM prefix, required for ARIN prefixes if org_id + was not provided + type: string + postal_code: + description: >- + The postal code of the IPAM prefix, required for ARIN prefixes if + org_id was not provided + type: string + org_id: + description: The org_id of the IPAM prefix + type: string + ipj_details: + type: object + properties: + planned_prefix: + type: object + required: + - usage_30d + - usage_3m + - usage_6m + - usage_1y + properties: + description: + description: The description of the planned prefix + type: string + example: Example description + location: + description: The location of the planned prefix + type: string + example: US-CA + usage_30d: + description: The 30 day planned usage + type: integer + example: 10 + usage_3m: + description: The 3 month planned usage + type: integer + example: 10 + usage_6m: + description: The 6 month planned usage + type: integer + example: 10 + usage_1y: + description: The 1 year planned usage + type: integer + example: 10 + current_prefixes: + type: array + items: + type: object + required: + - prefix + - ips_in_use + properties: + description: + description: The description of the current prefix in use + type: string + example: This is used for X + prefix: + description: The prefix of the current prefix in use + type: string + example: 3.0.0.0/28 + ips_in_use: + description: The number of IPs in use in the current prefix + type: integer + example: 14 + isp_name: + description: The ISP name of the current prefix in use + type: string + example: PacketFabric + will_renumber: + description: Whether the current prefix in use will renumber + type: boolean + IpamAllocateNewAsnRequest: + type: object + properties: + asn_byte_type: + description: >- + Whether to allocate a 2 or 4 byte ASN. Only 2 byte ASNs are + supported for now. + type: integer + enum: + - 2 + default: 2 + HpiPostRequest: + type: object + required: + - port_circuit_id + - speed + - vlan + - description + - account_uuid + - routing_configuration + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + port_circuit_id: + description: The Circuit Id of the connected port + type: string + example: PF-AP-12345 + speed: + description: The speed of the HPI + type: string + example: 1Gbps + vlan: + description: The vlan of this HPI on the connected port + type: integer + example: 4 + account_uuid: + description: The account uuid of the HPI + type: string + example: 12345678-1234-1234-1234-123456789012 + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + description: The l3_address of the static routing configuration + type: string + remote_address: + description: The remote_address of the static routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix of the static routing configuration + type: string + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + description: The l3_address of the static routing configuration + type: string + remote_address: + description: The remote_address of the static routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix of the static routing configuration + type: string + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + description: The ASN of the bgp routing configuration + type: integer + example: 65000 + l3_address: + description: The l3_address of the bgp routing configuration + type: string + remote_address: + description: The remote_address of the bgp routing configuration + type: string + md5: + description: The md5 hash of the bgp routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The single BGP prefix + type: string + local_preference: + description: The local preference of the BGP prefix + type: integer + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + description: The ASN of the bgp routing configuration + type: integer + example: 65000 + l3_address: + description: The l3_address of the bgp routing configuration + type: string + remote_address: + description: The remote_address of the bgp routing configuration + type: string + md5: + description: The md5 hash of the bgp routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The single BGP prefix + type: string + local_preference: + description: The local preference of the BGP prefix + type: integer + example: 100 + HpiPutRequest: + type: object + required: + - description + - routing_configuration + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + description: The l3_address of the static routing configuration + type: string + remote_address: + description: The remote_address of the static routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix of the static routing configuration + type: string + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + description: The l3_address of the static routing configuration + type: string + remote_address: + description: The remote_address of the static routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The prefix of the static routing configuration + type: string + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + description: The ASN of the bgp routing configuration + type: integer + example: 65000 + l3_address: + description: The l3_address of the bgp routing configuration + type: string + remote_address: + description: The remote_address of the bgp routing configuration + type: string + md5: + description: The md5 hash of the bgp routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The single BGP prefix + type: string + local_preference: + description: The local preference of the BGP prefix + type: integer + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + description: The ASN of the bgp routing configuration + type: integer + example: 65000 + l3_address: + description: The l3_address of the bgp routing configuration + type: string + remote_address: + description: The remote_address of the bgp routing configuration + type: string + md5: + description: The md5 hash of the bgp routing configuration + type: string + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + description: The single BGP prefix + type: string + local_preference: + description: The local preference of the BGP prefix + type: integer + example: 100 + ActivityLogsGetEntryResponse: + title: Activity log + description: Holds an information about important events + type: object + properties: + log_uuid: + description: UUID of Activity Log entry + format: uuid + type: string + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + description: The login of the user which caused the event + type: string + example: alice + level: + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to find the list + of levels + type: integer + minimum: 0 + maximum: 7 + example: 3 + category: + description: Category of the activity + type: string + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + description: Event caused logging this entry + type: string + example: login + message: + description: Details of the activity + type: string + example: User Alice logged in + time_created: + description: Time of the activity + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + ActivityLogsGetActivityLogListResponse: + type: array + items: + title: Activity log + description: Holds an information about important events + type: object + properties: + log_uuid: + description: UUID of Activity Log entry + format: uuid + type: string + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + description: The login of the user which caused the event + type: string + example: alice + level: + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to find the list + of levels + type: integer + minimum: 0 + maximum: 7 + example: 3 + category: + description: Category of the activity + type: string + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + description: Event caused logging this entry + type: string + example: login + message: + description: Details of the activity + type: string + example: User Alice logged in + time_created: + description: Time of the activity + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + ApiKeysGetUserListResponse: + type: array + items: + title: API key details + description: Information about API key + type: object + properties: + uuid: + description: API token UUID. It can be used to delete the key + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + description: API token title + type: string + example: API token 1 + expiration: + description: Time when the token expires + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + ApiKeysCreateNewKeyResponse: + title: API key details when it is just created + description: Information about API key + type: object + properties: + token: + description: >- + Use this token for authorization. It is only returned once when you + create the key + type: string + example: >- + api-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + uuid: + description: API token UUID. It can be used to delete the key + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + description: API token title + type: string + example: API token 1 + expiration: + description: Time when the token expires + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + ApiKeysDeleteByKeyResponse: + type: object + properties: + message: + description: Deletion message + type: string + example: API key deleted + AuthenticationStartSessionResponse: + title: Opened session details + description: User session information + type: object + properties: + token: + description: Use this token for authorization + type: string + mfa_enabled: + description: >- + Flag to indicate whether the user has multi-factor authentication + enabled or not + type: boolean + mfa_required: + description: >- + Flag to indicate whether the user needs to complete a multi-factor + authentication login + type: boolean + should_sign_eula: + description: >- + Flag to indicate whether the user needs to log in to the portal to + review and accept an end-user license agreement + type: boolean + time_expires: + description: Time when the token expires + type: string + format: date-time + LoginMfaResponse: + type: object + properties: + message: + type: string + AuthenticationInvalidateSessionResponse: + type: object + properties: + message: + description: Goodbye message + type: string + AuthenticationRemoveAllSessionsResponse: + type: object + properties: + message: + description: Goodbye message + type: string + AuthenticationGetAllActiveUserSessionsResponse: + type: array + items: + title: Opened session details + description: User session information + type: object + properties: + token: + description: Use this token for authorization + type: string + mfa_enabled: + description: >- + Flag to indicate whether the user has multi-factor authentication + enabled or not + type: boolean + mfa_required: + description: >- + Flag to indicate whether the user needs to complete a multi-factor + authentication login + type: boolean + should_sign_eula: + description: >- + Flag to indicate whether the user needs to log in to the portal to + review and accept an end-user license agreement + type: boolean + time_expires: + description: Time when the token expires + type: string + format: date-time + CloudRouterBgpSessionSettingsGetListResponse: + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance.. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 + through 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + CloudRouterBgpSessionSettingsListPrefixesResponse: + type: array + items: + type: object + properties: + bgp_prefix_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: The BGP prepend value of this prefix. + type: integer + example: 1 + med: + description: The MED of this prefix. + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + CloudRouterBgpSessionSettingsGetL3IflDataResponse: + type: object + properties: + local_address: + type: string + example: 10.0.0.1/20 + GetOrderResponse: + type: array + items: + type: object + properties: + order_id: + type: integer + ModifyOrderResponse: + type: object + properties: + message: + type: string + example: Successfully modified order + ModifyOrder202Response: + type: object + properties: + message: + type: string + example: Order modification started + BillingModifyOrderPreviewResponse: + type: array + items: + type: object + properties: + description: + description: The description of the associated product + type: string + example: Port + circuit_id: + description: The circuit id of the associated product + type: string + example: PF-AP-LAX1-1002 + order_type: + description: Thy type of the order + type: string + example: pointtopoint + speed: + description: The speed of the associated product + type: integer + example: 1000 + start_date: + description: The start date of the order + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + end_date: + description: The end date of the order + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + term: + description: The number of months of this order's term + type: integer + example: 24 + rate: + description: The rate of the order + type: number + example: 500 + BillingAccountOrdersGetResponse: + type: array + items: + type: object + properties: + description: + description: The description of the associated product + type: string + example: Port + circuit_id: + description: The circuit id of the associated product + type: string + example: PF-AP-LAX1-1002 + order_type: + description: Thy type of the order + type: string + example: pointtopoint + speed: + description: The speed of the associated product + type: integer + example: 1000 + start_date: + description: The start date of the order + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + end_date: + description: The end date of the order + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + term: + description: The number of months of this order's term + type: integer + example: 24 + rate: + description: The rate of the order + type: number + example: 500 + GetPricingResponse: + type: array + items: + type: object + properties: + location_type: + description: location type of the pricing option + type: string + side_a: + description: side_a provided in the query + type: string + side_z: + description: side_z provided in the query + type: string + product_key: + description: product_key of the pricing option + type: string + product_type: + description: product type for this pricing option + type: string + term: + description: subscription term for this pricing option + type: string + speed: + description: speed in Mbps for this pricing option + type: string + media_type: + description: media type for this pricing option + type: string + mrc: + description: MRC for this pricing option + type: string + nrc: + description: NRC for this pricing option + type: string + media_price: + description: media type specific cost for this pricing option + type: string + usage: + description: usage for this pricing option + type: string + BillingEarlyTerminationCostResponse: + type: number + example: 15.26 + GetInvoicesResponse: + type: array + items: + type: object + properties: + invoice_id: + description: Invoice id + type: integer + example: 1 + invoice_name: + description: Invoice name + type: string + example: invoice 1 + status: + description: Status of the invoice + type: string + example: open + invoice_date: + description: date of the invoice creation + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + is_overdue: + description: Shows if invoice is overdue + type: boolean + example: false + billing_cycle_start_date: + description: Billing cycle start date + type: string + format: date-time + example: '2020-01-01T00:00:00+00:00' + billing_cycle_end_date: + description: Billing cycle end date + type: string + format: date-time + example: '2020-01-31T00:00:00+00:00' + stripe_url: + description: Shows Stripe-related url for the invoice + type: string + example: https://example.org/some/url + GetPdfResponse: + type: string + format: binary + example: '[binary data]' + GetCsvResponse: + type: string + format: byte + example: '[data]' + BillingGetStripeCustomerSessionUrlResponse: + type: object + properties: + session_url: + type: string + example: http://customer/session + ContactsGetCurrentCustomerListResponse: + type: array + items: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + description: >- + Billing Account UUID. You can reference the billing account using + this uuid. + type: string + format: uuid + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + description: First name of the contact + type: string + example: James + last_name: + description: Last name of the contact + type: string + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: This contact needs to receive technical notices about the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: Id of this contact in the billing system. This field is deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: Wether this contact should enable automatic payment of invoices + type: boolean + ContactPostResponse: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + description: >- + Billing Account UUID. You can reference the billing account using + this uuid. + type: string + format: uuid + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + description: First name of the contact + type: string + example: James + last_name: + description: Last name of the contact + type: string + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: This contact needs to receive technical notices about the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: Id of this contact in the billing system. This field is deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: Wether this contact should enable automatic payment of invoices + type: boolean + ContactDeleteResponse: + type: object + properties: + message: + type: string + ContactGetResponse: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + description: >- + Billing Account UUID. You can reference the billing account using + this uuid. + type: string + format: uuid + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + description: First name of the contact + type: string + example: James + last_name: + description: Last name of the contact + type: string + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: This contact needs to receive technical notices about the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: Id of this contact in the billing system. This field is deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: Wether this contact should enable automatic payment of invoices + type: boolean + ContactUpdateResponse: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + description: >- + Billing Account UUID. You can reference the billing account using + this uuid. + type: string + format: uuid + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + description: First name of the contact + type: string + example: James + last_name: + description: Last name of the contact + type: string + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: This contact needs to receive technical notices about the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: Id of this contact in the billing system. This field is deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: Wether this contact should enable automatic payment of invoices + type: boolean + ContactsDeleteLinkResponse: + type: object + properties: + message: + type: string + example: Link successfully deleted + ContactsLinkCircuitResponse: + type: object + properties: + message: + type: string + example: Contact linked successfully + ContactsGetContactCircuitLinksResponse: + type: object + properties: + circuit_links: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + circuit_id: + type: string + example: PF-AP-WDC1-1234 + CustomersGetCompanyTypesResponse: + type: object + properties: + description: + description: description of company type + type: string + example: Limited Liability Corporation + company_type_code: + description: abbreviated company type + type: string + example: LLC + CustomerGetResponse: + type: object + properties: + description: + description: Customer description + type: string + example: Importer/exporter + customer_uuid: + description: The UUID of the customer object + type: string + format: uuid + name: + description: Customer name + type: string + example: Vandelay Industries + website: + description: Website address + type: string + example: vandelayindustries.com + acctnum: + description: Account number + type: string + example: PF-123456 + aliases: + description: Customer aliases + type: string + example: DM Scranton + routing_id: + description: Customer routing ID + type: string + example: PF-1RI-OQ85 + searchable: + description: Customer visiblity in search results + type: boolean + customer_wide_mfa: + type: boolean + time_created: + description: Date and time of customer object creation + type: string + format: date-time + time_updated: + description: Date and time customer object was last updated + type: string + format: date-time + company_type_code: + description: Short code of the company's business structure + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + type: + description: Customer type + type: string + example: customer + reg_state: + description: State of registration + type: string + example: CA + reg_country: + description: Country of registration + type: string + example: USA + service_provider: + type: boolean + customer_of_reseller: + description: True if customer is linked to the reseller + type: boolean + _links: + description: Links to other information about the customer + type: object + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: A link to the industries of which this customer is a part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + CustomerUpdateResponse: + type: object + properties: + description: + description: Customer description + type: string + example: Importer/exporter + customer_uuid: + description: The UUID of the customer object + type: string + format: uuid + name: + description: Customer name + type: string + example: Vandelay Industries + website: + description: Website address + type: string + example: vandelayindustries.com + acctnum: + description: Account number + type: string + example: PF-123456 + aliases: + description: Customer aliases + type: string + example: DM Scranton + routing_id: + description: Customer routing ID + type: string + example: PF-1RI-OQ85 + searchable: + description: Customer visiblity in search results + type: boolean + customer_wide_mfa: + type: boolean + time_created: + description: Date and time of customer object creation + type: string + format: date-time + time_updated: + description: Date and time customer object was last updated + type: string + format: date-time + company_type_code: + description: Short code of the company's business structure + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + type: + description: Customer type + type: string + example: customer + reg_state: + description: State of registration + type: string + example: CA + reg_country: + description: Country of registration + type: string + example: USA + service_provider: + type: boolean + customer_of_reseller: + description: True if customer is linked to the reseller + type: boolean + _links: + description: Links to other information about the customer + type: object + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: A link to the industries of which this customer is a part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + CustomersGetLogoByUuidResponse: + type: string + format: binary + example: JPEG image file + CustomersGetLogoByUuid200Response: + type: string + format: binary + example: PNG image file + CustomersGetLogoByUuid200Response1: + type: string + format: binary + example: BMP image file + CustomersUploadLogoImageResponse: + type: object + properties: + message: + description: Operation status + type: string + enum: + - Image updated + example: Image updated + CustomersGetLocationListResponse: + type: array + items: + type: object + properties: + pop: + description: POP name + type: string + example: LAX1 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: LAX + market_description: + description: Market description + type: string + example: Los Angeles + vendor: + description: Vendor name + type: string + example: EdgeConneX + site: + description: Site name + type: string + example: EdgeConneX LAX + site_code: + description: Site code + type: string + example: DU-CH1 + type: + description: Site type + type: string + example: primary + status: + description: Current status of the site + type: string + example: Active + latitude: + description: Site's geo location - latitude + type: string + example: 38.59229 + longitude: + description: Site's geo location - longitude + type: string + example: -121.277357 + timezone: + description: Local timezone of the site + type: string + example: UTC + notes: + description: Additional notes + type: string + example: '' + pcode: + description: pcode + type: integer + format: int64 + example: 1234567 + lead_time: + description: Site's lead time + type: string + example: instant + single_armed: + description: Indication that site is single armed + type: boolean + example: false + address1: + description: Site's address - line one + type: string + example: 624 S Grand Ave + address2: + description: Site's address - line two + type: string + example: STE + city: + description: Site's address - city name + type: string + example: Los Angeles + state: + description: Site's address - state code + type: string + example: CA + postal: + description: Site's address - postal code + type: string + example: 90017 + country: + description: Site's address - country code + type: string + example: US + network_provider: + description: Network provider for ports at this location + type: string + enum: + - PacketFabric + - Colt + time_created: + description: Date the location was added + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + description: The type of port device + type: string + example: blue + CustomersGetCurrentAccountManagersResponse: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + description: Name of the sales team member + type: string + example: John Doe + phone: + description: Phone number of the sales team member + type: string + nullable: true + example: +1 5555555555 + email: + description: Email address of the sales team member + type: string + nullable: true + format: email + example: user@packetfabric.com + CustomersGetCurrentSalesTeamResponse: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + description: Name of the sales team member + type: string + example: John Doe + phone: + description: Phone number of the sales team member + type: string + nullable: true + example: +1 5555555555 + email: + description: Email address of the sales team member + type: string + nullable: true + format: email + example: user@packetfabric.com + account_executives: + type: array + items: + type: object + properties: + name: + description: Name of the sales team member + type: string + example: John Doe + phone: + description: Phone number of the sales team member + type: string + nullable: true + example: +1 5555555555 + email: + description: Email address of the sales team member + type: string + nullable: true + format: email + example: user@packetfabric.com + sales_engineers: + type: array + items: + type: object + properties: + name: + description: Name of the sales team member + type: string + example: John Doe + phone: + description: Phone number of the sales team member + type: string + nullable: true + example: +1 5555555555 + email: + description: Email address of the sales team member + type: string + nullable: true + format: email + example: user@packetfabric.com + GetCustomersResponse: + type: array + items: + type: object + properties: + description: + description: Customer description + type: string + example: Importer/exporter + customer_uuid: + description: The UUID of the customer object + type: string + format: uuid + name: + description: Customer name + type: string + example: Vandelay Industries + website: + description: Website address + type: string + example: vandelayindustries.com + aliases: + description: Customer aliases + type: string + example: DM Scranton + routing_id: + description: Customer ID + type: string + example: PF-1RI-OQ85 + CustomersGetIndustriesByUuidResponse: + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: telecommunications + name: + description: Human-readable name + type: string + example: Telecommunications + CustomersGetLocationsByUuidResponse: + type: array + items: + type: object + properties: + pop: + description: POP name + type: string + example: NYC4 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: NYC + market_description: + description: Market name + type: string + example: New York City + CustomersGetServiceProviderTypesByUuidResponse: + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: cloud-service-providers + name: + description: Human-readable name + type: string + example: Cloud Service Providers + CustomersUpdateIxDetailsResponse: + type: object + properties: + pricing_url: + description: Url of the IX details page + type: string + example: https://ix-example.pf/connect/guide + redirect_url: + description: >- + Url the customer will be redirected to after setting up an IX + connection + type: string + example: https://ix-example.pf/connect/provision + tiers: + description: Pricing tiers of the IX + type: array + items: + type: object + properties: + price: + description: Price + type: string + example: $82.91 MRC + speed: + description: Speed (Mbps) + type: integer + example: 10000 + viewValue: + description: String representation for speed + type: string + example: 10G + order_completion_method: + description: Order completion method + type: string + example: email + email: + description: IX contact email + type: string + example: contacts@ix-example.pf + CustomersIxDetailsGetResponse: + type: object + properties: + pricing_url: + description: Url of the IX details page + type: string + example: https://ix-example.pf/connect/guide + redirect_url: + description: >- + Url the customer will be redirected to after setting up an IX + connection + type: string + example: https://ix-example.pf/connect/provision + tiers: + description: Pricing tiers of the IX + type: array + items: + type: object + properties: + price: + description: Price + type: string + example: $82.91 MRC + speed: + description: Speed (Mbps) + type: integer + example: 10000 + viewValue: + description: String representation for speed + type: string + example: 10G + order_completion_method: + description: Order completion method + type: string + example: email + email: + description: IX contact email + type: string + example: contacts@ix-example.pf + GetReportsResponse: + type: object + properties: + reports: + type: array + items: + allOf: + - type: object + properties: + description: + description: The description of the report + type: string + example: User provided description + report_uuid: + description: The identifier for the report + type: string + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + description: The state of the report + type: string + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + description: Array of circuit ids associated with a report + type: array + items: + type: string + example: + - PF-AE-ABC-123 + - type: object + properties: + reason: + description: Reason for the report + type: string + example: USER + user_login: + description: Email of user + type: string + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + description: The start time of this report + type: string + format: date-time + time_created: + description: The time the report was created + type: string + format: date-time + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + description: + type: string + example: User description + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + DiagnosticReportsCreateReportResponse: + type: object + properties: + report: + type: object + properties: + description: + description: The description of the report + type: string + example: User provided description + report_uuid: + description: The identifier for the report + type: string + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + description: The state of the report + type: string + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + description: Array of circuit ids associated with a report + type: array + items: + type: string + example: + - PF-AE-ABC-123 + DeleteReportResponse: + type: object + properties: + message: + type: string + example: Report deleted successfully + GetReportResponse: + type: object + properties: + report: + allOf: + - type: object + properties: + description: + description: The description of the report + type: string + example: User provided description + report_uuid: + description: The identifier for the report + type: string + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + description: The state of the report + type: string + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + description: Array of circuit ids associated with a report + type: array + items: + type: string + example: + - PF-AE-ABC-123 + - type: object + properties: + reason: + description: Reason for the report + type: string + example: USER + user_login: + description: Email of user + type: string + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + description: The start time of this report + type: string + format: date-time + time_created: + description: The time the report was created + type: string + format: date-time + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + description: + type: string + example: User description + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + DocumentsListFilteredByParamsResponse: + type: array + items: + type: object + properties: + description: + description: Document description + type: string + example: Description of the document + uuid: + description: uuid + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + description: Document name + type: string + example: loa.pdf + mime_type: + description: Mime type of the document + type: string + example: image/jpeg + size: + description: Document size + type: integer + example: 100500 + type: + description: Document type + type: string + enum: + - loa + - msa + example: loa + time_created: + description: Document creation time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + time_updated: + description: Document's last update time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + _links: + description: Links to other information about the document + type: object + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: A link to the cloud router connection this document refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document refers + to + type: string + format: uri + DocumentUploadResponse: + type: object + properties: + description: + description: Document description + type: string + example: Description of the document + uuid: + description: uuid + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + description: Document name + type: string + example: loa.pdf + mime_type: + description: Mime type of the document + type: string + example: image/jpeg + size: + description: Document size + type: integer + example: 100500 + type: + description: Document type + type: string + enum: + - loa + - msa + example: loa + time_created: + description: Document creation time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + time_updated: + description: Document's last update time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + _links: + description: Links to other information about the document + type: object + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: A link to the cloud router connection this document refers to + type: string + format: uri + hpi: + description: A link to the High Performance Internet this document refers to + type: string + format: uri + DocumentsDownloadResponse: + type: string + format: binary + example: '[binary data]' + StreamingEventsBetaCreateSubscriptionResponse: + type: object + properties: + subscription_uuid: + description: ID for created bundle of event streams + type: string + format: uuid + StreamEventsResponse: + type: object + properties: + event: + type: string + enum: + - customer|auth + - customer|billing + - customer|bgp + - customer|contact + - customer|cloud_connection + - customer|cloud_router + - customer|customer + - customer|document + - customer|lag_interface + - customer|logical_interface + - customer|physical_interface + - customer|outbound_cross_connect + - customer|point_to_point + - customer|rate_limit + - customer|user + - customer|virtual_circuit + - port|errors + - port|etherstats + - port|metrics + - port|optical + - vc|metrics + data: + anyOf: + - title: Activity Log Event Stream Data + example: > + {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User Hank Aaron + logged in.","timestamp": "2021-08-06T16:23:12.872013+0000"} + type: object + properties: + user: + description: username of user that performed this action or 'system' + type: string + log_level: + description: Name of the level at which this event was logged + type: string + enum: + - emergency + - alert + - critical + - error + - warning + - notice + - info + - debug + category: + description: Category of the event + type: string + enum: + - auth + - billing + - bgp + - contact + - cloud_connection + - cloud_router + - customer + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + event: + description: Short name of the event + type: string + example: login + message: + description: Details of the event + type: string + example: User Alice logged in + timestamp: + description: Time of the event + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + - title: Logical Interface Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", "vc_circuit_id": + "PF-CC-ABC-QRS-24827-PF", "vlan": "4", "port_circuit_id": + "PF-AP-ABC-999-PF", "bytes_rx_bps": 512, "bytes_rx_total": 1024, + "bytes_tx_bps": 512, "bytes_tx_total": 1024, "packets_rx_pps": + 2048, "packets_rx_total": 4096, "packets_tx_pps": 2048, + "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + vc_circuit_id: + type: string + port_circuit_id: + type: string + vlan: + type: integer + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", "port_circuit_id": + "PF-AP-ABC-999-PF", "bytes_rx_bps": 512, "bytes_rx_total": 1024, + "bytes_tx_bps": 512, "bytes_tx_total": 1024, "packets_rx_pps": + 2048, "packets_rx_total": 4096, "packets_tx_pps": 2048, + "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Errors Event Stream + example: > + {"timestamp": "2021-09-22T21:16:22+00:00", "port_circuit_id": + "PF-AP-PHX2-2161831", "rx_discard": 0, "rx_drop": 0, "rx_fifo": + 0, "rx_framing": 0, "rx_l2_channel": 0, + "rx_l2_mismatch_timeout": 0, "rx_l3_incomplete": 0, + "rx_resource": 0, "rx_runt": 0, "rx_unspecified": 0, "tx_aged": + 0, "tx_carrier": 0, "tx_collision": 0, "tx_drop": 0, "tx_fifo": + 0, "tx_link_crc": 0, "tx_mtu": 0, "tx_resource": 0, + "tx_unspecified": 0} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_discard: + type: integer + rx_drop: + type: integer + rx_fifo: + type: integer + rx_framing: + type: integer + rx_l2_channel: + type: integer + rx_l2_mismatch_timeout: + type: integer + rx_l3_incomplete: + type: integer + rx_resource: + type: integer + rx_runt: + type: integer + rx_unspecified: + type: integer + tx_aged: + type: integer + tx_carrier: + type: integer + tx_collision: + type: integer + tx_drop: + type: integer + tx_fifo: + type: integer + tx_link_crc: + type: integer + tx_mtu: + type: integer + tx_resource: + type: integer + tx_unspecified: + type: integer + - title: Port Etherstats Event Stream + example: > + {"timestamp": "2021-09-22T21:25:48+00:00", "port_circuit_id": + "PF-AP-PLG3-2158617", "rx_broadcasts": 0, "rx_bytes": + 426166,"rx_code_violations": 0, "rx_crc_errors": 0, + "rx_fifo_errors": 0, "rx_fragment_frames": 0, + "rx_jabber_frames": 0, "rx_mac_control_frames": 0, + "rx_mac_pause_frames": 0, "rx_multicasts": 0, + "rx_oversized_frames": 0, "rx_packets": 5764, "rx_unicast": + 5764, "rx_vlan_tagged_frames": 0, "tx_broadcasts": 0, + "tx_bytes": 996137, "tx_crc_errors": 0, "tx_fifo_errors": 0, + "tx_mac_control_frames": 0, "tx_mac_pause_frames": 0, + "tx_multicasts": 0, "tx_packets": 7828, "tx_unicast": 7828} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_broadcasts: + type: integer + rx_bytes: + type: integer + rx_code_violations: + type: integer + rx_crc_errors: + type: integer + rx_fifo_errors: + type: integer + rx_fragment_frames: + type: integer + rx_jabber_frames: + type: integer + rx_mac_control_frames: + type: integer + rx_mac_pause_frames: + type: integer + rx_multicasts: + type: integer + rx_oversized_frames: + type: integer + rx_packets: + type: integer + rx_unicast: + type: integer + rx_vlan_tagged_frames: + type: integer + tx_broadcasts: + type: integer + tx_bytes: + type: integer + tx_crc_errors: + type: integer + tx_fifo_errors: + type: integer + tx_mac_control_frames: + type: integer + tx_mac_pause_frames: + type: integer + tx_multicasts: + type: integer + tx_packets: + type: integer + tx_unicast: + type: integer + - title: Port Optical Event Stream + example: > + {"timestamp": "2021-09-22T21:32:43+00:00", "port_circuit_id": + "PF-AP-WDC1-2158608", "lane_0_bias_current": 0.0, + "lane_0_index": 0.0, "lane_0_output_power": 0.0, + "lane_0_rx_dbm": 0.0, "lane_0_rx_power": 0.0, "lane_0_tx_dbm": + 0.0, "lane_0_tx_power": 0.0, "lane_1_bias_current": 0.0, + "lane_1_index": 0.0, "lane_1_output_power": 0.0, + "lane_1_rx_dbm": 0.0, "lane_1_rx_power": 0.0, "lane_1_tx_dbm": + 0.0, "lane_1_tx_power": 0.0, "lane_2_bias_current": 0.0, + "lane_2_index": 0.0, "lane_2_output_power": 0.0, + "lane_2_rx_dbm": 0.0, "lane_2_rx_power": 0.0, "lane_2_tx_dbm": + 0.0, "lane_2_tx_power": 0.0, "lane_3_bias_current": 0.0, + "lane_3_index": 0.0, "lane_3_output_power": 0.0, + "lane_3_rx_dbm": 0.0, "lane_3_rx_power": 0.0, "lane_3_tx_dbm": + 0.0, "lane_3_tx_power": 0.0} description: Body of the + event + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + lane_0_bias_current: + type: number + format: float + lane_0_index: + type: number + format: float + lane_0_output_power: + type: number + format: float + lane_0_rx_dbm: + type: number + format: float + lane_0_rx_power: + type: number + format: float + lane_0_tx_dbm: + type: number + format: float + lane_0_tx_power: + type: number + format: float + lane_1_bias_current: + type: number + format: float + lane_1_index: + type: number + format: float + lane_1_output_power: + type: number + format: float + lane_1_rx_dbm: + type: number + format: float + lane_1_rx_power: + type: number + format: float + lane_1_tx_dbm: + type: number + format: float + lane_1_tx_power: + type: number + format: float + lane_2_bias_current: + type: number + format: float + lane_2_index: + type: number + format: float + lane_2_output_power: + type: number + format: float + lane_2_rx_dbm: + type: number + format: float + lane_2_rx_power: + type: number + format: float + lane_2_tx_dbm: + type: number + format: float + lane_2_tx_power: + type: number + format: float + lane_3_bias_current: + type: number + format: float + lane_3_index: + type: number + format: float + lane_3_output_power: + type: number + format: float + lane_3_rx_dbm: + type: number + format: float + lane_3_rx_power: + type: number + format: float + lane_3_tx_dbm: + type: number + format: float + lane_3_tx_power: + type: number + format: float + FlexBandwidthGetAllContainersResponse: + type: array + items: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + FlexBandwidthCreateContainerResponse: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + FlexBandwidthGetByIdResponse: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + GroupGetResponse: + type: array + items: + type: object + properties: + name: + description: Group name. You can use it as group identifier + type: string + example: regular + _links: + description: Shows resources you can use the group in + type: object + properties: + permissions: + description: Url to get the list of permissions in this group + type: string + example: https://api.packetfabric.com/v2/groups/regular/permissions + users: + description: Url to get the list of the users in this group + type: string + example: https://api.packetfabric.com/v2/groups/regular/users + GroupsGetUserListResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + GroupsListPermissionsResponse: + type: array + items: + type: object + properties: + permission_key: + description: Permission name + type: string + example: group/permission.read + has_permission: + description: Shows if the permission is enabled within the given group + type: boolean + GetLocationResponse: + type: object + properties: + pop: + description: POP name + type: string + example: LAX1 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: LAX + market_description: + description: Market description + type: string + example: Los Angeles + vendor: + description: Vendor name + type: string + example: EdgeConneX + site: + description: Site name + type: string + example: EdgeConneX LAX + site_code: + description: Site code + type: string + example: DU-CH1 + type: + description: Site type + type: string + example: primary + status: + description: Current status of the site + type: string + example: Active + latitude: + description: Site's geo location - latitude + type: string + example: 38.59229 + longitude: + description: Site's geo location - longitude + type: string + example: -121.277357 + timezone: + description: Local timezone of the site + type: string + example: UTC + notes: + description: Additional notes + type: string + example: '' + pcode: + description: pcode + type: integer + format: int64 + example: 1234567 + lead_time: + description: Site's lead time + type: string + example: instant + single_armed: + description: Indication that site is single armed + type: boolean + example: false + address1: + description: Site's address - line one + type: string + example: 624 S Grand Ave + address2: + description: Site's address - line two + type: string + example: STE + city: + description: Site's address - city name + type: string + example: Los Angeles + state: + description: Site's address - state code + type: string + example: CA + postal: + description: Site's address - postal code + type: string + example: 90017 + country: + description: Site's address - country code + type: string + example: US + network_provider: + description: Network provider for ports at this location + type: string + enum: + - PacketFabric + - Colt + time_created: + description: Date the location was added + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + description: The type of port device + type: string + example: blue + LocationsFilterParamsListResponse: + type: array + items: + type: object + properties: + pop: + description: POP name + type: string + example: LAX1 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: LAX + market_description: + description: Market description + type: string + example: Los Angeles + vendor: + description: Vendor name + type: string + example: EdgeConneX + site: + description: Site name + type: string + example: EdgeConneX LAX + site_code: + description: Site code + type: string + example: DU-CH1 + type: + description: Site type + type: string + example: primary + status: + description: Current status of the site + type: string + example: Active + latitude: + description: Site's geo location - latitude + type: string + example: 38.59229 + longitude: + description: Site's geo location - longitude + type: string + example: -121.277357 + timezone: + description: Local timezone of the site + type: string + example: UTC + notes: + description: Additional notes + type: string + example: '' + pcode: + description: pcode + type: integer + format: int64 + example: 1234567 + lead_time: + description: Site's lead time + type: string + example: instant + single_armed: + description: Indication that site is single armed + type: boolean + example: false + address1: + description: Site's address - line one + type: string + example: 624 S Grand Ave + address2: + description: Site's address - line two + type: string + example: STE + city: + description: Site's address - city name + type: string + example: Los Angeles + state: + description: Site's address - state code + type: string + example: CA + postal: + description: Site's address - postal code + type: string + example: 90017 + country: + description: Site's address - country code + type: string + example: US + network_provider: + description: Network provider for ports at this location + type: string + enum: + - PacketFabric + - Colt + time_created: + description: Date the location was added + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + description: The type of port device + type: string + example: blue + LocationsFilterParamsList200Response: + type: array + items: + allOf: + - type: object + properties: + pop: + description: POP name + type: string + example: LAX1 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: LAX + market_description: + description: Market description + type: string + example: Los Angeles + vendor: + description: Vendor name + type: string + example: EdgeConneX + site: + description: Site name + type: string + example: EdgeConneX LAX + site_code: + description: Site code + type: string + example: DU-CH1 + type: + description: Site type + type: string + example: primary + status: + description: Current status of the site + type: string + example: Active + latitude: + description: Site's geo location - latitude + type: string + example: 38.59229 + longitude: + description: Site's geo location - longitude + type: string + example: -121.277357 + timezone: + description: Local timezone of the site + type: string + example: UTC + notes: + description: Additional notes + type: string + example: '' + pcode: + description: pcode + type: integer + format: int64 + example: 1234567 + lead_time: + description: Site's lead time + type: string + example: instant + single_armed: + description: Indication that site is single armed + type: boolean + example: false + address1: + description: Site's address - line one + type: string + example: 624 S Grand Ave + address2: + description: Site's address - line two + type: string + example: STE + city: + description: Site's address - city name + type: string + example: Los Angeles + state: + description: Site's address - state code + type: string + example: CA + postal: + description: Site's address - postal code + type: string + example: 90017 + country: + description: Site's address - country code + type: string + example: US + network_provider: + description: Network provider for ports at this location + type: string + enum: + - PacketFabric + - Colt + time_created: + description: Date the location was added + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + description: The type of port device + type: string + example: blue + - type: object + properties: + cloud_providers: + description: List of cloud providers available at this location + type: array + items: + type: object + properties: + provider: + description: Cloud provider name + type: string + enum: + - aws + - azure + - google + - ibm + - oracle + region: + description: Cloud provider region + type: string + example: us-east-1 + region_description: + description: Cloud provider region description + type: string + example: US East (N. Virginia) + connection_types: + description: List of connection types available at this location + type: array + items: + type: object + properties: + type: + description: Connection type name + type: string + enum: + - hosted + - dedicated + zones: + description: List of zones available at this location + type: array + items: + type: string + example: A + LocationsListCloudLocationsResponse: + type: array + items: + allOf: + - type: object + properties: + pop: + description: POP name + type: string + example: LAX1 + region: + description: Region short name + type: string + example: US + market: + description: Market code + type: string + example: LAX + market_description: + description: Market description + type: string + example: Los Angeles + vendor: + description: Vendor name + type: string + example: EdgeConneX + site: + description: Site name + type: string + example: EdgeConneX LAX + site_code: + description: Site code + type: string + example: DU-CH1 + type: + description: Site type + type: string + example: primary + status: + description: Current status of the site + type: string + example: Active + latitude: + description: Site's geo location - latitude + type: string + example: 38.59229 + longitude: + description: Site's geo location - longitude + type: string + example: -121.277357 + timezone: + description: Local timezone of the site + type: string + example: UTC + notes: + description: Additional notes + type: string + example: '' + pcode: + description: pcode + type: integer + format: int64 + example: 1234567 + lead_time: + description: Site's lead time + type: string + example: instant + single_armed: + description: Indication that site is single armed + type: boolean + example: false + address1: + description: Site's address - line one + type: string + example: 624 S Grand Ave + address2: + description: Site's address - line two + type: string + example: STE + city: + description: Site's address - city name + type: string + example: Los Angeles + state: + description: Site's address - state code + type: string + example: CA + postal: + description: Site's address - postal code + type: string + example: 90017 + country: + description: Site's address - country code + type: string + example: US + network_provider: + description: Network provider for ports at this location + type: string + enum: + - PacketFabric + - Colt + time_created: + description: Date the location was added + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + description: The type of port device + type: string + example: blue + - type: object + properties: + cloud_provider: + description: > + Short key identifying cloud provider, + + only available when providing cloud_provider or + cloud_connection_type query parameter + type: string + enum: + - aws + - google + - azure + - ibm + - salesforce + cloud_connection_details: + description: > + Details of the connection, + + only available when providing cloud_provider or + cloud_connection_type query parameter + type: object + properties: + region: + description: Short region name + type: string + example: us-east-1 + region_description: + description: Long region description + type: string + example: US East (N. Virginia) + hosted_type: + description: Type of the connection + type: string + enum: + - hosted-connection + - dedicated-connection + zones: + description: List of zones available at this location + type: array + items: + type: string + example: + - A + - B + LocationsListExtrametroResponse: + type: array + items: + type: object + properties: + desired_market: + description: Desired market + type: string + example: LON + allowed_market: + description: Allowed market + type: string + example: SFO + LocationsListResponse: + type: array + items: + type: object + properties: + name: + description: Region name + type: string + example: Continental U.S. + code: + description: Region code + type: string + example: US + LocationsGetMarketListResponse: + type: array + items: + type: object + properties: + name: + description: Market name + type: string + example: Los Angeles + code: + description: Market code + type: string + example: LAX + country: + description: Market country code + type: string + example: US + LocationsGetPortAvailabilityDataForPopResponse: + type: array + items: + type: object + properties: + zone: + description: Zone name + type: string + example: A + speed: + description: Wiring speed + type: string + example: 100Gbps + media: + description: Media type + type: string + example: LR4 + count: + description: Number of available ports + type: integer + example: 3 + partial: + description: Ports are partially available + type: boolean + example: false + enni: + description: Ports support eNNI + type: boolean + example: false + LocationsGetZonesForPopResponse: + type: array + items: + type: string + example: A + LocationsGetImageResponse: + type: string + format: binary + example: JPEG image file + LocationsGetImage200Response: + type: string + format: binary + example: PNG image file + LocationsGetImage200Response1: + type: string + format: binary + example: BMP image file + LabelsAssociatedObjectsGetResponse: + type: object + properties: + objects: + description: An array of circuit IDs associated with a label + type: array + items: + description: Circuit ID associated with a label + type: string + example: PF-AE-LAX1-1234 + AddLabelResponse: + type: object + required: + - objects + properties: + objects: + type: array + items: + description: Circuit ID actually are linked to the label + type: string + example: PF-AE-LAX1-1234 + UpdateLabelResponse: + type: object + required: + - objects + properties: + objects: + type: array + items: + description: Circuit ID actually are linked to the label + type: string + example: PF-AE-LAX1-1234 + GetLabelsResponse: + type: object + properties: + labels: + type: array + items: + description: Label value + type: string + example: staging + LagPostResponse: + type: object + properties: + description: + description: Description of a LAG + type: string + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + description: The LAG's circuit id + type: string + number: + description: LAG number + type: integer + time_created: + description: Date and time of port object creation + type: string + format: date-time + accepted: + description: Flag indicating that this LAG has been accepted + type: boolean + LagDeleteResponse: + type: object + properties: + workflow_name: + type: string + enum: + - started + LagPatchResponse: + type: object + properties: + description: + description: Description of a LAG + type: string + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + description: The LAG's circuit id + type: string + number: + description: LAG number + type: integer + time_created: + description: Date and time of port object creation + type: string + format: date-time + accepted: + description: Flag indicating that this LAG has been accepted + type: boolean + LaGsEnableTargetInterfaceResponse: + type: object + properties: + workflow_name: + type: string + enum: + - started + LaGsDisableTargetInterfaceResponse: + type: object + properties: + workflow_name: + type: string + enum: + - started + LaGsListMembersResponse: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + description: + description: User provided description of the port + type: string + example: User provided description + autoneg: + description: >- + Flag indicating that the port has autonegotiation enabled. Only + used for 1Gbps ports. + type: boolean + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + state: + description: State of the port + type: string + enum: + - Requested + - Active + status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + region: + description: Region short name + type: string + example: UK + market: + description: Market code + type: string + example: LAS + market_description: + description: Market description + type: string + example: Las Vegas + pop: + description: POP name + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + site_code: + description: Unique code for the site of PacketFabric's equipment + type: string + example: SW-LAS1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + operational_status: + description: Is the port operationaly up or down + type: string + enum: + - up + - down + admin_status: + description: Is the port admin up or down + type: string + enum: + - up + - down + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the largest + supported PDU) + type: integer + format: int64 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vc_mode: + description: Mode of operation of the point to point virtual circuit + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + is_lag: + description: Flag indicating that the port aggregates multiple LAG member ports + type: boolean + is_lag_member: + description: >- + Flag indicating that the port is a part of a Link Aggregation + Group + type: boolean + is_cloud: + description: >- + Flag indicating that the port serves as a connection to a Cloud + Service Provider + type: boolean + is_ptp: + description: Flag indicating that the part of point-to-point service + type: boolean + is_nni: + description: Flag indicating that the port supports NNI. + type: boolean + lag_interval: + description: Interval at which LACP packets are sent + type: string + member_count: + description: If the port is a LAG, how many members it has + type: integer + parent_lag_circuit_id: + description: If this port is in a LAG, the LAG's circuit id + type: string + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + description: Flag indicating that this port has been temporarily disabled + type: boolean + customer_name: + description: Name of the customer ordering the port + type: string + user_created: + description: Email of the user that created the port + type: string + user_updated: + description: Email of the user that last modified the port + type: string + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + description: Date and time of port object creation + type: string + format: date-time + time_updated: + description: Date and time port object was last updated + type: string + format: date-time + device_port_type: + description: The device type of this port + type: string + example: blue + LaGsAddMemberInterfaceResponse: + type: object + properties: + workflow_name: + type: string + enum: + - started + LaGsRemoveMemberInterfaceResponse: + type: object + properties: + workflow_name: + type: string + enum: + - started + MarketplaceCustomerServicesGetResponse: + type: array + items: + type: object + properties: + description: + description: Short description of what the customer does + type: string + example: Example description + customer_uuid: + description: UUID of the customer + type: string + format: uuid + routing_id: + description: Routing ID of the customer + type: string + example: PF-1RI-OQ85 + name: + description: Human-readable name of the customer + type: string + example: Example Ltd. + aliases: + description: The customer's aliases + type: string + example: Example alias + website: + description: URL of the customer's website + type: string + example: www.example.com + format: uri + industries: + description: Industries in which the customer operates + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: telecommunications + name: + description: Human-readable name + type: string + example: Telecommunications + service_provider_type: + description: What kinds of service provider the customer is + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: network-services + service_provider_name: + description: Human-readable name + type: string + example: Network Services + _links: + type: object + properties: + customer_image: + description: Link to the customer's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + services: + description: Services the customer offers + type: array + items: + type: object + properties: + description: + description: The service's description + type: string + example: User entered description + uuid: + description: UUID of the service + type: string + format: uuid + locations: + description: Locations in which the service has ports + type: array + items: + type: string + example: SAC1 + categories: + description: Service categories in which the service is included + type: array + items: + type: object + properties: + name: + description: Human-readable name + type: string + example: UCaaS + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: ucaas + name: + description: The service's name + type: string + example: Example Service + service_type: + description: The service's service type + type: string + example: port-service + enum: + - port-service + - cloud-router-service + published: + description: Whether or not the service is visible to the public + type: boolean + state: + description: Whether or not the service is active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: hosted-sfb-1 + cloud_router_circuit_id: + description: Circuit Id of the connected Cloud Router + type: string + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + is_empty: + description: Whether or not this cloud-router service has any prefixes. + type: boolean + example: false + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + _links: + type: object + properties: + service_image: + description: Link to the service's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + description: Link to the service's route set, if available + type: string + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + MarketplaceCreateServiceResponse: + type: object + properties: + description: + description: The service's description + type: string + example: User entered description + uuid: + description: UUID of the service + type: string + format: uuid + locations: + description: Locations in which the service has ports + type: array + items: + type: string + example: SAC1 + categories: + description: Service categories in which the service is included + type: array + items: + type: object + properties: + name: + description: Human-readable name + type: string + example: UCaaS + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: ucaas + name: + description: The service's name + type: string + example: Example Service + service_type: + description: The service's service type + type: string + example: port-service + enum: + - port-service + - cloud-router-service + published: + description: Whether or not the service is visible to the public + type: boolean + state: + description: Whether or not the service is active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: hosted-sfb-1 + cloud_router_circuit_id: + description: Circuit Id of the connected Cloud Router + type: string + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + is_empty: + description: Whether or not this cloud-router service has any prefixes. + type: boolean + example: false + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + _links: + type: object + properties: + service_image: + description: Link to the service's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + description: Link to the service's route set, if available + type: string + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + MarketplaceQuickConnectListResponse: + type: array + items: + type: object + properties: + description: + description: The service's description + type: string + example: User entered description + uuid: + description: UUID of the service + type: string + format: uuid + locations: + description: Locations in which the service has ports + type: array + items: + type: string + example: SAC1 + categories: + description: Service categories in which the service is included + type: array + items: + type: object + properties: + name: + description: Human-readable name + type: string + example: UCaaS + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: ucaas + name: + description: The service's name + type: string + example: Example Service + service_type: + description: The service's service type + type: string + example: port-service + enum: + - port-service + - cloud-router-service + published: + description: Whether or not the service is visible to the public + type: boolean + state: + description: Whether or not the service is active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: hosted-sfb-1 + cloud_router_circuit_id: + description: Circuit Id of the connected Cloud Router + type: string + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + is_empty: + description: Whether or not this cloud-router service has any prefixes. + type: boolean + example: false + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + _links: + type: object + properties: + service_image: + description: Link to the service's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + description: Link to the service's route set, if available + type: string + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + MarketplaceDeleteServiceResponse: + type: object + properties: + message: + type: string + example: Service deleted successfully + MarketplaceGetServiceObjectResponse: + type: object + properties: + description: + description: The service's description + type: string + example: User entered description + uuid: + description: UUID of the service + type: string + format: uuid + locations: + description: Locations in which the service has ports + type: array + items: + type: string + example: SAC1 + categories: + description: Service categories in which the service is included + type: array + items: + type: object + properties: + name: + description: Human-readable name + type: string + example: UCaaS + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: ucaas + name: + description: The service's name + type: string + example: Example Service + service_type: + description: The service's service type + type: string + example: port-service + enum: + - port-service + - cloud-router-service + published: + description: Whether or not the service is visible to the public + type: boolean + state: + description: Whether or not the service is active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: hosted-sfb-1 + cloud_router_circuit_id: + description: Circuit Id of the connected Cloud Router + type: string + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + is_empty: + description: Whether or not this cloud-router service has any prefixes. + type: boolean + example: false + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + _links: + type: object + properties: + service_image: + description: Link to the service's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + description: Link to the service's route set, if available + type: string + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + MarketplaceUpdateServiceResponse: + type: object + properties: + description: + description: The service's description + type: string + example: User entered description + uuid: + description: UUID of the service + type: string + format: uuid + locations: + description: Locations in which the service has ports + type: array + items: + type: string + example: SAC1 + categories: + description: Service categories in which the service is included + type: array + items: + type: object + properties: + name: + description: Human-readable name + type: string + example: UCaaS + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: ucaas + name: + description: The service's name + type: string + example: Example Service + service_type: + description: The service's service type + type: string + example: port-service + enum: + - port-service + - cloud-router-service + published: + description: Whether or not the service is visible to the public + type: boolean + state: + description: Whether or not the service is active (currently unused) + type: string + example: Active + sku: + description: Internal identifier for the service + type: string + example: hosted-sfb-1 + cloud_router_circuit_id: + description: Circuit Id of the connected Cloud Router + type: string + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + description: Circuit Id of the connected Route Set + type: string + example: PF-L3-RS-1234 + is_empty: + description: Whether or not this cloud-router service has any prefixes. + type: boolean + example: false + max_speed: + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + type: string + example: 10Gbps + _links: + type: object + properties: + service_image: + description: Link to the service's image + type: string + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + description: Link to the service's route set, if available + type: string + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + MarketplaceDeleteServiceImageResponse: + type: object + properties: + message: + description: Operation status + type: string + example: Image deleted + MarketplaceServiceImageGetResponse: + type: string + format: binary + MarketplaceServiceImageGet200Response: + type: string + format: binary + MarketplaceUpdateServiceImageResponse: + type: object + properties: + message: + description: Operation status + type: string + enum: + - Image updated + example: Image updated + MarketplaceServiceThumbnailGetResponse: + type: string + format: binary + MarketplaceServiceThumbnailGet200Response: + type: string + format: binary + MarketplaceUpdateServiceThumbnailResponse: + type: object + properties: + message: + description: Operation status + type: string + example: Thumbnail set successfully + MarketplaceServiceRouteSetGetResponse: + type: object + properties: + description: + description: The route set's description + type: string + example: User entered description + circuit_id: + description: Circuit ID of the Route Set + type: string + example: PF-L3-RS-123456 + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 23.159.0.128/32 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + time_created: + description: Date and time of Route Set creation + type: string + format: date-time + time_updated: + description: Date and time this Route Set was last updated + type: string + format: date-time + IndustriesGetResponse: + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: telecommunications + name: + description: Human-readable name + type: string + example: Telecommunications + MarketplaceGetServiceProviderTypesResponse: + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: cloud-service-providers + name: + description: Human-readable name + type: string + example: Cloud Service Providers + MarketplaceGetServiceCategoriesResponse: + type: array + items: + type: object + properties: + slug: + description: Identifier to be used in URLs and JSON bodies + type: string + example: cloud-computing + name: + description: Human-readable name + type: string + example: Cloud computing + MaintenanceNotificationsGetListIndividualHistoriesResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the maintenance associated with this notification + type: string + format: uuid + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + details: + description: Details describing the type of maintenance + type: string + example: Routine maintenance + filename: + description: >- + pdf file with additional details, attached to the email + notification + type: string + example: attachment.pdf + time_sent: + description: Date and time when this notification was sent + type: string + format: date-time + example: '2020-11-01T10:00:00.00000' + contact_first_name: + description: Contacted person's first name + type: string + example: John + contact_last_name: + description: Contacted person's last name + type: string + example: Doe + contact_email: + description: Contacted person's email address + type: string + example: me@here.com + vc_circuit_id: + description: circuit ID of an affected Virtual Circuit + type: string + example: PF-BC-SAC-SMF-1234 + port_circuit_id: + description: circuit ID of an affected Port + type: string + example: PF-AP-WDC1-1000 + cr_connection_circuit_id: + description: circuit ID of an affected Cloud Router connection + type: string + example: PF-L3-CON-2345 + pop: + description: POP name + type: string + example: WDC1 + MaintenanceNotificationsFilterByUuidActionOrTypeResponse: + type: array + items: + type: object + properties: + uuid: + description: The UUID of the maintenance details object + type: string + format: uuid + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + jira_key: + description: jira_key + type: string + example: NOC-9182 + type: + description: Maintenance type + type: string + enum: + - open + - update + - close + - cancel + - reminder + example: open + action: + description: Maintenance action + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + example: upgrade + input: + description: Empty object. Included for backwards compatibility + type: object + example: {} + exclude: + description: List of IFDs excluded from the notification + type: array + example: + - PF-AP-BOS2-6313 + items: + type: string + time_start: + description: Date and time when this maintenance starts + type: string + format: date-time + example: '2020-11-01T10:00:00.00000' + time_end: + description: Date and time when this maintenance ends + type: string + format: date-time + example: '2020-11-01T12:00:00.00000' + time_created: + description: Date and time when this maintenance was created + type: string + format: date-time + example: '2020-11-01T09:57:58.00000' + time_updated: + description: Date and time when this maintenance was last updated + type: string + format: date-time + example: '2020-11-01T09:57:58.00000' + port_circuit_ids: + description: List of affected port IDs + type: array + example: + - PF-AP-LAX1-1234567 + - PF-AP-LAX1-2345678 + items: + type: string + vc_circuit_ids: + description: List of affected Virtual Circuit IDs + type: array + example: + - PF-BC-SAC-SMF-1234 + - PF-BC-SAC-SMF-2345 + items: + type: string + cr_connection_circuit_ids: + description: List of affected Cloud Router Connection circuit IDs + type: array + example: + - PF-L3-CON-1234 + items: + type: string + pops: + description: List of affected POP names + type: array + example: + - LAX1 + - NYC1 + items: + type: string + system_wide: + description: true if this maintenance is system-wide, false otherwise + type: boolean + example: false + MaintenanceNotificationsGetCurrentFutureByPopNameAndMarketCodeResponse: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + description: unique ID for this maintenance + type: string + format: uuid + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + description: >- + Port circuit IDs of this customer specified by this + maintenance + type: array + items: + type: string + example: PF-AP-WDC1-1234 + device_names: + description: Names of the devices affected by this maintenance + type: array + items: + type: string + example: cfr1.wdc1 + pop_names: + description: Names of the pops affected by this maintenance + type: array + items: + type: string + example: WDC1 + market_codes: + description: Names of the markets affected by this maintenance + type: array + items: + type: string + example: WDC + exclude_port_circuit_ids: + description: >- + Port circuit IDs of this customer explicitly excluded from + this maintenance + type: array + items: + type: string + example: PF-AP-WDC1-4567 + start_time: + description: The scheduled start time of this maintenance + type: string + format: date-time + end_time: + description: The scheduled end time of this maintenance + type: string + format: date-time + system_wide: + description: >- + Whether this maintenance affects the entire PacketFabric + network + type: boolean + time_created: + description: When this maintenance was created by the PacketFabric team + type: string + format: date-time + time_updated: + description: >- + When this maintenance was last updated by the PacketFabric + team + type: string + format: date-time + MaintenanceNotificationsGetAffectedServiceMaintenancesResponse: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + description: unique ID for this maintenance + type: string + format: uuid + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + description: >- + Port circuit IDs of this customer specified by this + maintenance + type: array + items: + type: string + example: PF-AP-WDC1-1234 + device_names: + description: Names of the devices affected by this maintenance + type: array + items: + type: string + example: cfr1.wdc1 + pop_names: + description: Names of the pops affected by this maintenance + type: array + items: + type: string + example: WDC1 + market_codes: + description: Names of the markets affected by this maintenance + type: array + items: + type: string + example: WDC + exclude_port_circuit_ids: + description: >- + Port circuit IDs of this customer explicitly excluded from + this maintenance + type: array + items: + type: string + example: PF-AP-WDC1-4567 + start_time: + description: The scheduled start time of this maintenance + type: string + format: date-time + end_time: + description: The scheduled end time of this maintenance + type: string + format: date-time + system_wide: + description: >- + Whether this maintenance affects the entire PacketFabric + network + type: boolean + time_created: + description: When this maintenance was created by the PacketFabric team + type: string + format: date-time + time_updated: + description: >- + When this maintenance was last updated by the PacketFabric + team + type: string + format: date-time + IfdErrorsResponse: + type: array + items: + type: array + items: + anyOf: + - type: number + format: float + - type: integer + example: + - 1590988980 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + IfdTemperatureResponse: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591112400 + - 26.100000381469727 + - - 1591112460 + - 26.100000381469727 + - - 1591112520 + - 26.100000381469727 + - - 1591112580 + - 26 + MetricsGetOpticDataByPortCircuitIdResponse: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591115100 + - 37.03333282470703 + - 3.2487778663635254 + - 36.41600036621094 + - null + - -1.6155555248260498 + - 36.435001373291016 + - null + - -0.6155555844306946 + - 36.47600173950195 + - null + - -1.4766666889190674 + - 36.494998931884766 + - null + - -1.1344444751739502 + IfdWhatcastResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591115340 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + IfdRateResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 1705 + - 1527 + - 1882 + - 2345 + - 2165 + - 2525 + IflRateResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + MetricsCustomerRateByIfTypeGetResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118940 + - 4286 + - 1984736 + - 2707 + - 2579 + - 2835 + - 2713 + - 2564 + - 2863 + MetricsCustomerIflSummaryGetResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591119720 + - 4108784189 + - - 1591119780 + - 3892492190 + - - 1591119840 + - 3333090005 + MetricsCustomerIfdRateDataResponse: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591120020 + - 1050 + - 3699429 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + MetricsCustomerIfdSummaryGetResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591120260 + - 3837395341 + - - 1591120320 + - 3816877153 + - - 1591120380 + - 4034748323 + MetricsCustomerLonghaulUsageGetResponse: + type: array + items: + type: object + properties: + rollup_date: + description: > + An ISO 8601 formatted date string, such as "2020-06-23". It + determines the day the TrafficRollup corresponds to. + type: string + format: date + customer_id: + description: The integer ID of the corresponding customer + type: integer + vc_circuit_id: + description: The string identifier of the corresponding virtual circuit (VC) + type: string + bytes_tx: + description: The amount of transferred bytes, as an integer + type: integer + bytes_rx: + description: The amount of received bytes, as an integer + type: integer + example: + - rollup_date: '2020-06-23' + customer_id: 1000 + vc_circuit_id: PF-IX-LAX-ATL-2005 + bytes_tx: 10000 + bytes_rx: 10000 + ifl_data: null + vc_data: null + MetricsCloudRouterConnectionRateGetResponse: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + MetricsGetIpsecStatisticsByCloudRouterConnectionCircuitIdResponse: + type: object + properties: + decrypted_bytes: + description: The number of decrypted_bytes. + type: integer + example: 4313760 + encrypted_bytes: + description: The number of decrypted_bytes. + type: integer + example: 5143232 + ike_input_bytes: + description: The number of IKE input bytes into the IPSec connection. + type: integer + example: 842026 + ike_output_bytes: + description: The number of IKE output bytes into the IPSec connection. + type: integer + example: 645975 + local_address: + description: The local address of this connection. + type: string + example: 23.159.0.6 + remote_address: + description: The remote address of this connection. + type: string + example: 52.9.103.65 + ike_state: + description: The IKE state of this connection. + type: string + example: matured + enum: + - matured + - not_matured + MetricsGetNatStatisticsByCloudRouterConnectionCircuitIdResponse: + type: object + properties: + address_ranges: + description: The address ranges of this connection. + type: array + items: + type: string + example: + - 185.161.1.35-185.161.1.35 + port_range: + description: The port range of this connection. + type: string + example: 1024-65535 + ports_in_use: + description: The number of ports in use. + type: integer + example: 43 + max_ports_in_use: + description: The maximum number of ports in use. + type: integer + example: 734 + DeletePortResponse: + type: object + properties: + message: + type: string + example: Port deleted successfully + GetPortResponse: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + description: + description: User provided description of the port + type: string + example: User provided description + autoneg: + description: >- + Flag indicating that the port has autonegotiation enabled. Only used + for 1Gbps ports. + type: boolean + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + state: + description: State of the port + type: string + enum: + - Requested + - Active + status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + region: + description: Region short name + type: string + example: UK + market: + description: Market code + type: string + example: LAS + market_description: + description: Market description + type: string + example: Las Vegas + pop: + description: POP name + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + site_code: + description: Unique code for the site of PacketFabric's equipment + type: string + example: SW-LAS1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + operational_status: + description: Is the port operationaly up or down + type: string + enum: + - up + - down + admin_status: + description: Is the port admin up or down + type: string + enum: + - up + - down + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the largest + supported PDU) + type: integer + format: int64 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vc_mode: + description: Mode of operation of the point to point virtual circuit + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + is_lag: + description: Flag indicating that the port aggregates multiple LAG member ports + type: boolean + is_lag_member: + description: Flag indicating that the port is a part of a Link Aggregation Group + type: boolean + is_cloud: + description: >- + Flag indicating that the port serves as a connection to a Cloud + Service Provider + type: boolean + is_ptp: + description: Flag indicating that the part of point-to-point service + type: boolean + is_nni: + description: Flag indicating that the port supports NNI. + type: boolean + lag_interval: + description: Interval at which LACP packets are sent + type: string + member_count: + description: If the port is a LAG, how many members it has + type: integer + parent_lag_circuit_id: + description: If this port is in a LAG, the LAG's circuit id + type: string + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + description: Flag indicating that this port has been temporarily disabled + type: boolean + customer_name: + description: Name of the customer ordering the port + type: string + user_created: + description: Email of the user that created the port + type: string + user_updated: + description: Email of the user that last modified the port + type: string + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + description: Date and time of port object creation + type: string + format: date-time + time_updated: + description: Date and time port object was last updated + type: string + format: date-time + device_port_type: + description: The device type of this port + type: string + example: blue + UpdatePortResponse: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + description: + description: User provided description of the port + type: string + example: User provided description + autoneg: + description: >- + Flag indicating that the port has autonegotiation enabled. Only used + for 1Gbps ports. + type: boolean + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + state: + description: State of the port + type: string + enum: + - Requested + - Active + status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + region: + description: Region short name + type: string + example: UK + market: + description: Market code + type: string + example: LAS + market_description: + description: Market description + type: string + example: Las Vegas + pop: + description: POP name + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + site_code: + description: Unique code for the site of PacketFabric's equipment + type: string + example: SW-LAS1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + operational_status: + description: Is the port operationaly up or down + type: string + enum: + - up + - down + admin_status: + description: Is the port admin up or down + type: string + enum: + - up + - down + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the largest + supported PDU) + type: integer + format: int64 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vc_mode: + description: Mode of operation of the point to point virtual circuit + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + is_lag: + description: Flag indicating that the port aggregates multiple LAG member ports + type: boolean + is_lag_member: + description: Flag indicating that the port is a part of a Link Aggregation Group + type: boolean + is_cloud: + description: >- + Flag indicating that the port serves as a connection to a Cloud + Service Provider + type: boolean + is_ptp: + description: Flag indicating that the part of point-to-point service + type: boolean + is_nni: + description: Flag indicating that the port supports NNI. + type: boolean + lag_interval: + description: Interval at which LACP packets are sent + type: string + member_count: + description: If the port is a LAG, how many members it has + type: integer + parent_lag_circuit_id: + description: If this port is in a LAG, the LAG's circuit id + type: string + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + description: Flag indicating that this port has been temporarily disabled + type: boolean + customer_name: + description: Name of the customer ordering the port + type: string + user_created: + description: Email of the user that created the port + type: string + user_updated: + description: Email of the user that last modified the port + type: string + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + description: Date and time of port object creation + type: string + format: date-time + time_updated: + description: Date and time port object was last updated + type: string + format: date-time + device_port_type: + description: The device type of this port + type: string + example: blue + PortsGetDeviceInfoResponse: + type: object + properties: + adjacent_router: + type: string + device_name: + type: string + device_make: + type: string + admin_status: + type: string + oper_status: + type: string + auto_negotiation: + type: boolean + iface_name: + type: string + speed: + type: string + optics_diagnostics_lane_values: + type: object + properties: + tx_status: + type: string + tx_power_dbm: + type: number + format: float + example: -1.05 + tx_power: + type: number + format: float + example: 0.786 + lane_index: + type: string + example: 0 + rx_status: + type: string + rx_power: + type: number + format: float + example: 0 + rx_power_dbm: + type: number + format: float + example: -35.23 + bias_current: + type: number + format: float + example: 45.532 + polltime: + type: number + format: float + time_flapped: + type: string + traffic_rx_bps: + type: integer + traffic_rx_bytes: + type: integer + traffic_rx_ipv6_bytes: + type: integer + traffic_rx_ipv6_packets: + type: integer + traffic_rx_packets: + type: integer + traffic_rx_pps: + type: integer + traffic_tx_bps: + type: integer + traffic_tx_bytes: + type: integer + traffic_tx_ipv6_bytes: + type: integer + traffic_tx_ipv6_packets: + type: integer + traffic_tx_packets: + type: integer + traffic_tx_pps: + type: integer + wiring_speed: + type: string + example: 10G + wiring_media: + type: string + wiring_module: + type: string + wiring_panel: + type: string + wiring_position: + type: string + wiring_reach: + type: string + wiring_type: + type: string + tx_power_high_alarm_threshold: + type: number + format: float + tx_power_high_alarm_threshold_dbm: + type: number + format: float + tx_power_high_warn_threshold: + type: number + format: float + tx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_high_alarm_threshold: + type: number + format: float + rx_power_high_alarm_threshold_dbm: + type: number + format: float + rx_power_high_warn_threshold: + type: number + format: float + rx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_low_alarm_threshold: + type: number + format: float + rx_power_low_alarm_threshold_dbm: + type: number + format: float + rx_power_low_warn_threshold: + type: number + format: float + rx_power_low_warn_threshold_dbm: + type: number + format: float + lag_speed: + type: integer + device_can_lag: + type: boolean + PortsGenerateLoaResponse: + type: object + properties: + description: + description: Document description + type: string + example: Description of the document + uuid: + description: uuid + type: string + format: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + description: Document name + type: string + example: loa.pdf + mime_type: + description: Mime type of the document + type: string + example: image/jpeg + size: + description: Document size + type: integer + example: 100500 + type: + description: Document type + type: string + enum: + - loa + - msa + example: loa + time_created: + description: Document creation time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + time_updated: + description: Document's last update time + type: string + format: date-time + example: '2020-06-11T19:08:10.150711' + _links: + description: Links to other information about the document + type: object + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: A link to the cloud router connection this document refers to + type: string + format: uri + hpi: + description: A link to the High Performance Internet this document refers to + type: string + format: uri + PortsGetVlanSummaryResponse: + type: object + properties: + lowest_available_vlan: + description: Lowest available VLAN id for this port + type: integer + example: 4 + max_vlan: + description: Highest used VLAN id for this port + type: integer + logical_interfaces: + type: array + items: + type: object + properties: + description: + type: string + example: GOG to NYC (PF Test Company) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + vlan: + type: integer + example: 6 + inner_vlan_list: + type: array + example: [] + items: + type: integer + untagged: + type: boolean + example: true + rate_limit_in: + type: integer + example: 100 + rate_limit_out: + type: integer + example: 100 + status: + type: string + enum: + - active + - provisioning + disabled: + type: boolean + example: false + time_created: + description: Date and time of interface creation + type: string + format: date-time + time_updated: + description: Date and time interface was last updated + type: string + format: date-time + tag_type: + type: string + example: single + EnablePortResponse: + type: object + properties: + message: + type: string + example: Port enabled successfully + DisablePortResponse: + type: object + properties: + message: + type: string + example: Port disabled successfully + PortsUpgradeSubscriptionTermResponse: + type: object + properties: + message: + type: string + example: Port is being upgraded. + workflow: + description: The type of workflow that has been started. + type: string + example: Port Upgrade Workflow + state: + description: The state of the Workflow. + type: string + example: STARTED + workflow_id: + description: UUID of the workflow + type: string + example: 02c3efdd-5634-4334-b43d-fc521fff2c05 + PortsGetRouterLogsResponse: + type: array + items: + type: object + properties: + device_name: + type: string + example: cfr1.pdx1 + iface_name: + type: string + example: XE-0/0/1:3 + message: + type: string + example: >- + cfr1.pdx1 mib2d[11088]: %DAEMON-4-SNMP_TRAP_LINK_UP: ifIndex 897, + ifAdminStatus up(1), ifOperStatus up(1), ifName xe-0/0/1:3 + severity: + description: Severity of the router log as integer. + type: integer + example: 4 + severity_name: + description: Severity of the router log as string, according to RFC 3164. + type: string + example: Warning + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + PortsGetServiceStatusResponse: + type: object + required: + - port_circuit_id + properties: + circuit_id: + description: Port circuit ID + type: string + example: PF-AP-LAX1-1234 + status: + description: Status details + type: object + properties: + object: + description: Meta information about the object + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + description: Current state information + type: object + properties: + description: + description: Current state description + type: string + state: + description: Current state + type: string + last_workflow: + description: Last executed workflow operation + type: object + nullable: true + properties: + name: + description: Name of operation + type: string + example: port/workflow/provision/master + root: + description: Root task ID + type: string + format: uuid + current: + description: Current task ID + type: string + format: uuid + state: + description: Current state + type: string + example: COMPLETED + current_name: + description: Current task operation + type: string + example: COMPLETED + prev_state: + description: Previous task operation + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + description: List of errors + type: array + items: + description: List of error messages + type: string + example: Error message here + is_final: + description: Is operation final + type: boolean + progress: + description: Progress information + type: object + properties: + position: + description: Current progress position + type: integer + format: int64 + example: 7 + steps: + description: Total progress number of steps + type: integer + format: int64 + example: 7 + states: + description: List of possible states + type: array + items: + description: State object + type: object + properties: + description: + description: State description + type: string + state: + description: State name + type: string + PortsGetListResponse: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + description: + description: User provided description of the port + type: string + example: User provided description + autoneg: + description: >- + Flag indicating that the port has autonegotiation enabled. Only + used for 1Gbps ports. + type: boolean + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + state: + description: State of the port + type: string + enum: + - Requested + - Active + status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + region: + description: Region short name + type: string + example: UK + market: + description: Market code + type: string + example: LAS + market_description: + description: Market description + type: string + example: Las Vegas + pop: + description: POP name + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + site_code: + description: Unique code for the site of PacketFabric's equipment + type: string + example: SW-LAS1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + operational_status: + description: Is the port operationaly up or down + type: string + enum: + - up + - down + admin_status: + description: Is the port admin up or down + type: string + enum: + - up + - down + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the largest + supported PDU) + type: integer + format: int64 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vc_mode: + description: Mode of operation of the point to point virtual circuit + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + is_lag: + description: Flag indicating that the port aggregates multiple LAG member ports + type: boolean + is_lag_member: + description: >- + Flag indicating that the port is a part of a Link Aggregation + Group + type: boolean + is_cloud: + description: >- + Flag indicating that the port serves as a connection to a Cloud + Service Provider + type: boolean + is_ptp: + description: Flag indicating that the part of point-to-point service + type: boolean + is_nni: + description: Flag indicating that the port supports NNI. + type: boolean + lag_interval: + description: Interval at which LACP packets are sent + type: string + member_count: + description: If the port is a LAG, how many members it has + type: integer + parent_lag_circuit_id: + description: If this port is in a LAG, the LAG's circuit id + type: string + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + description: Flag indicating that this port has been temporarily disabled + type: boolean + customer_name: + description: Name of the customer ordering the port + type: string + user_created: + description: Email of the user that created the port + type: string + user_updated: + description: Email of the user that last modified the port + type: string + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + description: Date and time of port object creation + type: string + format: date-time + time_updated: + description: Date and time port object was last updated + type: string + format: date-time + device_port_type: + description: The device type of this port + type: string + example: blue + PortPostResponse: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + description: + description: User provided description of the port + type: string + example: User provided description + autoneg: + description: >- + Flag indicating that the port has autonegotiation enabled. Only used + for 1Gbps ports. + type: boolean + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + state: + description: State of the port + type: string + enum: + - Requested + - Active + status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + region: + description: Region short name + type: string + example: UK + market: + description: Market code + type: string + example: LAS + market_description: + description: Market description + type: string + example: Las Vegas + pop: + description: POP name + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + site_code: + description: Unique code for the site of PacketFabric's equipment + type: string + example: SW-LAS1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + operational_status: + description: Is the port operationaly up or down + type: string + enum: + - up + - down + admin_status: + description: Is the port admin up or down + type: string + enum: + - up + - down + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the largest + supported PDU) + type: integer + format: int64 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vc_mode: + description: Mode of operation of the point to point virtual circuit + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + is_lag: + description: Flag indicating that the port aggregates multiple LAG member ports + type: boolean + is_lag_member: + description: Flag indicating that the port is a part of a Link Aggregation Group + type: boolean + is_cloud: + description: >- + Flag indicating that the port serves as a connection to a Cloud + Service Provider + type: boolean + is_ptp: + description: Flag indicating that the part of point-to-point service + type: boolean + is_nni: + description: Flag indicating that the port supports NNI. + type: boolean + lag_interval: + description: Interval at which LACP packets are sent + type: string + member_count: + description: If the port is a LAG, how many members it has + type: integer + parent_lag_circuit_id: + description: If this port is in a LAG, the LAG's circuit id + type: string + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + description: Flag indicating that this port has been temporarily disabled + type: boolean + customer_name: + description: Name of the customer ordering the port + type: string + user_created: + description: Email of the user that created the port + type: string + user_updated: + description: Email of the user that last modified the port + type: string + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + description: Date and time of port object creation + type: string + format: date-time + time_updated: + description: Date and time port object was last updated + type: string + format: date-time + device_port_type: + description: The device type of this port + type: string + example: blue + PortsExportCsvResponse: + type: string + format: byte + example: '[data]' + PortalQuotesGetCustomerQuotesResponse: + type: array + items: + description: A quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: >- + UUID of the customer to which this quote has been published. Can + only be set when published a quote. Cannot be updated once set. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesCreateNewQuoteResponse: + description: A quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: >- + UUID of the customer to which this quote has been published. Can + only be set when published a quote. Cannot be updated once set. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesDuplicateQuoteResponse: + description: A quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: >- + UUID of the customer to which this quote has been published. Can + only be set when published a quote. Cannot be updated once set. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesGetDetailsResponse: + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + description: the quote's subscription term + type: integer + example: 12 + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a quote + type: object + properties: + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + uuid: + description: the UUID of this line in the quote + type: string + format: uuid + quote_uuid: + description: the UUID of the quote that this line belongs to + type: string + format: uuid + selected_term: + description: subscription term for this quote line + type: integer + example: 12 + product_type: + description: the type of product of this quote line + type: string + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + description: the details of the product represented by this quote line + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + description: identifier for the A-side (or only side) of this product + type: string + side_z: + description: identifier for the Z-side of this product + type: string + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: price per GB transferred for a usage-based service + type: number + format: float + nullable: true + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesUpdateQuoteResponse: + description: A quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: >- + UUID of the customer to which this quote has been published. Can + only be set when published a quote. Cannot be updated once set. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesAddQuoteLineResponse: + description: a single product in a quote + type: object + properties: + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + uuid: + description: the UUID of this line in the quote + type: string + format: uuid + quote_uuid: + description: the UUID of the quote that this line belongs to + type: string + format: uuid + selected_term: + description: subscription term for this quote line + type: integer + example: 12 + product_type: + description: the type of product of this quote line + type: string + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + description: the details of the product represented by this quote line + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + description: identifier for the A-side (or only side) of this product + type: string + side_z: + description: identifier for the Z-side of this product + type: string + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: price per GB transferred for a usage-based service + type: number + format: float + nullable: true + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesDeleteQuoteLineResponse: + type: object + properties: + message: + type: string + example: Quote deleted + PortalQuotesGetPdfResponse: + description: PDF of the quote + type: string + format: binary + PortalQuotesGetCsvResponse: + description: CSV of the quote + type: string + format: binary + PortalQuotesPublishQuoteResponse: + description: A published quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quote_uuid: + description: UUID of the quote associated with this published quote + type: string + format: uuid + quote_file_uuid: + description: UUID of the PDF associated with this published quote + type: string + format: uuid + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which this quote was published. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesGetPublishedQuotesResponse: + type: array + items: + description: A published quote + type: object + properties: + title: + type: string + uuid: + type: string + format: uuid + custom_terms: + type: string + quote_uuid: + description: UUID of the quote associated with this published quote + type: string + format: uuid + quote_file_uuid: + description: UUID of the PDF associated with this published quote + type: string + format: uuid + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + selected_term: + description: subscription term for this quote + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which this quote was published. + type: string + format: uuid + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesGetAssignedQuotesResponse: + type: array + items: + title: Published quote details + description: Published quote details + type: object + properties: + title: + type: string + uuid: + description: UUID of the published quote + type: string + format: uuid + custom_terms: + type: string + quote_uuid: + description: UUID of the quote associated with this published quote + type: string + format: uuid + quote_file_uuid: + description: UUID of the PDF associated with this published quote + type: string + format: uuid + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + selected_term: + description: the quote's subscription term + type: integer + example: 12 + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + title: published quote line + description: a single product in a published quote + type: object + properties: + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + uuid: + description: the UUID of this line in the published quote + type: string + format: uuid + published_quote_uuid: + description: the UUID of the published quote that this line belongs to + type: string + format: uuid + selected_term: + description: subscription term for this quote line + type: integer + example: 12 + product_type: + description: the type of product of this quote line + type: string + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + description: the details of the product represented by this quote line + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + description: identifier for the A-side (or only side) of this product + type: string + side_z: + description: identifier for the Z-side of this product + type: string + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + description: >- + UUID of the provisioned service associated with this + published quote line + type: string + format: uuid + nullable: true + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + PortalQuotesGetPublishedQuoteDetailsResponse: + title: Published quote details + description: Published quote details + type: object + properties: + title: + type: string + uuid: + description: UUID of the published quote + type: string + format: uuid + custom_terms: + type: string + quote_uuid: + description: UUID of the quote associated with this published quote + type: string + format: uuid + quote_file_uuid: + description: UUID of the PDF associated with this published quote + type: string + format: uuid + quoter: + description: this quote's creator + type: object + properties: + quoter_uuid: + description: The quoter UUID is the same as the customer UUID + type: string + format: uuid + quoter_user_uuid: + description: UUID of the user whom created the quote + type: string + format: uuid + nullable: true + billing_contact_uuid: + description: UUID of the billing account associated with this quote + type: string + format: uuid + selected_term: + description: the quote's subscription term + type: integer + example: 12 + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + title: published quote line + description: a single product in a published quote + type: object + properties: + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + uuid: + description: the UUID of this line in the published quote + type: string + format: uuid + published_quote_uuid: + description: the UUID of the published quote that this line belongs to + type: string + format: uuid + selected_term: + description: subscription term for this quote line + type: integer + example: 12 + product_type: + description: the type of product of this quote line + type: string + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + description: the details of the product represented by this quote line + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + description: name of the cloud service provider + type: string + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + description: identifier for the A-side (or only side) of this product + type: string + side_z: + description: identifier for the Z-side of this product + type: string + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + description: >- + UUID of the provisioned service associated with this published + quote line + type: string + format: uuid + nullable: true + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + RequestAliasesGetAllResponse: + type: array + items: + type: object + properties: + ra_uuid: + description: >- + Request Alias UUID. You can reference the request alias using this + uuid. + type: string + format: uuid + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + RequestAliasesAddNewAliasResponse: + type: object + properties: + ra_uuid: + description: >- + Request Alias UUID. You can reference the request alias using this + uuid. + type: string + format: uuid + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + RequestAliasesByUuidResponse: + type: object + properties: + ra_uuid: + description: >- + Request Alias UUID. You can reference the request alias using this + uuid. + type: string + format: uuid + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + RequestAliasesUpdateAliasResponse: + type: object + properties: + ra_uuid: + description: >- + Request Alias UUID. You can reference the request alias using this + uuid. + type: string + format: uuid + name: + description: The name of the request alias. + type: string + mappings: + description: A list of mappings that this request alias is relevant to. + required: + - markets + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + RequestAliasesGetAllContactsResponse: + type: array + items: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + first_name: + description: First name of the contact person + type: string + last_name: + description: Last name of the contact person + type: string + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: A link to the request alias this contact is associated with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + RequestAliasesAssociateContactsResponse: + type: array + items: + type: object + properties: + contact_uuid: + description: Contact UUID. You can reference the contact using this uuid. + type: string + format: uuid + first_name: + description: First name of the contact person + type: string + last_name: + description: Last name of the contact person + type: string + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: A link to the request alias this contact is associated with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + ServicesGetCurrentCustomerServicesListResponse: + type: array + items: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: >- + Subscription term in months. Not applicable for hourly + billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this + VC's speed + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + user_created: + description: Email of the user that created the vc + type: string + user_updated: + description: Email of the user that last modified the vc + type: string + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + ServicesExportCsvListResponse: + type: string + format: byte + example: '[data]' + DeleteServiceResponse: + type: object + properties: + message: + type: string + GetServiceResponse: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per interface + + * evpl-untagged is used when either Source or Destination interface + has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + user_created: + description: Email of the user that created the vc + type: string + user_updated: + description: Email of the user that last modified the vc + type: string + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + PatchServiceResponse: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per interface + + * evpl-untagged is used when either Source or Destination interface + has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + user_created: + description: Email of the user that created the vc + type: string + user_updated: + description: Email of the user that last modified the vc + type: string + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + ServicesVcCircuitStatusGetResponse: + type: object + properties: + instance_id: + description: VC circuit id + type: string + example: PF-AP-LAX1-1234 + instance_type: + description: VC instance type + type: string + example: VC + state: + description: Current workflow step + type: string + example: create_interfaces + all_states: + description: All steps of the current workflow + type: array + items: + type: string + all_state_descriptions: + description: Map of state names to the descriptions + type: object + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + properties: + error_message: + description: Error description + type: string + time_created: + description: Time of the workflow creation + type: string + format: date-time + time_updated: + description: Time when the workflow last update + type: string + format: date-time + has_error: + description: True if there an error occured + type: boolean + ServicesGetStatusResponse: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + description: + type: string + state: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: vc/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + description: + type: string + state: + type: string + ServicesUpgradeBillingTermsResponse: + type: object + properties: + message: + type: string + ServicesGetUpgradeOptionsResponse: + type: object + properties: + upgrade_available: + description: Flag indicating whether or not the interface can be upgraded. + type: boolean + example: false + product_type: + description: Type of the product + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + - metro_dedicated + subscription_term: + description: Subscription term in months + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: Link speed + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + ServicesDeleteBurstResponse: + type: object + properties: + message: + type: string + example: VC burst deleted successfully + ServicesAddSpeedBurstResponse: + type: object + properties: + message: + type: string + example: VC burst upgrade started + ServicesCreateBackboneVcResponse: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per interface + + * evpl-untagged is used when either Source or Destination interface + has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + flex_bandwidth_id: + description: >- + ID of the flex bandwidth container from which to subtract this VC's + speed + type: string + example: PF-AB-3653 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + user_created: + description: Email of the user that created the vc + type: string + user_updated: + description: Email of the user that last modified the vc + type: string + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + ServicesCreate3RdPartyVcResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + CloudServicesAwsRequestCloudConnectionResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + CloudServicesAzureRequestHostedConnectionResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + CloudServicesGoogleCloudRequestHostedConnectionResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + CloudServicesOracleRequestHostedConnectionResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + IpsecGetResponse: + type: object + properties: + circuit_id: + description: The circuit ID of the IPsec connection. + type: string + customer_gateway_address: + description: The customer-defined gateway address. + type: string + local_gateway_address: + description: The PF-side gateway address. + type: string + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + description: The pre-shared key for this connection. + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + IpsecPatchResponse: + type: object + properties: + circuit_id: + description: The circuit ID of the IPsec connection. + type: string + customer_gateway_address: + description: The customer-defined gateway address. + type: string + local_gateway_address: + description: The PF-side gateway address. + type: string + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + description: The pre-shared key for this connection. + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + CloudRouterIPsecCheckGatewayAddressUniquenessResponse: + type: object + properties: + status: + type: boolean + example: true + ServicesCreateIxVcResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + ServicesListVcRequestsResponse: + type: array + items: + allOf: + - type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: >- + Subscription term in months. Not applicable for hourly + billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one logical + interface on the requesting customer's port and that single + logical interface is untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: >- + The number of times to prepend the AS path for the + prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + description: >- + Circuit ID of the flex bandwidth container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + ServicesDeleteRequestResponse: + type: object + properties: + message: + description: Whether deletion succeeded or not + type: string + example: Successfully deleted the service request + ServicesGetByUuidResponse: + allOf: + - type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: >- + Subscription term in months. Not applicable for hourly + billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one logical + interface on the requesting customer's port and that single + logical interface is untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + description: >- + Circuit ID of the flex bandwidth container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + ProvisionServiceResponse: + type: object + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per interface + + * evpl-untagged is used when either Source or Destination interface + has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + CloudServicesAwsProvisionHostedResponse: + type: object + properties: + description: + description: User friendly description + type: string + example: DA1 to DA1 (name) + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-BC-DA1-DA1-1234567 + customer_uuid: + description: The UUID for the customer associated with this Virtual Circuit + type: string + format: uuid + state: + description: Circuit's current state + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + service_type: + description: Type of the service + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + service_class: + description: Service class applies to dedicated connections only + type: string + enum: + - metro + - longhaul + mode: + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per interface + + * evpl-untagged is used when either Source or Destination interface + has no VLAN specified + type: string + enum: + - epl + - evpl + - evpl-untagged + connected: + description: Current connection status + type: boolean + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + time_created: + description: Date and time of circuit creation + type: string + format: date-time + time_updated: + description: Date and time of the last update + type: string + format: date-time + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionResponse: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + ServicesRejectRequestResponse: + allOf: + - type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: >- + Subscription term in months. Not applicable for hourly + billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one logical + interface on the requesting customer's port and that single + logical interface is untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + description: >- + Circuit ID of the flex bandwidth container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + SVlanLabelsCreateLabelResponse: + type: object + properties: + description: + description: name for the label + type: string + uuid: + description: unique identifier for this SVlan label + type: string + format: uuid + svlan_id: + description: the SVlan associated with this label + type: integer + example: 1357 + port_circuit_id: + description: Port circuit ID + type: string + example: PF-AP-WDC1-10000 + SVlanLabelsGetLabelsForPortResponse: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + description: + description: name for the label + type: string + uuid: + description: unique identifier for this SVlan label + type: string + format: uuid + svlan_id: + description: the SVlan associated with this label + type: integer + example: 1357 + port_circuit_id: + description: Port circuit ID + type: string + example: PF-AP-WDC1-10000 + SVlanLabelsGetLabelsResponse: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + description: + description: name for the label + type: string + uuid: + description: unique identifier for this SVlan label + type: string + format: uuid + svlan_id: + description: the SVlan associated with this label + type: integer + example: 1357 + port_circuit_id: + description: Port circuit ID + type: string + example: PF-AP-WDC1-10000 + SVlanLabelsDeleteLabelResponse: + type: object + properties: + message: + type: string + example: SVlan label deleted successfully + SVlanLabelsUpdateLabelByUuidResponse: + type: object + properties: + description: + description: name for the label + type: string + uuid: + description: unique identifier for this SVlan label + type: string + format: uuid + svlan_id: + description: the SVlan associated with this label + type: integer + example: 1357 + port_circuit_id: + description: Port circuit ID + type: string + example: PF-AP-WDC1-10000 + UsersGetListResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + UserPostResponse: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + UsersDeleteUserResponse: + type: object + properties: + message: + type: string + example: User deleted + UsersGetUserDetailsByLoginResponse: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + UserPatchResponse: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + UsersGetDetailsByUuidResponse: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + UsersListUserGroupsResponse: + type: array + items: + description: Group name + type: string + example: + - admin + - regular + UsersDeleteFromGroupResponse: + type: object + properties: + message: + type: string + example: User deleted from the group + UsersAddToGroupResponse: + type: object + properties: + message: + type: string + example: User successfully added to group + UsersRequestPasswordResetResponse: + type: object + properties: + message: + type: string + example: You'll receive an email with instructions to reset your password + UsersSetNewPasswordResponse: + type: object + properties: + message: + type: string + example: Password reset + UsersUpdatePasswordResponse: + type: object + properties: + message: + type: string + example: Password reset + MultiFactorAuthenticationGenerateSecretScratchCodesResponse: + type: object + properties: + secret: + description: secret used to setup multi-factor authentication apps + type: string + example: HAZWMZRXME4DALJUGEYDALJUGYZWILJZHBRDGLLDHBTGGZJRHFRTEYRYMI + codes: + description: Single-use scratch codes + type: array + minItems: 3 + items: + type: string + example: + - '123456' + - '654321' + - 72839 + MultiFactorAuthenticationEnableUserAuthResponse: + type: object + properties: + message: + type: string + MultiFactorAuthenticationDisableUserMfaResponse: + type: object + properties: + message: + type: string + MultiFactorAuthenticationGenerateQrCodeImageResponse: + type: string + format: binary + TeamSignupListInvitedUsersResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the invitation + type: string + format: uuid + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: Flag indicating that user has finished with signup process + type: boolean + time_created: + description: Date and time of user signup object creation + type: string + format: date-time + time_updated: + description: Date and time user signup object was last updated + type: string + format: date-time + user_time_created: + description: Date and time user account has been created + type: string + format: date-time + user_created: + description: Flag indicating that user account has been created + type: boolean + TeamSignupSendInvitationEmailsResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the invitation + type: string + format: uuid + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + email_sent: + description: >- + Flag indicating that the invitation email has been successfully + sent + type: boolean + TeamSignupGetDetailsResponse: + type: array + items: + type: object + properties: + uuid: + description: UUID of the invitation + type: string + format: uuid + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: Flag indicating that user has finished with signup process + type: boolean + time_created: + description: Date and time of user signup object creation + type: string + format: date-time + time_updated: + description: Date and time user signup object was last updated + type: string + format: date-time + user_time_created: + description: Date and time user account has been created + type: string + format: date-time + user_created: + description: Flag indicating that user account has been created + type: boolean + TeamSignupResendInvitationResponse: + type: object + properties: + message: + type: string + example: Invitation has been resent + TeamSignupCreateUserBasedOnInvitationResponse: + type: object + properties: + uuid: + description: UUID of the user + type: string + format: uuid + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` Python + library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password will not be + reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + ObjectsGetLabelsResponse: + type: object + properties: + labels: + type: array + items: + description: Label value linked to an object + type: string + example: staging + AddObjectResponse: + type: object + properties: + labels: + type: array + items: + description: Label value actually linked to the object + type: string + example: staging + UpdateObjectResponse: + type: object + properties: + labels: + type: array + items: + description: Label value actually linked to the object + type: string + example: staging + OutboundCrossConnectsListResponse: + type: array + items: + type: object + properties: + description: + description: PacketFabric outbound cross connect description + type: string + example: Cross connect for a demo + port: + description: port_circuit_id to use for the cross connect + type: string + example: PF-AP-SFO1-58 + site: + description: site_code for the port location + type: string + example: DR-ATL1 + document_uuid: + description: Document uuid for the LOA + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + outbound_cross_connect_id: + description: Outbound cross connect id + type: string + example: TPOCC-15 + circuit_id: + description: Outbound cross connect circuit id + type: string + example: PF-OBCC-1234 + obcc_status: + description: Outbound cross connect status + type: string + example: In Progress + user_description: + description: Customer outbound cross connect description + type: string + example: Cross connect for a user's demo + destination_name: + description: Z-side company name for the far side of the cross connect + type: string + example: Destination company name + destination_circuit_id: + description: Z-side circuit id for the far side of the cross connect + type: string + example: Destination circuit id + panel: + description: Z-side fiber panel info + type: string + example: Panel + module: + description: Z-side fiber module info + type: string + example: Module + position: + description: Z-side fiber position info + type: string + example: Position + data_center_cross_connect_id: + description: Display id for the obcc + type: string + example: SUPER-COOL-NAME + progress: + description: Percent completion status of the cross connect + type: integer + example: 10 + deleted: + description: Has this outbound cross connect been deleted + type: boolean + example: false + z_loc_cfa: + description: Multiline string with fiber position info + type: string + example: | + Panel + Module + Position + time_created: + description: Outbound cross connected creation time + type: string + format: date-time + example: '2020-05-12 01:10:03' + time_updated: + description: Outbound cross connect last updated time + type: string + format: date-time + example: '2020-05-12 01:12:03' + OutboundCrossConnectsCreateNewResponse: + type: object + properties: + message: + description: >- + This message lets you know that the cross connect has started + provisioning. + type: string + example: Outbound Cross Connect is being created + OutboundCrossConnectsGetOneResponse: + type: object + properties: + description: + description: PacketFabric outbound cross connect description + type: string + example: Cross connect for a demo + port: + description: port_circuit_id to use for the cross connect + type: string + example: PF-AP-SFO1-58 + site: + description: site_code for the port location + type: string + example: DR-ATL1 + document_uuid: + description: Document uuid for the LOA + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + outbound_cross_connect_id: + description: Outbound cross connect id + type: string + example: TPOCC-15 + circuit_id: + description: Outbound cross connect circuit id + type: string + example: PF-OBCC-1234 + obcc_status: + description: Outbound cross connect status + type: string + example: In Progress + user_description: + description: Customer outbound cross connect description + type: string + example: Cross connect for a user's demo + destination_name: + description: Z-side company name for the far side of the cross connect + type: string + example: Destination company name + destination_circuit_id: + description: Z-side circuit id for the far side of the cross connect + type: string + example: Destination circuit id + panel: + description: Z-side fiber panel info + type: string + example: Panel + module: + description: Z-side fiber module info + type: string + example: Module + position: + description: Z-side fiber position info + type: string + example: Position + data_center_cross_connect_id: + description: Display id for the obcc + type: string + example: SUPER-COOL-NAME + progress: + description: Percent completion status of the cross connect + type: integer + example: 10 + deleted: + description: Has this outbound cross connect been deleted + type: boolean + example: false + z_loc_cfa: + description: Multiline string with fiber position info + type: string + example: | + Panel + Module + Position + time_created: + description: Outbound cross connected creation time + type: string + format: date-time + example: '2020-05-12 01:10:03' + time_updated: + description: Outbound cross connect last updated time + type: string + format: date-time + example: '2020-05-12 01:12:03' + PtpServicesDeletePointToPointResponse: + type: object + properties: + message: + type: object + PtpServicesGetServiceInfoResponse: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + description: + type: string + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + description: Email of the user that created the ptp + type: string + format: email + user_updated: + description: Email of the user that last modified the ptp + type: string + format: email + deleted: + description: Is PTP deleted + type: boolean + service_class: + description: The service class for the associated VC of this PTP. + type: string + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + PtpServicesUpdateDescriptionResponse: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + description: + type: string + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + description: Email of the user that created the ptp + type: string + format: email + user_updated: + description: Email of the user that last modified the ptp + type: string + format: email + deleted: + description: Is PTP deleted + type: boolean + service_class: + description: The service class for the associated VC of this PTP. + type: string + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + PtpServicesGetAllResponse: + type: array + items: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + description: + type: string + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + description: Email of the user that created the ptp + type: string + format: email + user_updated: + description: Email of the user that last modified the ptp + type: string + format: email + deleted: + description: Is PTP deleted + type: boolean + service_class: + description: The service class for the associated VC of this PTP. + type: string + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + PtpServicesCreateServiceResponse: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + description: + type: string + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + description: Email of the user that created the ptp + type: string + format: email + user_updated: + description: Email of the user that last modified the ptp + type: string + format: email + deleted: + description: Is PTP deleted + type: boolean + service_class: + description: The service class for the associated VC of this PTP. + type: string + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a cloud + connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part of a + Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + PtpServicesGetServiceStatusResponse: + type: object + required: + - instance_id + - instance_type + - state + - all_state_descriptions + - all_states + properties: + instance_id: + type: string + format: uuid + instance_type: + type: string + enum: + - PointToPoint + state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_states: + type: array + items: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_state_descriptions: + type: object + properties: + Requested: {} + IFDsCreated: {} + VCCreated: {} + BillingAdded: {} + Testing: {} + BillingEnabled: {} + Active: {} + ReservationRemoved: {} + BillingRemoved: {} + IFLsDestroyed: {} + VCDestroyed: {} + IFDsDestroyed: {} + Inactive: {} + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + required: + - error_message + - time_created + properties: + error_message: + type: string + time_created: + type: string + format: date-time + current_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + current_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination ports are + being provisioned. + - >- + Source and destination ports created. EPL virtual circuit is + being provisioned. + - EPL virtual circuit created. Billing is being set up. + - >- + Billing set up. Point-to-Point is ready for testing and + activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - Point-to-Point point-to-point connection is active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the virtual circuit + will be deleted. + - >- + Virtual circuit logical interfaces deleted. Virtual circuit + will be deleted. + - >- + Virtual circuit deleted. Source and destination ports will + be deleted. + - >- + Source and destination ports deleted. Point-to-Point will be + set to inactive and deleted. + - Point-to-Point is inactive. + next_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + next_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination ports are + being provisioned. + - >- + Source and destination ports created. EPL virtual circuit is + being provisioned. + - EPL virtual circuit created. Billing is being set up. + - >- + Billing set up. Point-to-Point is ready for testing and + activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - Point-to-Point point-to-point connection is active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the virtual circuit + will be deleted. + - >- + Virtual circuit logical interfaces deleted. Virtual circuit + will be deleted. + - >- + Virtual circuit deleted. Source and destination ports will + be deleted. + - >- + Source and destination ports deleted. Point-to-Point will be + set to inactive and deleted. + - Point-to-Point is inactive. + transition: + type: string + enum: + - doCreateIFDs + - doCreateVC + - doAddBilling + - doRemoveReservation + - doActivate + - doRemoveBilling + - doDestroyVC + - doDestroyIFDs + - doInactivate + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + has_error: + type: boolean + PtpServicesGetServiceStatus200Response: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + description: + type: string + state: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: ptp/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + description: + type: string + state: + type: string + PtpServicesUpgradePtpUuidResponse: + type: object + properties: + message: + type: object + PtpServicesGetUpgradeOptionsResponse: + type: object + required: + - upgrade_available + - subscription_term + properties: + upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + CloudRoutersListAssociatedResponse: + type: array + items: + type: object + properties: + circuit_id: + description: The Circuit ID of the instance. + type: string + example: PF-L3-CUST-2 + asn: + description: The ASN of the instance. + type: integer + example: 4556 + name: + description: The name of this particular CR. + type: string + example: Super Cool Cloud router + capacity: + description: The total capacity of this particular Cloud Router. + type: string + example: 10Gbps + regions: + type: array + items: + type: object + properties: + name: + description: The name of this region. + type: string + example: Continental U.S. + code: + description: The code of this region. + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRoutersCreateNewResponse: + type: object + properties: + circuit_id: + description: The Circuit ID of the instance. + type: string + example: PF-L3-CUST-2 + asn: + description: The ASN of the instance. + type: integer + example: 4556 + name: + description: The name of this particular CR. + type: string + example: Super Cool Cloud router + capacity: + description: The total capacity of this particular Cloud Router. + type: string + example: 10Gbps + regions: + type: array + items: + type: object + properties: + name: + description: The name of this region. + type: string + example: Continental U.S. + code: + description: The code of this region. + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRoutersDownloadAsCsvResponse: + type: string + format: byte + example: '[data]' + CloudRoutersDeleteRouterResponse: + type: object + properties: + message: + type: string + example: Cloud router deleted. + CloudRoutersGetByCircuitIdResponse: + type: object + properties: + circuit_id: + description: The Circuit ID of the instance. + type: string + example: PF-L3-CUST-2 + asn: + description: The ASN of the instance. + type: integer + example: 4556 + name: + description: The name of this particular CR. + type: string + example: Super Cool Cloud router + capacity: + description: The total capacity of this particular Cloud Router. + type: string + example: 10Gbps + regions: + type: array + items: + type: object + properties: + name: + description: The name of this region. + type: string + example: Continental U.S. + code: + description: The code of this region. + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRoutersUpdateExistingResponse: + type: object + properties: + circuit_id: + description: The Circuit ID of the instance. + type: string + example: PF-L3-CUST-2 + asn: + description: The ASN of the instance. + type: integer + example: 4556 + name: + description: The name of this particular CR. + type: string + example: Super Cool Cloud router + capacity: + description: The total capacity of this particular Cloud Router. + type: string + example: 10Gbps + regions: + type: array + items: + type: object + properties: + name: + description: The name of this region. + type: string + example: Continental U.S. + code: + description: The code of this region. + type: string + example: US + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRouterThirdPartyListImportRequestsResponse: + type: array + items: + type: object + properties: + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + description: The Circuit ID of the source Cloud Router + type: string + example: PF-L3-CUST-19873 + customer_name: + description: The customer that initiated this Cloud Router Import Request. + type: string + example: Example Customer + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + description: Shows the state of this import. + type: string + example: active + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + request_type: + description: Type of the Cloud Router Import Request. + type: string + enum: + - sent + - received + rejection_reason: + description: The reason for the rejection. + type: string + example: Return filters are too broad. + connection_speed: + description: The speed of the target cloud router connection. + type: string + example: 1Gbps + from_customer: + description: The details of the customer the cloud router request is from + type: object + properties: + customer_uuid: + description: The UUID of the customer making the cloud router request + type: string + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + description: The name of the customer making the cloud router request + type: string + example: James Bond + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + localpref: + description: The localpref of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + asprepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + localpref: + description: The localpref of the Return Filter. + type: integer + example: 120 + pending_approval: + description: >- + Indicates whether the provider has not approved the return + filter + type: boolean + example: false + CloudRouterThirdPartyDeleteRequestResponse: + type: object + properties: + message: + description: Operation status + type: string + example: The Cloud Router Import Request has been deleted. + CloudRouterThirdPartyImportsRequestGetResponse: + type: object + properties: + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + description: The Circuit ID of the source Cloud Router + type: string + example: PF-L3-CUST-19873 + customer_name: + description: The customer that initiated this Cloud Router Import Request. + type: string + example: Example Customer + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + description: Shows the state of this import. + type: string + example: active + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + request_type: + description: Type of the Cloud Router Import Request. + type: string + enum: + - sent + - received + rejection_reason: + description: The reason for the rejection. + type: string + example: Return filters are too broad. + connection_speed: + description: The speed of the target cloud router connection. + type: string + example: 1Gbps + from_customer: + description: The details of the customer the cloud router request is from + type: object + properties: + customer_uuid: + description: The UUID of the customer making the cloud router request + type: string + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + description: The name of the customer making the cloud router request + type: string + example: James Bond + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + localpref: + description: The localpref of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + asprepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + localpref: + description: The localpref of the Return Filter. + type: integer + example: 120 + pending_approval: + description: >- + Indicates whether the provider has not approved the return + filter + type: boolean + example: false + CloudRouterThirdPartyAcceptImportCircuitResponse: + type: object + properties: + message: + description: Operation status + type: string + example: The Cloud Router Import Request has been accepted. + CloudRouterThirdPartyRejectImportCircuitResponse: + type: object + properties: + message: + description: Operation status + type: string + example: The Cloud Router Import Request has been rejected. + CloudRouterBgpSessionSettingsListBgpSessionsResponse: + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + l3_address: + description: >- + The L3 Address of this instance. For Azure, this needs to be the + subnet. + type: string + example: 10.0.0.1/30 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 + through 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + description: List of bgp prefixes + type: array + items: + type: object + properties: + bgp_prefix_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: The BGP prepend value of this prefix. + type: integer + example: 1 + med: + description: The MED of this prefix. + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The source IP address + mask of the NAT pool prefix. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. Output is the default. + type: string + enum: + - output + - input + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - inline_dnat + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + description: The private prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + public_prefix: + description: The public prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + bgp_state: + description: The current state of this BGP session on the device. + type: string + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + CloudRouterBgpSessionSettingsCreateL3InfoResponse: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + l3_address: + description: >- + The L3 Address of this instance. For Azure, this needs to be the + subnet. + type: string + example: 10.0.0.1/30 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 through + 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + description: List of bgp prefixes + type: array + items: + type: object + properties: + bgp_prefix_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: The BGP prepend value of this prefix. + type: integer + example: 1 + med: + description: The MED of this prefix. + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The source IP address + mask of the NAT pool prefix. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. Output is the default. + type: string + enum: + - output + - input + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - inline_dnat + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + description: The private prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + public_prefix: + description: The public prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + bgp_state: + description: The current state of this BGP session on the device. + type: string + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + CloudRouterBgpSessionSettingsUpdateSessionInfoResponse: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + l3_address: + description: >- + The L3 Address of this instance. For Azure, this needs to be the + subnet. + type: string + example: 10.0.0.1/30 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 through + 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + description: List of bgp prefixes + type: array + items: + type: object + properties: + bgp_prefix_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: The BGP prepend value of this prefix. + type: integer + example: 1 + med: + description: The MED of this prefix. + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The source IP address + mask of the NAT pool prefix. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. Output is the default. + type: string + enum: + - output + - input + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - inline_dnat + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + description: The private prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + public_prefix: + description: The public prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + bgp_state: + description: The current state of this BGP session on the device. + type: string + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + CloudRouterBgpSessionSettingsDeleteSingleSessionResponse: + type: object + properties: + message: + type: string + example: BGP Settings deleted successfully + CloudRouterBgpSessionSettingsGetSingleSessionResponse: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + description: Whether this instance is IPv4 or IPv6. + type: string + example: v4 + enum: + - v4 + - v6 + remote_address: + description: The cloud-side address of the instance. + type: string + example: 10.0.0.1 + l3_address: + description: >- + The L3 Address of this instance. For Azure, this needs to be the + subnet. + type: string + example: 10.0.0.1/30 + remote_asn: + description: The cloud-side ASN of the instance. + type: integer + example: 4556 + multihop_ttl: + description: The TTL of this session. Defaults to 1. + type: integer + example: 1 + local_preference: + description: The preference for this instance. + type: integer + example: 1 + community: + description: The BGP community for this instance. + type: integer + example: 1 + as_prepend: + description: The BGP prepend value for this instance. + type: integer + example: 1 + med: + description: The Multi-Exit Discriminator of this instance. + type: integer + example: 1 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + description: Whether to use exact match or longer for all prefixes. + type: boolean + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD Control + packets. Available range is 3 through 30000. + type: integer + example: 300 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a neighbor that + causes the session to be declared down. Available range is 2 through + 16. + type: integer + example: 3 + disabled: + description: Whether this BGP session is disabled. + type: boolean + default: false + prefixes: + description: List of bgp prefixes + type: array + items: + type: object + properties: + bgp_prefix_uuid: + description: The UUID of the instance. + type: string + format: uuid + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + description: The actual IP Prefix of this instance. + type: string + example: 10.0.0.1/32 + match_type: + description: The match type of this prefix. + type: string + enum: + - exact + - orlonger + default: exact + as_prepend: + description: The BGP prepend value of this prefix. + type: integer + example: 1 + med: + description: The MED of this prefix. + type: integer + example: 10 + local_preference: + description: The local_preference of this prefix. + type: integer + example: 120 + type: + description: Whether this prefix is in or out. + type: string + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + description: >- + The source IP address + mask of the host before NAT + translation. + type: string + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + description: The source IP address + mask of the NAT pool prefix. + type: string + example: 10.0.0.0/32 + direction: + description: The direction of the NAT connection. Output is the default. + type: string + enum: + - output + - input + nat_type: + description: The NAT type of the NAT connection. + type: string + enum: + - overload + - inline_dnat + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + description: The private prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + public_prefix: + description: The public prefix of this DNAT mapping. + type: string + example: 10.0.0.0/32 + conditional_prefix: + description: The conditional_prefix prefix of this DNAT mapping. + type: string + example: 10.0.0.0/24 + bgp_state: + description: The current state of this BGP session on the device. + type: string + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + CloudRouterConnectionsListForCircuitResponse: + type: array + items: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: >- + The type of connection, this will currently always be + cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session + with the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: >- + A list of bgp sessions attached to the connection and their + states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsDownloadCsvResponse: + type: string + format: byte + example: '[data]' + CloudRouterConnectionsCheckBgpAddressUniqueResponse: + type: object + properties: + remote_unique: + description: Indicates whether the remote address is unique. + type: boolean + nullable: true + l3_unique: + description: Indicates whether the l3 address is unique. + type: boolean + nullable: true + pool_prefix_unique: + description: Indicates whether the pool prefix is unique. + type: boolean + nullable: true + CloudRouterConnectionsListAllResponse: + type: array + items: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: >- + The type of connection, this will currently always be + cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session + with the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: >- + A list of bgp sessions attached to the connection and their + states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsDeleteByCircuitConnectionIdResponse: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + CloudRouterConnectionsGetSingleByCircuitIdResponse: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + example: 1500 + aws_dx_location: + description: Location of the AWS Connection. + type: string + example: TLXA1 + aws_dx_bandwidth: + description: Bandwidth of the AWS Connection. + type: string + example: 50Mbps + aws_dx_jumbo_frame_capable: + description: Indicates whether jumbo frames (9001 MTU) are supported. + type: boolean + aws_dx_aws_device: + description: The device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + description: The version 2 device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + description: The logical device id of the AWS Connection. + type: string + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + description: >- + Indicates whether the connection supports a secondary BGP peer + in the same address family (IPv4/IPv6). + type: boolean + aws_dx_mac_sec_capable: + description: Indicates whether the connection supports MAC Security (MACsec). + type: boolean + aws_dx_encryption_mode: + description: The MAC Security (MACsec) connection encryption mode. + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + example: no_encrypt + aws_vif_type: + description: The type of virtual interface. + type: string + enum: + - private + - public + - transit + example: private + aws_vif_id: + description: The ID of the virtual interface. + type: string + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + description: The ID of the BGP peer. + type: string + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + description: The ID of the DirectConnect Gateway. + type: string + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_region: + description: The Google region of this connection. + type: string + example: us-west1 + google_project_id: + description: The Google project ID of this connection. + type: string + google_edge_availability_domain: + description: The Availability Domain of this connection. + type: integer + example: 1 + google_dataplane_version: + description: The Google Dataplane Version. + type: integer + example: 4 + google_interface_name: + description: The Google Interface Name. + type: string + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + description: The state of the connection. + type: string + example: available + aws_dx_port_encryption_status: + description: >- + The MAC Security (MACsec) port link status of the + connection. + type: string + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + description: The state of the virtual interface. + type: string + example: available + google_interconnect_state: + description: The stat of the Interconnect + type: string + example: Active + google_interconnect_admin_enabled: + description: Whether the Interconncet is admin enabled. + type: boolean + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + description: (AWS) An array of prefixes that will be advertised. + type: array + items: + type: string + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + google_keepalive_interval: + description: (Google) The Keepalive Interval of this connection. + type: integer + example: 40 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsUpdateConnectionResponse: + type: array + items: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: >- + The type of connection, this will currently always be + cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session + with the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: >- + A list of bgp sessions attached to the connection and their + states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsGetByCircuitIdResponse: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + example: 1500 + aws_dx_location: + description: Location of the AWS Connection. + type: string + example: TLXA1 + aws_dx_bandwidth: + description: Bandwidth of the AWS Connection. + type: string + example: 50Mbps + aws_dx_jumbo_frame_capable: + description: Indicates whether jumbo frames (9001 MTU) are supported. + type: boolean + aws_dx_aws_device: + description: The device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + description: The version 2 device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + description: The logical device id of the AWS Connection. + type: string + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + description: >- + Indicates whether the connection supports a secondary BGP peer + in the same address family (IPv4/IPv6). + type: boolean + aws_dx_mac_sec_capable: + description: Indicates whether the connection supports MAC Security (MACsec). + type: boolean + aws_dx_encryption_mode: + description: The MAC Security (MACsec) connection encryption mode. + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + example: no_encrypt + aws_vif_type: + description: The type of virtual interface. + type: string + enum: + - private + - public + - transit + example: private + aws_vif_id: + description: The ID of the virtual interface. + type: string + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + description: The ID of the BGP peer. + type: string + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + description: The ID of the DirectConnect Gateway. + type: string + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + description: The Google Cloud Router Attachment name. No whitespace allowed. + type: string + example: google-router-name + google_region: + description: The Google region of this connection. + type: string + example: us-west1 + google_project_id: + description: The Google project ID of this connection. + type: string + google_edge_availability_domain: + description: The Availability Domain of this connection. + type: integer + example: 1 + google_dataplane_version: + description: The Google Dataplane Version. + type: integer + example: 4 + google_interface_name: + description: The Google Interface Name. + type: string + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + description: The state of the connection. + type: string + example: available + aws_dx_port_encryption_status: + description: >- + The MAC Security (MACsec) port link status of the + connection. + type: string + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + description: The state of the virtual interface. + type: string + example: available + google_interconnect_state: + description: The stat of the Interconnect + type: string + example: Active + google_interconnect_admin_enabled: + description: Whether the Interconncet is admin enabled. + type: boolean + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + description: (AWS) An array of prefixes that will be advertised. + type: array + items: + type: string + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + google_keepalive_interval: + description: (Google) The Keepalive Interval of this connection. + type: integer + example: 40 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsDeleteConnectionResponse: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + CloudRouterThirdPartyCreateRequestResponse: + type: object + properties: + vc_request_uuid: + description: ID of the service request. + type: string + format: uuid + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + description: Virtual Circuit ID + type: string + example: PF-DC-SMF-PDX-12345 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + contact_first_name: + description: Customer contact first name + type: string + example: James + contact_last_name: + description: Customer contact last name + type: string + example: Bond + contact_email: + description: Customer contact email + type: string + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + description: Customer ID + type: string + format: uuid + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + description: Customer Name + type: string + example: Vandelay Industries + status: + description: Current status of the service request. + type: string + enum: + - pending + - provisioned + - rejected + request_type: + description: The type of service being requested + type: string + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: Vandelay Industries would like to connect with you in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + description: UUID of the billed user's account + type: string + format: uuid + subscription_term: + description: Subscription term in months. Not applicable for hourly billing. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + longhaul_type: + description: >- + Dedicated (no limits or additional charges), usage-based (per + transfered GB) pricing model or hourly billing + type: string + enum: + - dedicated + - usage + - hourly + speed: + description: >- + Link speed. Values for hourly (burst) billing accepts multiples + of 100Mbps. + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + rate_limit_in: + description: The upper bound, in Mbps, to limit incoming data by. + type: integer + format: int64 + example: 1000 + rate_limit_out: + description: The upper bound, in Mbps, to limit outgoing data by. + type: integer + format: int64 + example: 1000 + service_name: + description: Name of the service being requested + type: string + example: Example Service + allow_untagged_z: + description: >- + If true, the accepting customer can choose to make this VC untagged. + This will only be False if there is only one logical interface on + the requesting customer's port and that single logical interface is + untagged. + type: boolean + aggregate_capacity_id: + description: >- + Circuit ID of the aggregate capacity container with which this + request is associated. This field will only be included for VC + requests that you created. + type: string + example: PF-AB-1234 + deprecated: true + prefixes: + description: >- + The prefixes the customer wants to advertise to the marketplace + service. Only present for requests of request_type + marketplace_cloud_router_connection. + type: array + items: + type: object + properties: + prefix: + description: The prefix to be advertised to the marketplace service. + type: string + example: 10.0.0.0/32 + match_type: + description: The match type for the prefix. + type: string + enum: + - exact + - orlonger + as_prepend: + description: The number of times to prepend the AS path for the prefix. + type: integer + med: + description: The MED to be advertised for the prefix. + type: integer + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time request was created + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + time_updated: + description: Date and time request was last updated + type: string + format: date-time + example: '2016-01-11T08:30:00+00:00' + CloudRouterConnectionsCreateAwsConnectionResponse: + type: object + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: The circuit ID of the customer's Port. + type: string + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + description: The circuit ID of the cloud on-ramp Port. + type: string + example: PF-AP-LAX1-1002 + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + public_ip: + description: The publically allocated IP for this connection, if present. + type: string + uuid: + description: The UUID of the new instance. + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + aws_region: + description: The region this connection to AWS is in. + type: string + example: us-west-1 + aws_hosted_type: + description: The type of connection. + type: string + example: hosted-connection + aws_connection_id: + description: The AWS connection ID. + type: string + example: dxlag-fgk8etlc + aws_account_id: + description: The customer AWS Account ID. + type: string + example: 123456789120 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: Requested + billing: + type: object + properties: + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + description: The subscription term, in months, of this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + CloudRouterConnectionsCreateAwsConnection201Response: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsCreateAzureConnectionResponse: + type: object + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: The circuit ID of the customer's Port. + type: string + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + description: The circuit ID of the cloud on-ramp Port. + type: string + example: PF-AP-LAX1-1002 + description: + description: The description of this connection. + type: string + example: Azure ExpressRoute Hosted connection for Foo Corp + uuid: + description: The UUID of the new instance. + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - azure + port_type: + description: The type of port, either dedicated or hosted. + type: string + example: hosted + settings: + type: object + properties: + vlan_private: + description: The private peering vlan + type: integer + example: 6 + vlan_microsoft: + description: The Microsoft peering vlan. + type: integer + example: 7 + azure_service_key: + description: The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: The service (outer) vlan provided by Azure + type: integer + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: Requested + billing: + type: object + properties: + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + description: The subscription term, in months, of this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + CloudRouterConnectionsCreateAzureExpressRouteConnectionResponse: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsCreateGoogleConnectionResponse: + type: object + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: The circuit ID of the customer's Port. + type: string + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + description: The circuit ID of the cloud on-ramp Port. + type: string + example: PF-AP-LAX1-1002 + description: + description: The description of this connection. + type: string + example: AWS Hosted connection for Foo Corp + uuid: + description: The UUID of the new instance. + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - google + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + google_pairing_key: + description: The customer provided google pairing key. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_cust: + description: The customer provided Vlan for this connection. + type: integer + example: 6 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: Requested + billing: + type: object + properties: + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + description: The subscription term, in months, of this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + CloudRouterConnectionsCreateGoogleConnection201Response: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsCreateIbmConnectionResponse: + type: object + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: The circuit ID of the customer's Port. + type: string + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + description: The circuit ID of the cloud on-ramp Port. + type: string + example: PF-AP-LAX1-1002 + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The UUID of the new instance. + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - ibm + port_type: + description: The type of port, either dedicated or hosted. + type: string + example: hosted + settings: + type: object + properties: + account_id: + description: The customer IBM account ID + type: string + example: 57a7d05f36894e3cb9b46a43556d903e + gateway_id: + description: The newly created IBM gateway ID + type: string + format: uuid + example: 61c3a9d5-41e8-41f8-bbb4-7eae94dbb006 + port_id: + description: The cloud on-ramp port ID + type: string + format: uuid + example: 6cf0c5e4-de27-4a5e-9cbc-47e8b0701949 + name: + description: The name of this IBM gateway + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + example: 64999 + bgp_cer_cidr: + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + example: 10.254.30.77/30 + vlan_id_cust: + type: integer + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + billing: + type: object + properties: + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + description: The subscription term, in months, of this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + CloudRouterConnectionsCreateIbmConnection201Response: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsCreateIpsecConnectionResponse: + type: object + properties: + description: + description: The description of this connection. + type: string + example: Test description + vc_circuit_id: + description: The circuit ID of the VC for this connection. + type: string + circuit_id: + description: The circuit ID of the IPSec connection. + type: string + customer_gateway_address: + description: The customer-defined gateway address. + type: string + local_gateway_address: + description: The PF-side gateway address. + type: string + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + description: The pre-shared key for this connection. + type: string + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + description: The location for the new connection. + type: string + example: DAL1 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + CloudRouterConnectionsCreateOracleConnectionResponse: + type: object + properties: + components: + type: object + properties: + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + description: OCID for the Oracle VC used in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + bandwidth: + description: The provisioned data rate of the connection. + type: string + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + description: The state of the BGP session associated with the Oracle VC. + type: string + enum: + - DOWN + - UP + compartment_id: + description: The OCID of the compartment containing the Oracle VC. + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + description: >- + The key for BGP MD5 authentication. Only applicable if + your system requires MD5 authentication. + type: string + cross_connect_or_cross_connect_group_id: + description: >- + The OCID of the cross-connect or cross-connect group + for this mapping. + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + description: >- + The BGP IPv4 address for the router on the + PacketFabric end of the BGP session. + type: string + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + description: >- + The BGP IPv6 address for the router on the + PacketFabric end of the BGP session. + type: string + oracle_bgp_peering_ip: + description: The IPv4 address for Oracle's end of the BGP session. + type: string + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + description: The IPv6 address for Oracle's end of the BGP session. + type: string + vlan: + description: >- + The number of the VLAN that is assigned to this Oracle + VC. + type: integer + format: int64 + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + description: >- + The BGP ASN of the network at the PacketFabric end of the + BGP session. + type: integer + format: int64 + example: 5555 + gateway_id: + description: >- + The OCID of the customer's dynamic routing gateway (DRG) + that this Oracle VC uses. + type: string + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + description: The Oracle VC's current state. + type: string + enum: + - PROVISIONING + - PENDING_PROVIDER + - VERIFYING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + description: The Oracle BGP ASN + type: integer + format: int64 + example: 31898 + provider_state: + description: >- + PacketFabric's state in relation to this Oracle VC. ACTIVE + means PacketFabric has provisioned the VC. INACTIVE means + PacketFabric has not yet provisioned the VC, or has + de-provisioned it. + type: string + enum: + - ACTIVE + - INACTIVE + ifd_port_circuit_id_cust: + description: The circuit ID of the customer's Port. + type: string + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + description: The circuit ID of the cloud on-ramp Port. + type: string + example: PF-AP-LAX1-1002 + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The UUID of the new instance. + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - oracle + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + - dedicated + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + settings: + type: object + properties: + region: + description: The Oracle region for this connection. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: OCID for the Oracle VC to use in this hosted connection. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: >- + The OCID of the Oracle cross-connect or cross-connect group for + this mapping. + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + port_compartment_ocid: + description: >- + The OCID of the Oracle compartment containing the virtual + circuit. + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaa7izqu3guurglgo3xhpr4otzye4a6bydaxvuigjt3nf2yxbw4mzaa + vlan_id_cust: + type: integer + example: 7 + vlan_id_pf: + type: integer + example: 3000 + billing: + type: object + properties: + account_uuid: + description: The UUID of the contact that will be billed. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + description: The subscription term, in months, of this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + CloudRouterConnectionsCreateOracleConnection201Response: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsAttachPortResponse: + type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + connection_type: + description: The type of the connection. + type: string + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + description: The circuit ID of the port to connect to the cloud router. + type: string + example: PF-AE-1234 + pending_delete: + description: Whether or not the connection is currently deleting. + type: boolean + deleted: + description: Whether or not the connection has been fully deleted. + type: boolean + example: false + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + description: The state of the connection + type: string + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The UUID of the billing contact. + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + description: The service class of the connection. + type: string + enum: + - metro + - longhaul + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + description: The type of connection, this will currently always be cr_connection. + type: string + enum: + - cr_connection + uuid: + description: The UUID of the connection. + type: string + format: uuid + cloud_provider_connection_id: + description: >- + The cloud provider specific connection ID, eg. the Amazon connection + ID of the cloud router connection. + type: string + example: dxcon-fgadaaa1 + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + google_pairing_key: + description: (Google) The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: (Google) The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + description: >- + (Google) The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + vlan_id_private: + description: (Azure) The private peering vlan. + type: integer + vlan_id_microsoft: + description: (Azure) The Microsoft peering vlan. + type: integer + azure_service_key: + description: (Azure) The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: (Azure) The service (outer) vlan provided by Azure + type: integer + example: 4 + azure_connection_type: + description: (Azure) The connection type (primary or seconday). + type: string + example: primary + oracle_region: + description: (Oracle) The region that the new connection will connect to. + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: (Oracle) The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: (Oracle) The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: (Oracle) The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + description: (IBM) The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: (IBM) The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: (IBM) The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: (IBM) The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: (IBM) The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + (IBM) The customers IP address for their router in the BGP + session with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + (IBM) IBM's IP address for use in creating the BGP session with + the customer. + type: string + example: 10.254.30.77/30 + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + site: + description: Region short name + type: string + example: us-west-1 + cloud_router_name: + description: The name of the cloud router this connection is associated with. + type: string + example: Sample CR + cloud_router_asn: + description: The asn of the cloud router this connection is associated with. + type: integer + example: 4556 + bgp_state: + description: >- + The status of the BGP session, established, configuring, fetching, + etc. + type: string + deprecated: true + bgp_state_list: + description: A list of bgp sessions attached to the connection and their states. + type: array + items: + type: object + properties: + bgp_settings_uuid: + description: The UUID of the BGP session + type: string + bgp_state: + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + type: string + cloud_router_circuit_id: + description: >- + The circuit ID of the cloud router this connection is associated + with. + type: string + example: PF-L3-CUST-2001 + nat_capable: + description: Indicates whether this connection supports NAT. + type: boolean + dnat_capable: + description: Indicates whether this connection supports DNAT. + type: boolean + zone: + description: The zone of the connection + type: string + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + vlan: + description: The source vlan for dedicated connections + type: number + example: 6 + desired_nat: + description: Indicates the user's choice of nat type + type: string + example: overload + subscription_term: + description: Subscription term of the Cloud Router Connection + type: integer + example: 12 + service_uuid: + description: The UUID of the service this connection is connected to + type: string + format: uuid + CloudRouterConnectionsGetInstanceStatusResponse: + type: object + properties: + instance_id: + description: Cloud Connection Circuit ID + type: string + example: PF-CC-GOG-NYC-1234567 + instance_type: + description: Instance type identifier + type: string + enum: + - CloudAWS + - CloudAzure + - CloudGoogle + state: + description: The state of the connection + type: string + example: Active + all_states: + description: List of all possible workflow states + type: array + items: + type: string + example: + - Requested + - InstanceValidated + - VCCreated + - CloudProviderProvisioningPending + - CloudProviderProvisioningComplete + - SOFCreated + - BillingAdded + - CloudConnectionCreated + - Layer3InterfaceProvisioning + - RoutingInstanceProvisioning + - Active + - BillingRemoved + - CloudProviderProvisioningRemoved + - VCDestroyed + - Inactive + all_state_descriptions: + description: Descriptions for all possible states + type: object + example: + Requested: Cloud connection requested. Cloud connection is being provisioned. + InstanceValidated: Cloud connection settings validation finished. + VCCreated: EVPL virtual circuit created. Billing is being set up. + CloudProviderProvisioningPending: Notifying Azure of ExpressRoute configuration. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been completed. + Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: Billing correctly set up. Cloud connection is being activated. + CloudConnectionCreated: Cloud Router Connection has been created + Layer3InterfaceProvisioning: Layer3 interface for Cloud Router Connection is being provisioned + RoutingInstanceProvisioning: Routing instance for Cloud Router Connection is being provisioned + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports will be + deleted. + Inactive: Cloud connection is inactive. + progress: + description: Connection's current workflow progress + type: object + properties: + step_count: + description: Total number of steps in deployment workflow + type: integer + example: 5 + current_step: + description: Current workflow step + type: integer + example: 2 + time_remaining_sec: + description: Number of seconds left to finalize the workflow + type: integer + example: 20 + activity: + description: Logged activity details + type: array + items: + type: object + properties: + event: + description: Cause of the event logging this entry + type: string + example: Cloud Connection Requested + time_created: + description: Date and time the activity has occurred + type: string + format: date-time + user: + description: The login of the user which caused the activity + type: string + example: alice + current_errors: + description: '' + type: array + items: + type: object + properties: + error_message: + description: User-friendly description of the error + type: string + example: Something went wrong + log_uuid: + description: Log message ID + type: string + format: uuid + event: + description: Event caused logging this error + type: string + example: Cloud Connection Requested + time_created: + description: Date and time the error object was logged + type: string + format: date-time + CloudRouterConnectionsGetUpgradeOptionsResponse: + type: object + properties: + upgrade_available: + description: Flag to indicate if connection is upgradable + type: boolean + speed: + description: List of available speed for connection + type: array + items: + description: Connection speed + type: string + example: 1Gbps + CloudRouterBgpSessionSettingsGetConnectionBgpRoutesResponse: + type: array + items: + type: object + properties: + destination: + description: Address of the received/advertised BGP route. + type: string + example: 192.168.16.0/20 + prefix: + description: The route's prefix. + type: string + example: 192.168.16.0 + prefix_length: + description: The route's prefix length. + type: integer + example: 20 + advertised: + description: Whether the route is advertised. + type: boolean + received: + description: Whether the route is received. + type: boolean + hidden: + description: Whether the route is hidden. + type: boolean + imported: + description: Whether the route was imported + type: boolean + installed: + description: Whether the route is installed. + type: boolean + hidden_reason: + description: Reason why the route is hidden. + type: string + example: rejected by import policy + as_path: + description: The route's AS path. + type: string + example: 64514 I + med: + description: The route's MED. + type: integer + example: -1 + neighbor: + description: The route's neighbor. + type: string + example: 169.254.253.29 + next_hop: + description: The route's next hop. + type: string + example: 169.254.253.29 + local_preference: + description: Integer value specifying the route's local preference. + type: integer + example: 100 + protocol_name: + description: The route's protocol name. + type: string + example: BGP + imported_data: + type: object + properties: + description: + description: Decscription of the imported service + type: string + example: Sample service description + service_uuid: + description: Service UUID of the imported service + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: Name of the imported service + type: string + example: Sample Service Name + circuit_id: + description: Circuit id of the imported service + type: string + example: PF-L3-CUST-1400 + timestamp: + description: Date and time when the route was entered into the routing table. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRouterConnectionsGetStatusResponse: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + description: + type: string + state: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + description: + type: string + state: + type: string + CloudRoutersGetBgpRoutesResponse: + type: array + items: + type: object + properties: + destination: + description: Address of the received/advertised BGP route. + type: string + example: 192.168.16.0/20 + prefix: + description: The route's prefix. + type: string + example: 192.168.16.0 + prefix_length: + description: The route's prefix length. + type: integer + example: 20 + advertised: + description: Whether the route is advertised. + type: boolean + received: + description: Whether the route is received. + type: boolean + hidden: + description: Whether the route is hidden. + type: boolean + imported: + description: Whether the route was imported + type: boolean + installed: + description: Whether the route is installed. + type: boolean + hidden_reason: + description: Reason why the route is hidden. + type: string + example: rejected by import policy + as_path: + description: The route's AS path. + type: string + example: 64514 I + med: + description: The route's MED. + type: integer + example: -1 + neighbor: + description: The route's neighbor. + type: string + example: 169.254.253.29 + next_hop: + description: The route's next hop. + type: string + example: 169.254.253.29 + local_preference: + description: Integer value specifying the route's local preference. + type: integer + example: 100 + protocol_name: + description: The route's protocol name. + type: string + example: BGP + imported_data: + type: object + properties: + description: + description: Decscription of the imported service + type: string + example: Sample service description + service_uuid: + description: Service UUID of the imported service + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: Name of the imported service + type: string + example: Sample Service Name + circuit_id: + description: Circuit id of the imported service + type: string + example: PF-L3-CUST-1400 + timestamp: + description: Date and time when the route was entered into the routing table. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRoutersGetAllRoutesResponse: + type: array + items: + type: object + properties: + origin: + description: >- + The origin of the route, usually this Cloud Router or the Circuit + ID of the Cloud Router Import. + type: string + example: PF-L3-IMP-12768 + as_path: + description: The route's AS path. + type: string + example: 64514 I + local_preference: + description: Integer value specifying the route's local preference. + type: integer + example: 100 + med: + description: The route's MED. + type: integer + example: -1 + prefix: + description: The route's prefix. + type: string + example: 192.168.16.0 + prefix_length: + description: The route's prefix length. + type: integer + example: 20 + communities: + type: array + items: + description: A community of this route + type: string + example: '2914:410' + CloudRoutersGetBgpLogsResponse: + type: array + items: + type: object + properties: + message: + type: string + example: >- + %DAEMON-4-RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 127.0.0.1 + changed state from OpenConfirm to Established + bgp_peer_ip: + type: string + example: 172.24.0.41 + severity: + description: Severity of the bgp log as integer. + type: integer + example: 4 + severity_name: + description: Severity of the bgp log as string, according to RFC 3164. + type: string + example: Warning + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRouterThirdPartyListImportsResponse: + type: array + items: + type: object + properties: + description: + description: >- + The description of the third-party service associated with the + Cloud Router. + type: string + example: Sample Service Description + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + description: >- + The Circuit ID of the Route Set selected for this Cloud Router + Import. + type: string + example: PF-L3-RS-12345 + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: >- + The name of the third-party service associated with the Cloud + Router. + type: string + example: Sample Service + is_defunct: + description: Whether the third-party service is defunct. + type: boolean + is_private: + description: Whether the import is private. + type: boolean + state: + description: Shows the state of this import. + type: string + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + description: The speed of the target cloud router connection + type: string + example: 1Gbps + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + local_preference: + description: The local_preference of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + pending_approval: + description: >- + Indicates whether the provider has not approved the return + filter + type: boolean + example: false + CloudRouterThirdPartyImportToConnectionResponse: + type: object + properties: + description: + description: >- + The description of the third-party service associated with the Cloud + Router. + type: string + example: Sample Service Description + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + description: >- + The Circuit ID of the Route Set selected for this Cloud Router + Import. + type: string + example: PF-L3-RS-12345 + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: >- + The name of the third-party service associated with the Cloud + Router. + type: string + example: Sample Service + is_defunct: + description: Whether the third-party service is defunct. + type: boolean + state: + description: Shows the state of this import. + type: string + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + connection_speed: + description: The speed of the target cloud router connection + type: string + example: 1Gbps + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + CloudRouterThirdPartyRemoveConnectionImportResponse: + type: object + properties: + message: + type: string + example: Cloud Router Import is being removed. + CloudRouterThirdPartyGetSingleImportResponse: + type: array + items: + type: object + properties: + description: + description: >- + The description of the third-party service associated with the + Cloud Router. + type: string + example: Sample Service Description + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + description: >- + The Circuit ID of the Route Set selected for this Cloud Router + Import. + type: string + example: PF-L3-RS-12345 + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: >- + The name of the third-party service associated with the Cloud + Router. + type: string + example: Sample Service + is_defunct: + description: Whether the third-party service is defunct. + type: boolean + is_private: + description: Whether the import is private. + type: boolean + state: + description: Shows the state of this import. + type: string + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + description: The speed of the target cloud router connection + type: string + example: 1Gbps + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + local_preference: + description: The local_preference of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + pending_approval: + description: >- + Indicates whether the provider has not approved the return + filter + type: boolean + example: false + CloudRouterThirdPartyUpdateImportByIdResponse: + type: array + items: + type: object + properties: + description: + description: >- + The description of the third-party service associated with the + Cloud Router. + type: string + example: Sample Service Description + import_circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + circuit_id: + description: The Circuit ID of this Cloud Router Import. + type: string + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + description: >- + The Circuit ID of the Route Set selected for this Cloud Router + Import. + type: string + example: PF-L3-RS-12345 + service_uuid: + description: >- + Service UUID of the third-party service associated with the Cloud + Router. + type: string + format: uuid + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + description: >- + The name of the third-party service associated with the Cloud + Router. + type: string + example: Sample Service + is_defunct: + description: Whether the third-party service is defunct. + type: boolean + is_private: + description: Whether the import is private. + type: boolean + state: + description: Shows the state of this import. + type: string + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + description: Time the instance was created. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + description: The speed of the target cloud router connection + type: string + example: 1Gbps + subscription_term: + description: Subscription term of the Cloud Router + type: integer + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Import Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Import Filter. + type: string + enum: + - exact + - orlonger + - longer + local_preference: + description: The local_preference of the Import Filter. + type: integer + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the Return Filter. + type: string + example: 127.0.0.1/24 + match_type: + description: The match type of the Return Filter. + type: string + enum: + - exact + - orlonger + - longer + as_prepend: + description: The AS Prepend of the Return Filter. + type: integer + example: 100 + med: + description: The MED of the Return Filter. + type: integer + example: 10 + pending_approval: + description: >- + Indicates whether the provider has not approved the return + filter + type: boolean + example: false + CloudRouterThirdPartyRemoveMultipleResponse: + type: object + properties: + message: + type: string + example: The Cloud Router Imports are being deleted. + CloudRouterRouteSetsGetListResponse: + type: array + items: + type: object + properties: + description: + description: The route set's description + type: string + example: User entered description + circuit_id: + description: Circuit ID of the Route Set + type: string + example: PF-L3-RS-123456 + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 192.168.16.0/20 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + time_created: + description: Date and time of Route Set creation + type: string + format: date-time + time_updated: + description: Date and time this Route Set was last updated + type: string + format: date-time + CloudRouterRouteSetsGetSingleRouteSetResponse: + type: array + items: + type: object + properties: + description: + description: The route set's description + type: string + example: User entered description + circuit_id: + description: Circuit ID of the Route Set + type: string + example: PF-L3-RS-123456 + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 192.168.16.0/20 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + time_created: + description: Date and time of Route Set creation + type: string + format: date-time + time_updated: + description: Date and time this Route Set was last updated + type: string + format: date-time + CloudRouterRouteSetsUpdateRouteSetResponse: + type: array + items: + type: object + properties: + description: + description: The route set's description + type: string + example: User entered description + circuit_id: + description: Circuit ID of the Route Set + type: string + example: PF-L3-RS-123456 + prefixes: + description: Prefixes of this Route Set + type: array + items: + type: object + properties: + prefix: + description: Single Prefix of this Route Set + type: string + example: 192.168.16.0/20 + match_type: + description: The match type of this Route Set. + type: string + example: exact + enum: + - exact + - orlonger + time_created: + description: Date and time of Route Set creation + type: string + format: date-time + time_updated: + description: Date and time this Route Set was last updated + type: string + format: date-time + CloudRouterRouteSetsGetConnectionsResponse: + type: array + items: + type: object + properties: + route_set_circuit_id: + description: Circuit ID of the Route Set. + type: string + example: PF-L3-RS-123456 + connection_circuit_id: + description: Circuit ID of the Cloud Router Connection. + type: string + state: + description: The state of the Connection Link. + type: string + example: active + enum: + - active + - provisioning + - deleting + service_uuid: + description: The uuid of the route_set service + type: string + example: ee77f0b3-4dfc-4772-baa7-1d3683589a67 + CloudRouterRouteSetsUpdateConnectionsResponse: + type: object + properties: + message: + type: string + CloudServicesAwsRequestHostedConnectionResponse: + type: object + example: + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + description: Hosted-connection-Foo_Corp + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + state: requested + settings: + vlan_id_pf: 102 + vlan_id_cust: 4 + svlan_id_cust: null + aws_region: us-east-2 + aws_hosted_type: hosted-connection + aws_connection_id: dxlag-ffll8f52 + aws_account_id: 2345678910 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + credentials_uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + example: hosted + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: The AWS Direct Connect Connection ID. + type: string + example: dxlag-ffll8f52 + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp connection + to be available before provisioning. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsRequestConnectionResponse: + type: object + example: + components: {} + description: Dedicated connection for Foo Corp. + uuid: a268133d-fabd-4037-a40b-deb9e223542e + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + state: requested + settings: + aws_region: us-east-1 + zone_dest: D + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + is_cloud_router_connection: false + speed: 10Gbps + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - aws + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - dedicated + example: dedicated + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + description: The region that the new connection will connect to. + type: string + example: us-west-1 + zone_dest: + description: destination zone for this connection + type: string + example: A + autoneg: + description: >- + Whether the port auto-negotiates or not, this is currently only + possible with 1Gbps ports and the request will fail if specified + with 10Gbps. + type: boolean + example: false + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + CloudServicesAzureValidateServiceKeyResponse: + type: object + properties: + azure_service_key: + description: The Service Key provided by Microsoft Azure. + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + is_valid: + description: Whether or not the provided Azure service key is valid. + type: boolean + peering_location: + description: ExpressRoute peering location + type: string + example: Washington DC + speed: + description: The speed of the ExpressRoute circuit + type: string + example: 10Gbps + primary_availability: + description: primary availability of the azure key + type: boolean + example: true + secondary_availability: + description: secondary availability of the azure key + type: boolean + example: false + CloudServicesAzureRequestNewExpressRouteResponse: + type: object + example: + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + vc_id_microsoft: 39092 + vc_id_private: 39091 + description: Hosted-connection-Foo_Corp + uuid: ba66fac8-2924-428d-aa9d-90f14fa2364f + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-NYC-1744356-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + settings: + vlan_id_private: 6 + vlan_id_microsoft: 7 + svlan_id_customer: null + azure_service_key: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + azure_service_tag: 2 + speed: 50Mbps + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - azure + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + example: hosted + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_private: + description: The private peering vlan. + type: integer + vlan_microsoft: + description: The Microsoft peering vlan. + type: integer + azure_service_key: + description: The Azure service key tied to this cloud service + type: string + format: uuid + azure_service_tag: + description: The service (outer) vlan provided by Azure + type: integer + example: 4 + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp connection + to be available before provisioning. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAzureRequestNewDedicatedConnectionResponse: + type: object + example: + components: {} + description: demo123-azure + uuid: 94992688-36ad-4a72-a454-a7bc9085e385 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: dedicated + speed: 10Gbps + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + is_cloud_router_connection: false + azure_port_category: primary + settings: + zone_dest: A + autoneg: null + encapsulation: dot1q + properties: + description: + description: The description of this connection. + type: string + example: Azure connection for Foo Corp. + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - azure + port_type: + description: The type of port. + type: string + enum: + - dedicated + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + time_created: + description: Time the instance was created. + type: string + format: date-time + time_updated: + description: Time the instance was last updated. + type: string + format: date-time + azure_port_category: + description: Category of the Azure port. + type: string + enum: + - primary + - secondary + settings: + type: object + properties: + zone_dest: + description: destination zone for this connection + type: string + example: A + encapsulation: + type: string + enum: + - dot1q + - qinq + autoneg: + description: >- + Whether the port auto-negotiates or not, this is currently only + possible with 1Gbps ports and the request will fail if specified + with 10Gbps. + type: boolean + example: false + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesGoogleCloudRequestNewConnectionResponse: + type: object + example: + components: + ifd_port_circuit_id_cust: PF-AP-WDC1-1726464 + description: Hosted-connection-Foo_Corp + uuid: 384a5fa5-3b03-44df-84d1-48f94101efd1 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-WDC-CHI-1744352-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + state: requested + settings: + vlan_id_cust: 215 + svlan_id_cust: null + google_pairing_key: a2115890-ed02-4795-a6dd-c485bec3529c + google_vlan_attachment_name: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - google + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + example: hosted + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + google_pairing_key: + description: The Google pairing key to use for this connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + description: The Google Vlan attachment name. + type: string + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp connection + to be available before provisioning. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesGoogleCloudRequestDedicatedConnectionResponse: + type: object + example: + components: {} + description: Dedicated-connection-Foo_Corp + uuid: d60f32c0-0ce0-4b07-88a5-b009508851a0 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + state: requested + settings: + zone_dest: A + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + is_cloud_router_connection: false + speed: 10Gbps + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - google + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - dedicated + example: dedicated + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + description: The region that the new connection will connect to. + type: string + example: us-west-1 + zone_dest: + description: destination zone for this connection + type: string + example: A + autoneg: + description: >- + Whether the port auto-negotiates or not, this is currently only + possible with 1Gbps ports and the request will fail if specified + with 10Gbps. + type: boolean + example: false + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesIbmRequestNewConnectionResponse: + type: object + example: + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + description: Hosted-connection-Foo_Corp + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: ibm + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + state: requested + settings: + vlan_id_pf: null + vlan_id_cust: 4 + svlan_id_cust: null + account_id: 8128867a1ca242d65a17993232128022b + gateway_id: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: Hosted-connection-Foo_Corp + bgp_asn: 64999 + bgp_cer_cidr: 10.254.30.78/30 + bgp_ibm_cidr: 10.254.30.77/30 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + format: uuid + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - ibm + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + example: hosted + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-AP-LAX1-1002 + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + account_id: + description: The IBM account ID to connect with. + type: string + example: 8128867a1ca242d65a17993232128022b + gateway_id: + description: The IBM Gateway ID. + type: string + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + description: The IBM Port ID. + type: string + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + bgp_asn: + description: The customers ASN for use in the BGP session with IBM. + type: integer + example: 64999 + bgp_cer_cidr: + description: >- + The customers IP address for their router in the BGP session + with IBM. + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + description: >- + IBM's IP address for use in creating the BGP session with the + customer. + type: string + example: 10.254.30.77/30 + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp connection + to be available before provisioning. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesOracleRequestConnectionResponse: + type: object + properties: + components: + type: object + properties: + ifd_port_circuit_id_cust: + description: Customer Port Circuit ID + type: string + example: PF-AP-WDC1-1726464 + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + description: The Virtual Circuit OCID. + type: string + format: uuid + example: >- + ocid1.virtualcircuit.oc1.us-sanjose-1.aaaaaaaa3uylbvopbkhgqiao5vm5ulk7oyxr3knt4rvqfqm5rt5ni5flhuwq + bandwidth: + description: The speed of the new connection. + type: string + example: 1Gbps + bgp_management: + description: The BGP Management Type. + type: string + example: CUSTOMER_MANAGED + bgp_session_state: + description: The BGP session state. + type: string + example: DOWN + compartment_id: + description: The compartment OCID. + type: string + format: uuid + example: >- + ocid1.compartment.oc1..aaaaaaaairiuj3wlr2rozdvr4vptx2qtrricp5o5hibyuk2rujj3drncxexq + cross_connect_mappings: + description: Cross connect mappings. + type: array + items: + type: object + properties: + bgp_md5_auth_key: + description: >- + The key for BGP MD5 authentication. Only applicable if + your system requires MD5 authentication. + type: string + example: dd02c7c2232759874e1c20558 + cross_connect_or_cross_connect_group_id: + description: The Cross Connect or Cross Connect group OCID. + type: string + format: uuid + example: >- + ocid1.crossconnectgroup.oc1.us-sanjose-1.aaaaaaaadsgug2hwvbkimite6hbupnt3k75klhqvq4dw5re7zrrwulslkhea + customer_bgp_peering_ip: + description: The customer BGP peering IPv4. + type: string + example: 169.254.247.41/30 + customer_bgp_peering_ipv6: + description: The customer BGP peering IPv6. + type: string + example: None + oracle_bgp_peering_ip: + description: The Oracle BGP peering IPv4. + type: string + example: 169.254.247.42/30 + oracle_bgp_peering_ipv6: + description: The Oracle BGP peering IPv6. + type: string + example: None + vlan: + description: Vlan range is from 4-4094, inclusive. + type: integer + format: int64 + example: 103 + minimum: 4 + maximum: 4094 + customer_asn: + description: The customer ASN for use in the BGP session. + type: integer + format: int64 + example: 5555 + defined_tags: + type: object + freeform_tags: + type: object + gateway_id: + description: The gateway OCID. + type: string + format: uuid + example: >- + ocid1.drg.oc1.us-sanjose-1.aaaaaaaa5tvcbacgf366sjf5cm5m6vg2yuk3ibzbanzlmwrupjq6xaxl75dq + lifecycle_state: + description: The lifecucle state. + type: string + example: PROVISIONING + oracle_bgp_asn: + description: The Oracle ASN for use in the BGP session. + type: integer + format: int64 + example: 31898 + provider_service_id: + description: The provider Service OCID. + type: string + format: uuid + example: >- + ocid1.providerservice.oc1.us-sanjose-1.aaaaaaaarexwwfagkbd432tes33oz6cbgoeeqku7ze544mpeiykv2kr4nvaa + provider_state: + description: The provider state. + type: string + example: ACTIVE + reference_comment: + description: The reference comment. + type: string + example: ba16fd1d-6e72-45a0-85f0-4d5fa07cac29 (activated) + service_type: + description: The service type. + type: string + example: LAYER2 + type: + description: The conneciton type. + type: string + example: PRIVATE + description: + description: The description of this connection. + type: string + example: Hosted-connection-Foo_Corp + uuid: + description: The Cloud Service Request UUID + type: string + format: uuid + customer_uuid: + description: The UUID for the customer this connection belongs to. + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to. + type: string + format: uuid + service_provider: + description: The service provider of the connection. + type: string + enum: + - oracle + port_type: + description: The type of port, either dedicated or hosted. + type: string + enum: + - hosted + example: hosted + deleted: + description: Is object deleted + type: boolean + example: false + cloud_circuit_id: + description: The unique PF circuit ID for this connection. + type: string + example: PF-CC-WDC-SFO-1744662-PF + account_uuid: + description: The billing account UUID + type: string + format: uuid + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + service_class: + description: The service class for the given port, either long haul or metro. + type: string + example: longhaul + enum: + - longhaul + - metro + state: + description: The state of the port. + type: string + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + oracle_region: + description: The region that the new connection will connect to. + type: string + example: us-sanjose-1 + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + description: The Oracle Virtual Circuit OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + description: The Oracle Port Cross Connect OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + description: The Oracle Port Compartment OCID. + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + billing: + type: object + properties: + account_uuid: + description: The billing account UUID + type: string + format: uuid + subscription_term: + description: The billing term, in months, for this connection. + type: integer + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp connection + to be available before provisioning. + type: boolean + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesOracleGetStatusResponse: + type: object + properties: + vc_ocid: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + bandwidth: + type: string + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + enum: + - UP + - DOWN + compartment_id: + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + cross_connect_or_cross_connect_group_id: + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + type: string + oracle_bgp_peering_ip: + type: string + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + type: string + vlan: + type: integer + format: int64 + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + example: 5555 + gateway_id: + type: string + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + enum: + - PENDING_PROVIDER + - VERIFYING + - PROVISIONING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + example: 31898 + provider_state: + type: string + enum: + - ACTIVE + - INACTIVE + public_prefixes: + type: string + reference_comment: + type: string + example: PF-CC-DAL-NYC-2014 (activated) + CloudServicesOracleSyncChangesResponse: + type: object + properties: + workflow: + description: The type of workflow that was requested + type: string + example: Upgrade Hosted Cloud Connection Workflow + state: + description: The type state of the workflow requested + type: string + example: STARTED + CloudServicesAwsUpdateHostedConnectionResponse: + type: object + properties: + description: + description: The description of this connection. + type: string + example: Cloud Connection Foo Corp + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + CloudServicesAwsUpgradeHostedConnectionResponse: + type: object + properties: + workflow: + description: The type of workflow that was requested + type: string + example: Upgrade Hosted Cloud Connection Workflow + state: + description: The type state of the workflow requested + type: string + example: STARTED + CloudServicesAwsUpdateDedicatedCloudConnectionResponse: + type: object + allOf: + - type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + state: + description: The state of the connection + type: string + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + description: The service provider of the connection + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + description: The service class for the given port, either long haul or metro + type: string + enum: + - longhaul + - metro + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + region: + description: Region short name + type: string + example: us-west-1 + cloud_provider_connection_id: + description: The unique ID for the connection on the cloud provider side + type: string + example: dxcon-1234567890abcdef0 + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + pop: + description: Point of Presence for the connection + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + type: boolean + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + deprecated: true + type: string + example: dxlag-ffll8f52 + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + example: 1500 + aws_dx_location: + description: Location of the AWS Connection. + type: string + example: TLXA1 + aws_dx_bandwidth: + description: Bandwidth of the AWS Connection. + type: string + example: 50Mbps + aws_dx_jumbo_frame_capable: + description: Indicates whether jumbo frames (9001 MTU) are supported. + type: boolean + aws_dx_aws_device: + description: The device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + description: The version 2 device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + description: The logical device id of the AWS Connection. + type: string + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + description: >- + Indicates whether the connection supports a secondary BGP + peer in the same address family (IPv4/IPv6). + type: boolean + aws_dx_mac_sec_capable: + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + type: boolean + aws_dx_encryption_mode: + description: The MAC Security (MACsec) connection encryption mode. + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + example: no_encrypt + aws_vif_type: + description: The type of virtual interface. + type: string + enum: + - private + - public + - transit + example: private + aws_vif_id: + description: The ID of the virtual interface. + type: string + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + description: The ID of the BGP peer. + type: string + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + description: The ID of the DirectConnect Gateway. + type: string + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + description: The Google region of this connection. + type: string + example: us-west1 + google_project_id: + description: The Google project ID of this connection. + type: string + google_vlan_attachment_name: + description: The Google VLAN Attachment name. + type: string + example: test-attachment + google_edge_availability_domain: + description: The Availability Domain of this connection. + type: integer + example: 1 + google_dataplane_version: + description: The Google Dataplane Version. + type: integer + example: 4 + google_interface_name: + description: The Google Interface Name. + type: string + example: example-interface-name + google_pairing_key: + description: The Pairing Key of the connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + description: The Name of the Google Cloud Router + type: string + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + description: The state of the connection. + type: string + example: available + aws_dx_port_encryption_status: + description: >- + The MAC Security (MACsec) port link status of the + connection. + type: string + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + description: The state of the virtual interface. + type: string + example: available + bgp_state: + description: The status of the BGP peer. + type: string + enum: + - up + - down + - unknown + google_interconnect_state: + description: The stat of the Interconnect + type: string + example: Active + google_interconnect_admin_enabled: + description: Whether the Interconncet is admin enabled. + type: boolean + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + description: An array of prefixes that will be advertised. AWS only. + type: array + items: + type: string + customer_asn: + description: >- + The BGP ASN of the network at the PacketFabric end of + the BGP session. + type: integer + format: int64 + example: 123 + remote_asn: + description: The remote ASN of this connection. + type: integer + example: 64514 + l3_address: + description: >- + The L3 address of this connection. Required if vif_type + is not public. + type: string + example: 10.10.10.10/32 + remote_address: + description: >- + The remote address of this connection. Required if + vif_type is not public. + type: string + example: 10.10.10.10/32 + address_family: + description: The address family of this connection. + type: string + enum: + - ipv4 + - ipv6 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + description: The IP of the customer router + type: string + example: 10.10.10.10 + remote_router_ip: + description: The IP of the remote router + type: string + example: 10.10.10.10 + google_keepalive_interval: + description: The Keepalive Interval of this connection. + type: integer + example: 40 + google_advertise_mode: + description: >- + The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + google_advertised_ip_ranges: + description: >- + An array of prefixes that will be advertised. Google + only. + type: array + items: + type: string + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + type: integer + example: 5 + bfd_mode: + description: The BFD Mode. + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + example: PASSIVE + CloudServicesAwsUpgradeDedicatedCloudConnectionResponse: + type: object + properties: + workflow: + description: The type of workflow that was requested + type: string + example: Upgrade Dedicated Cloud Connection Workflow + state: + description: The type state of the workflow requested + type: string + example: STARTED + CloudServicesIbmUpdateIbmCloudConnectionResponse: + type: object + properties: + description: + description: The description of this connection. + type: string + example: Cloud Connection Foo Corp + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + GetConnectionResponse: + type: object + allOf: + - type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + state: + description: The state of the connection + type: string + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + description: The service provider of the connection + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + description: The service class for the given port, either long haul or metro + type: string + enum: + - longhaul + - metro + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + region: + description: Region short name + type: string + example: us-west-1 + cloud_provider_connection_id: + description: The unique ID for the connection on the cloud provider side + type: string + example: dxcon-1234567890abcdef0 + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + pop: + description: Point of Presence for the connection + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + type: boolean + cloud_settings: + description: Cloud-specific details. Varies per provider. + type: object + properties: + vlan_id_pf: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 102 + minimum: 4 + maximum: 4094 + vlan_id_cust: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 4 + minimum: 4 + maximum: 4094 + svlan_id_cust: + description: Valid S-VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 100 + minimum: 4 + maximum: 4094 + aws_region: + description: (AWS) The region that the new connection will connect to. + type: string + example: us-west-1 + aws_hosted_type: + description: (AWS) The AWS Direct Connect Connection Type. + type: string + example: hosted-connection + aws_account_id: + description: (AWS) The AWS account ID to connect with. + type: string + example: 2345678910 + aws_connection_id: + description: (AWS) The AWS Direct Connect Connection ID. + deprecated: true + type: string + example: dxlag-ffll8f52 + credentials_uuid: + description: The UUID of the credentials to be used with this connection. + type: string + format: uuid + mtu: + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU). Not for public VIFs. + type: integer + example: 1500 + aws_dx_location: + description: Location of the AWS Connection. + type: string + example: TLXA1 + aws_dx_bandwidth: + description: Bandwidth of the AWS Connection. + type: string + example: 50Mbps + aws_dx_jumbo_frame_capable: + description: Indicates whether jumbo frames (9001 MTU) are supported. + type: boolean + aws_dx_aws_device: + description: The device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + description: The version 2 device of the AWS Connection. + type: string + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + description: The logical device id of the AWS Connection. + type: string + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + description: >- + Indicates whether the connection supports a secondary BGP + peer in the same address family (IPv4/IPv6). + type: boolean + aws_dx_mac_sec_capable: + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + type: boolean + aws_dx_encryption_mode: + description: The MAC Security (MACsec) connection encryption mode. + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + example: no_encrypt + aws_vif_type: + description: The type of virtual interface. + type: string + enum: + - private + - public + - transit + example: private + aws_vif_id: + description: The ID of the virtual interface. + type: string + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + description: The ID of the BGP peer. + type: string + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + description: The ID of the DirectConnect Gateway. + type: string + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + description: The Google region of this connection. + type: string + example: us-west1 + google_project_id: + description: The Google project ID of this connection. + type: string + google_vlan_attachment_name: + description: The Google VLAN Attachment name. + type: string + example: test-attachment + google_edge_availability_domain: + description: The Availability Domain of this connection. + type: integer + example: 1 + google_dataplane_version: + description: The Google Dataplane Version. + type: integer + example: 4 + google_interface_name: + description: The Google Interface Name. + type: string + example: example-interface-name + google_pairing_key: + description: The Pairing Key of the connection. + type: string + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + description: The Name of the Google Cloud Router + type: string + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + description: The state of the connection. + type: string + example: available + aws_dx_port_encryption_status: + description: >- + The MAC Security (MACsec) port link status of the + connection. + type: string + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + description: The state of the virtual interface. + type: string + example: available + bgp_state: + description: The status of the BGP peer. + type: string + enum: + - up + - down + - unknown + google_interconnect_state: + description: The stat of the Interconnect + type: string + example: Active + google_interconnect_admin_enabled: + description: Whether the Interconncet is admin enabled. + type: boolean + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + description: An array of prefixes that will be advertised. AWS only. + type: array + items: + type: string + customer_asn: + description: >- + The BGP ASN of the network at the PacketFabric end of + the BGP session. + type: integer + format: int64 + example: 123 + remote_asn: + description: The remote ASN of this connection. + type: integer + example: 64514 + l3_address: + description: >- + The L3 address of this connection. Required if vif_type + is not public. + type: string + example: 10.10.10.10/32 + remote_address: + description: >- + The remote address of this connection. Required if + vif_type is not public. + type: string + example: 10.10.10.10/32 + address_family: + description: The address family of this connection. + type: string + enum: + - ipv4 + - ipv6 + md5: + description: The MD5 value of the authenticated BGP sessions. + type: string + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + description: The IP of the customer router + type: string + example: 10.10.10.10 + remote_router_ip: + description: The IP of the remote router + type: string + example: 10.10.10.10 + google_keepalive_interval: + description: The Keepalive Interval of this connection. + type: integer + example: 40 + google_advertise_mode: + description: >- + The Advertise Mode of the Google Router. CUSTOM or + DEFAULT. + type: string + example: CUSTOM + google_advertised_ip_ranges: + description: >- + An array of prefixes that will be advertised. Google + only. + type: array + items: + type: string + bfd_interval: + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. + type: integer + example: 1000 + bfd_multiplier: + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + type: integer + example: 5 + bfd_mode: + description: The BFD Mode. + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + example: PASSIVE + CloudServicesAwsGetConnectionStatusResponse: + type: object + properties: + instance_id: + description: Cloud Circuit ID + type: string + example: PF-CC-GOG-NYC-1234567 + instance_type: + description: Instance type identifier + type: string + enum: + - CloudAWS + - CloudAzure + - CloudPacket + - CloudGoogle + - CloudIBM + - CloudSalesforce + - CloudWebex + state: + description: The state of the connection + type: string + enum: + - active + - deleting + - inactive + - pending + - requested + all_states: + description: List of all possible workflow states + type: array + items: + type: string + example: + - Requested + - DestIFDCreated + - VCCreated + - BillingAdded + - Active + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - Inactive + all_state_descriptions: + description: Descriptions for all possible states + type: object + example: + Requested: Cloud connection requested. Cloud connection is being provisioned. + InstanceValidated: Cloud connection settings validation finished. + PFIFDSelected: PacketFabric port has been selected. + DestIFDCreated: Destination port has been created. + VCDeleteRequested: Virtual Circuit delete request created. + VCCreated: EVPL virtual circuit created. Billing is being set up. + VCsCreated: Virtual circuits created. Billing is being set up. + VCRequestsSent: Virtual circuits requested. + VCRequestsProvisioned: Virtual circuits provisioned. Billing is being set up. + AWSVIFAllocated: >- + Successfully provisioned AWS virtual interface. Billing is being + set up. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been completed. + Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: Billing correctly set up. Cloud connection is being activated. + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + AWSVIFRemoved: >- + Successfully removed AWS Virtual Interface. Deleting PacketFabric + logical interfaces. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + IFLsDestroyed: >- + Virtual circuit logical interfaces deleted. Virtual circuit will + be deleted. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports will be + deleted. + VCsDestroyed: >- + Virtual circuits deleted. Source and destination ports will be + deleted. + Inactive: Cloud connection is inactive. + progress: + description: Connection's current workflow progress + type: object + properties: + step_count: + description: Total number of steps in deployment workflow + type: integer + example: 5 + current_step: + description: Current workflow step + type: integer + example: 2 + time_remaining_sec: + description: Number of seconds left to finalize the workflow + type: integer + example: 20 + activity: + description: Logged activity details + type: array + items: + type: object + properties: + event: + description: Cause of the event logging this entry + type: string + example: Point-to-Point Requested + time_created: + description: Date and time the activity has occurred + type: string + format: date-time + user: + description: The login of the user which caused the activity + type: string + example: alice + current_errors: + description: '' + type: array + items: + type: object + properties: + error_message: + description: User-friendly description of the error + type: string + example: Something went wrong + log_uuid: + description: Log message ID + type: string + format: uuid + event: + description: Event caused logging this error + type: string + example: Point-to-Point Requested + time_created: + description: Date and time the error object was logged + type: string + format: date-time + CloudServicesAwsGetConnectionUpgradeOptionsResponse: + type: object + required: + - upgrade_available + properties: + upgrade_available: + type: boolean + service_class_upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: array + items: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + CloudServicesAwsListHostedConnectionsResponse: + type: array + items: + allOf: + - type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + is_cloud_router_connection: + description: Whether or not this is a Cloud Router hosted connection. + type: boolean + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + type: boolean + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + state: + description: The state of the connection + type: string + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + description: The service provider of the connection + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + description: >- + The service class for the given port, either long haul or + metro + type: string + enum: + - longhaul + - metro + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + region: + description: Region short name + type: string + example: us-west-1 + cloud_provider_connection_id: + description: The unique ID for the connection on the cloud provider side + type: string + example: dxcon-1234567890abcdef0 + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + pop: + description: Point of Presence for the connection + type: string + example: LAS1 + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + interfaces: + type: array + items: + type: object + properties: + description: + description: User provided description of the port + type: string + example: User provided description + port_circuit_id: + description: Port identifier + type: string + example: PF-AP-LAX1-1234 + pop: + description: POP name + type: string + example: LAS1 + site: + description: Unique site code + type: string + example: SW-LAS1 + site_name: + description: Site name + type: string + example: Switch Las Vegas 7 + customer_site_code: + description: Unique site code of the customer's equipment + type: string + example: CS-LA1 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Coresite LA1 + speed: + description: Speed of the port + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + description: Optic media type + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - ER4 Lite + zone: + description: Availability zone of the port + type: string + example: A + vlan: + description: Valid VLAN range is from 4-4094, inclusive. + type: integer + format: int64 + example: 6 + untagged: + description: Whether or not the interface is untagged. + type: boolean + example: false + provisioning_status: + description: Provisioning status of the port + type: string + enum: + - provisioning + - active + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + description: Name of the customer associated with this interface + type: string + region: + description: Region short name + type: string + example: US + is_cloud: + description: >- + Whether the Port associated with this interface is a + cloud connection + type: boolean + example: false + is_ptp: + description: >- + Whether the Port associated with this interface is part + of a Point-to-Point + type: boolean + example: false + time_created: + description: Date and time the interface was created + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + time_updated: + description: Date and time the interface was last updated + type: string + format: date-time + example: '2020-09-10T14:11:50.075143Z' + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsListHostedConnectionsCsvResponse: + type: string + format: byte + example: '[data]' + CloudServicesAwsGetCurrentDedicatedConnectionsResponse: + type: array + items: + allOf: + - type: object + properties: + description: + description: The description of this connection + type: string + example: AWS connection for Foo Corp. + cloud_circuit_id: + description: The unique PF circuit ID for this connection + type: string + example: PF-AP-LAX1-1002 + customer_uuid: + description: The UUID for the customer this connection belongs to + type: string + format: uuid + user_uuid: + description: The UUID for the user this connection belongs to + type: string + format: uuid + state: + description: The state of the connection + type: string + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + description: The service provider of the connection + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + description: >- + The service class for the given port, either long haul or + metro + type: string + enum: + - longhaul + - metro + port_type: + description: The port type for the given port + type: string + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + cloud_provider: + description: Customer-side location details + type: object + properties: + pop: + description: Point of Presence for the cloud provider location + type: string + example: LAX1 + region: + description: Region short name + type: string + example: us-west-1 + time_created: + description: Date and time of connection creation + type: string + format: date-time + time_updated: + description: Date and time connection was last updated + type: string + format: date-time + user_created: + description: Email of the user that created the port + type: string + format: email + user_updated: + description: Email of the user that last modified the port + type: string + format: email + pop: + description: Point of Presence for the connection + type: string + example: LAS1 + is_lag: + description: >- + Flag indicating that the port aggregates multiple LAG member + ports + type: boolean + site: + description: Name of the site of PacketFabric's equipment + type: string + example: Switch Las Vegas 7 + customer_site_name: + description: Name of the site of the customer's equipment + type: string + example: Switch Las Vegas 8 + customer_site_code: + description: Unique code for the site of the customer's equipment + type: string + example: SW-LAS8 + is_awaiting_onramp: + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + type: boolean + credentials_uuid: + description: The UUID of the credential associated with this connection. + type: string + format: uuid + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + CloudServicesAwsGetCurrentCustomerDedicatedConnectionsCsvResponse: + type: string + format: byte + example: '[data]' + CloudServicesAwsGetStatusResponse: + type: object + properties: + circuit_id: + description: Cloud Circuit ID + type: string + example: PF-AE-LAB1-1234 + status: + description: Status details + type: object + properties: + object: + description: Meta information about the object + type: object + properties: + state: + description: Object's state + type: string + deleted: + description: Is object deleted + type: boolean + current: + description: Current state information + type: object + properties: + description: + description: State description + type: string + state: + description: State name + type: string + last_workflow: + description: Last executed workflow operation + type: object + nullable: true + properties: + name: + description: Name of operation + type: string + example: cloud/workflow/dedicated_aws_provision/master + root: + description: Root task ID + type: string + format: uuid + current: + description: Current task ID + type: string + format: uuid + state: + description: Current state + type: string + example: COMPLETED + current_name: + description: Current task operation + type: string + example: COMPLETED + prev_state: + description: Previous task operation + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + description: List of errors + type: array + items: + description: Error message + type: string + example: Error message here + is_final: + description: Is operation final + type: boolean + progress: + description: Progress information + type: object + properties: + position: + description: Current progress position + type: integer + format: int64 + example: 7 + steps: + description: Total progress number of steps + type: integer + format: int64 + example: 7 + states: + description: List of possible states + type: array + items: + description: State object + type: object + properties: + description: + description: State description + type: string + state: + description: State name + type: string + CloudServicesAwsGetRouterConfigResponse: + type: object + properties: + router_config: + description: The Router Configuration as a string. + type: string + CloudServicesAwsGetAvailableRegionsResponse: + type: array + items: + type: object + properties: + region: + description: The AWS region + type: string + example: us-east-1 + region_description: + description: The AWS region description + type: string + example: US East (N. Virginia) + CloudServicesAwsGetResourcesInRegionResponse: + type: object + properties: + networks: + type: array + items: + type: object + properties: + vpc_id: + description: The ID of the VPC + type: string + example: vpc-055e127037787824 + vpc_cidr: + description: The CIDR block of the VPC + type: string + example: 192.168.1.0/24 + subnets: + type: array + items: + type: object + properties: + id: + description: The ID of the subnet + type: string + example: subnet-5ff5dd05 + cidr: + description: The CIDR block of the subnet + type: string + example: 172.31.0.0/20 + availability_zone: + description: The Availability Zone of the subnet + type: string + example: us-east-1b + gateways: + type: array + items: + type: object + properties: + type: + description: >- + The type of gateway (e.g. "directconnect", "private", or + "transit") + type: string + example: private + name: + description: The name of the gateway + type: string + example: Test Gateway + id: + description: The ID of the gateway + type: string + example: vgw-0617396786c32764c7 + asn: + description: The Autonomous System Number (ASN) of the gateway + type: integer + example: 64000 + vpc_id: + description: >- + The ID of the VPC associated with the private gateway (if + applicable) + type: string + example: vpc-055e127037787824 + subnets: + description: >- + The subnets associated with the transit gateway (if + applicable) + type: array + items: + type: object + properties: + id: + description: The ID of the subnet + type: string + example: subnet-5ff5dd05 + availability_zone: + description: The Availability Zone of the subnet + type: string + example: us-east-1b + directconnect_gw_id: + description: >- + The ID of the direct connection gateway that this gateway is + associated with. + type: string + example: b2c5c07e-1518-437f-9b90-10726bd391k2 + attachment_type: + description: The attachment type of this DirectConnect Gateway. + type: string + enum: + - private + - transit + example: private + CloudServicesGoogleCloudAvailableRegionsGetResponse: + type: array + items: + description: The name of the Google region + type: string + example: us-west1 + CloudServicesGoogleCloudGetResourcesByRegionResponse: + type: object + properties: + google_vlan_attachments: + type: array + items: + type: object + properties: + name: + description: The name of the VLAN Attachment + type: string + example: example-vlan-name + google_pairing_key: + description: The pairing key of the VLAN Attachment + type: string + example: .... + google_cloud_router: + description: >- + The name of the Google Clour Router this Attachment is + attached to. + type: string + example: example-router + google_cloud_routers: + type: array + items: + type: object + properties: + name: + description: The name of the Google Cloud Router + type: string + example: example-router + asn: + description: The Autonomous System Number (ASN) of the Cloud Router + type: integer + example: 64000 + vpc_id: + description: >- + The ID of the VPC associated with the private gateway (if + applicable) + type: string + example: vpc-055e127037787824 + network: + description: The name of the network the Cloud Router is on + type: string + example: default + networks: + type: array + items: + type: object + properties: + name: + description: The name of the Google Network + type: string + example: example-network + cidr: + description: The CIDR of this network + type: string + example: 10.138.0.0/20 + vpc: + description: The name of the associated VPC + type: string + example: default + CloudProviderCredentialsGetAllResponse: + type: array + items: + type: object + properties: + description: + description: The description of this cloud provider credential. + type: string + cloud_provider_credential_uuid: + description: The UUID of this cloud provider credential. + type: string + format: uuid + cloud_provider: + description: The cloud provider of this cloud provider credential. + type: string + enum: + - aws + - google + is_unused: + description: >- + Indicates whether this cloud provider credential is unused and can + be deleted. + type: boolean + example: false + time_created: + description: Date and time of cloud provider credential creation + type: string + format: date-time + time_updated: + description: Date and time this cloud provider credential was last updated + type: string + format: date-time + CloudProviderCredentialsCreateNewCredentialResponse: + type: object + properties: + description: + description: The description of this cloud provider credential. + type: string + cloud_provider_credential_uuid: + description: The UUID of this cloud provider credential. + type: string + format: uuid + cloud_provider: + description: The cloud provider of this cloud provider credential. + type: string + enum: + - aws + - google + is_unused: + description: >- + Indicates whether this cloud provider credential is unused and can + be deleted. + type: boolean + example: false + time_created: + description: Date and time of cloud provider credential creation + type: string + format: date-time + time_updated: + description: Date and time this cloud provider credential was last updated + type: string + format: date-time + CloudProviderCredentialsDeleteCredentialResponse: + type: object + properties: + message: + type: string + example: Cloud Provider Credential deleted. + CloudProviderCredentialsUpdateCredentialResponse: + type: object + properties: + description: + description: The description of this cloud provider credential. + type: string + cloud_provider_credential_uuid: + description: The UUID of this cloud provider credential. + type: string + format: uuid + cloud_provider: + description: The cloud provider of this cloud provider credential. + type: string + enum: + - aws + - google + is_unused: + description: >- + Indicates whether this cloud provider credential is unused and can + be deleted. + type: boolean + example: false + time_created: + description: Date and time of cloud provider credential creation + type: string + format: date-time + time_updated: + description: Date and time this cloud provider credential was last updated + type: string + format: date-time + CloudProviderCredentialsGetAllConnectionsResponse: + type: array + items: + type: object + properties: + description: + description: The description of the connection + type: string + example: Test Connection + circuit_id: + description: The circuit_id of the connection + type: string + example: PF-L3-CON-1234 + _links: + type: object + properties: + connection: + description: Link to the Connection + type: string + example: >- + https://api.packetfabric.com/v2/cloud-routers/connections/PF-L3-CON-1234 + FlexBandwidthGetAllContainers200Response: + type: array + items: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + FlexBandwidthCreateFlexContainerResponse: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + FlexBandwidthGetById200Response: + type: object + properties: + description: + description: Description of the flex bandwidth container + type: string + example: Flex bandwidth container description + aggregate_capacity_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + description: ID of the flex bandwidth container + type: string + example: PF-AB-1234 + account_uuid: + description: UUID of the account to which the flex bandwidth container belongs + type: string + format: uuid + subscription_term: + description: Subscription term of the flex bandwidth container + type: integer + example: 12 + customer_uuid: + description: UUID of the customer to which the flex bandwidth container belongs + type: string + format: uuid + capacity_mbps: + description: Capacity in Mbps of the flex bandwidth container + type: integer + example: 100 + used_capacity_mbps: + description: Used capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + available_capacity_mbps: + description: Available capacity in Mbps of the flex bandwidth container + type: integer + example: 50 + po_number: + description: Purchase order number or identifier of a service + type: string + example: PO-1234 + maxLength: 32 + nullable: true + time_created: + description: Date and time when the flex bandwidth container was created + type: string + format: date-time + time-updated: + description: Date and time when the flex bandwidth container was last updated + type: string + format: date-time + AnnouncementsGetCurrentCustomerListResponse: + type: object + properties: + announcements: + type: array + items: + type: object + properties: + title: + description: Title of the announcement + type: string + example: Announcement title + description: + description: Description of the announcement + type: string + example: Announcement description + announcement_uuid: + description: UUID of the announcement + type: string + format: uuid + start_date: + description: Date and time when the announcement becomes active + type: string + format: date-time + end_date: + description: Date and time when the announcement stops being active + type: string + format: date-time + IpamGetCurrentCustomerContactsResponse: + type: array + items: + type: object + properties: + uuid: + description: The UUID of the IPAM contact + type: string + format: uuid + name: + description: The name of the IPAM contact + type: string + email: + description: The email of the IPAM contact + type: string + phone: + description: >- + The phone number of the IPAM contact. Has to start with a country + code (e.g. +1 for US, +49 for Germany, etc.) + type: string + address: + description: The address of the IPAM contact + type: string + country_code: + description: The country code of the IPAM contact + type: string + example: US + apnic_org_id: + description: The apnic_org_id of the IPAM contact + type: string + ripe_org_id: + description: The ripe_org_id of the IPAM contact + type: string + apnic_ref: + description: The apnic_ref of the IPAM contact + type: string + ripe_ref: + description: The ripe_ref of the IPAM contact + type: string + time_created: + description: The date and time the IPAM contact was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM contact was last updated + type: string + format: date-time + IpamAddContactResponse: + type: object + properties: + uuid: + description: The UUID of the IPAM contact + type: string + format: uuid + name: + description: The name of the IPAM contact + type: string + email: + description: The email of the IPAM contact + type: string + phone: + description: >- + The phone number of the IPAM contact. Has to start with a country + code (e.g. +1 for US, +49 for Germany, etc.) + type: string + address: + description: The address of the IPAM contact + type: string + country_code: + description: The country code of the IPAM contact + type: string + example: US + apnic_org_id: + description: The apnic_org_id of the IPAM contact + type: string + ripe_org_id: + description: The ripe_org_id of the IPAM contact + type: string + apnic_ref: + description: The apnic_ref of the IPAM contact + type: string + ripe_ref: + description: The ripe_ref of the IPAM contact + type: string + time_created: + description: The date and time the IPAM contact was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM contact was last updated + type: string + format: date-time + IpamDeleteByUuidResponse: + type: object + properties: + message: + description: Deletion message + type: string + example: IPAM Contact deleted successfully + IpamGetByUuidResponse: + type: object + properties: + uuid: + description: The UUID of the IPAM contact + type: string + format: uuid + name: + description: The name of the IPAM contact + type: string + email: + description: The email of the IPAM contact + type: string + phone: + description: >- + The phone number of the IPAM contact. Has to start with a country + code (e.g. +1 for US, +49 for Germany, etc.) + type: string + address: + description: The address of the IPAM contact + type: string + country_code: + description: The country code of the IPAM contact + type: string + example: US + apnic_org_id: + description: The apnic_org_id of the IPAM contact + type: string + ripe_org_id: + description: The ripe_org_id of the IPAM contact + type: string + apnic_ref: + description: The apnic_ref of the IPAM contact + type: string + ripe_ref: + description: The ripe_ref of the IPAM contact + type: string + time_created: + description: The date and time the IPAM contact was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM contact was last updated + type: string + format: date-time + IpamGetPrefixesResponse: + type: array + items: + type: object + properties: + ip_address: + description: The ip_address of the IPAM prefix + type: string + example: 3.0.0.0/30 + prefix_circuit_id: + description: The prefix_circuit_id of the IPAM prefix + type: string + example: PF-IP-12345 + type: + description: The type of the IPAM prefix + type: string + example: public + org_id: + description: The org_id of the IPAM prefix + type: string + example: ORG-TEST + address: + description: The address of the IPAM prefix + type: string + example: 123 Main St + city: + description: The city of the IPAM prefix + type: string + example: Los Angeles + postal_code: + description: The postal code of the IPAM prefix + type: string + example: '90001' + market: + description: The market of the IPAM prefix + type: string + example: NYC + admin_ipam_contact_uuid: + description: The admin_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + description: The tech_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + description: The state of the IPAM prefix + type: string + example: active + linked_object_circuit_id: + description: The linked_object_circuit_id of the IPAM prefix + type: string + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + description: The description of the planned prefix + type: string + example: Example description + location: + description: The location of the planned prefix + type: string + example: US-CA + usage_30d: + description: The 30 day planned usage + type: integer + example: 10 + usage_3m: + description: The 3 month planned usage + type: integer + example: 10 + usage_6m: + description: The 6 month planned usage + type: integer + example: 10 + usage_1y: + description: The 1 year planned usage + type: integer + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + description: + description: The description of the current prefix in use + type: string + example: This is used for X + prefix: + description: The prefix of the current prefix in use + type: string + example: 3.0.0.0/28 + ips_in_use: + description: The number of IPs in use in the current prefix + type: integer + example: 14 + isp_name: + description: The ISP name of the current prefix in use + type: string + example: PacketFabric + will_renumber: + description: Whether the current prefix in use will renumber + type: boolean + rejection_reason: + description: The rejection reason of the IPAM prefix + type: string + example: This is a rejection reason + time_created: + description: The date and time the IPAM prefix was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM prefix was last updated + type: string + format: date-time + IpamAllocatePrefixResponse: + type: object + properties: + ip_address: + description: The ip_address of the IPAM prefix + type: string + example: 3.0.0.0/30 + prefix_circuit_id: + description: The prefix_circuit_id of the IPAM prefix + type: string + example: PF-IP-12345 + type: + description: The type of the IPAM prefix + type: string + example: public + org_id: + description: The org_id of the IPAM prefix + type: string + example: ORG-TEST + address: + description: The address of the IPAM prefix + type: string + example: 123 Main St + city: + description: The city of the IPAM prefix + type: string + example: Los Angeles + postal_code: + description: The postal code of the IPAM prefix + type: string + example: '90001' + market: + description: The market of the IPAM prefix + type: string + example: NYC + admin_ipam_contact_uuid: + description: The admin_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + description: The tech_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + description: The state of the IPAM prefix + type: string + example: active + linked_object_circuit_id: + description: The linked_object_circuit_id of the IPAM prefix + type: string + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + description: The description of the planned prefix + type: string + example: Example description + location: + description: The location of the planned prefix + type: string + example: US-CA + usage_30d: + description: The 30 day planned usage + type: integer + example: 10 + usage_3m: + description: The 3 month planned usage + type: integer + example: 10 + usage_6m: + description: The 6 month planned usage + type: integer + example: 10 + usage_1y: + description: The 1 year planned usage + type: integer + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + description: + description: The description of the current prefix in use + type: string + example: This is used for X + prefix: + description: The prefix of the current prefix in use + type: string + example: 3.0.0.0/28 + ips_in_use: + description: The number of IPs in use in the current prefix + type: integer + example: 14 + isp_name: + description: The ISP name of the current prefix in use + type: string + example: PacketFabric + will_renumber: + description: Whether the current prefix in use will renumber + type: boolean + rejection_reason: + description: The rejection reason of the IPAM prefix + type: string + example: This is a rejection reason + time_created: + description: The date and time the IPAM prefix was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM prefix was last updated + type: string + format: date-time + IpamDeleteByCircuitIdResponse: + type: object + properties: + message: + description: Deletion message + type: string + example: IPAM Prefix deleted successfully + IpamGetByCircuitIdResponse: + type: object + properties: + ip_address: + description: The ip_address of the IPAM prefix + type: string + example: 3.0.0.0/30 + prefix_circuit_id: + description: The prefix_circuit_id of the IPAM prefix + type: string + example: PF-IP-12345 + type: + description: The type of the IPAM prefix + type: string + example: public + org_id: + description: The org_id of the IPAM prefix + type: string + example: ORG-TEST + address: + description: The address of the IPAM prefix + type: string + example: 123 Main St + city: + description: The city of the IPAM prefix + type: string + example: Los Angeles + postal_code: + description: The postal code of the IPAM prefix + type: string + example: '90001' + market: + description: The market of the IPAM prefix + type: string + example: NYC + admin_ipam_contact_uuid: + description: The admin_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + description: The tech_ipam_contact_uuid of the IPAM prefix + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + description: The state of the IPAM prefix + type: string + example: active + linked_object_circuit_id: + description: The linked_object_circuit_id of the IPAM prefix + type: string + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + description: The description of the planned prefix + type: string + example: Example description + location: + description: The location of the planned prefix + type: string + example: US-CA + usage_30d: + description: The 30 day planned usage + type: integer + example: 10 + usage_3m: + description: The 3 month planned usage + type: integer + example: 10 + usage_6m: + description: The 6 month planned usage + type: integer + example: 10 + usage_1y: + description: The 1 year planned usage + type: integer + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + description: + description: The description of the current prefix in use + type: string + example: This is used for X + prefix: + description: The prefix of the current prefix in use + type: string + example: 3.0.0.0/28 + ips_in_use: + description: The number of IPs in use in the current prefix + type: integer + example: 14 + isp_name: + description: The ISP name of the current prefix in use + type: string + example: PacketFabric + will_renumber: + description: Whether the current prefix in use will renumber + type: boolean + rejection_reason: + description: The rejection reason of the IPAM prefix + type: string + example: This is a rejection reason + time_created: + description: The date and time the IPAM prefix was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM prefix was last updated + type: string + format: date-time + IpamGetAsnsResponse: + type: array + items: + type: object + properties: + asn: + description: The ASN as integer + type: integer + example: 65367 + time_created: + description: The date and time the IPAM ASN was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM ASN was last updated + type: string + format: date-time + IpamAllocateNewAsnResponse: + type: object + properties: + asn: + description: The ASN as integer + type: integer + example: 65367 + time_created: + description: The date and time the IPAM ASN was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM ASN was last updated + type: string + format: date-time + IpamDeleteAsnByAsnResponse: + type: object + properties: + message: + type: string + example: ASN deleted + IpamGetAsnByIdResponse: + type: object + properties: + asn: + description: The ASN as integer + type: integer + example: 65367 + time_created: + description: The date and time the IPAM ASN was created + type: string + format: date-time + time_updated: + description: The date and time the IPAM ASN was last updated + type: string + format: date-time + HighPerformanceInternetGetCurrentCustomerHpIsResponse: + type: array + items: + type: object + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + hpi_circuit_id: + description: The Circuit Id of the HPI + type: string + example: PF-L3-TRAN-12345 + port_circuit_id: + description: The Circuit Id of the connected port + type: string + example: PF-AP-12345 + speed: + description: The speed of the HPI + type: string + example: 1Gbps + vlan: + description: The vlan of this HPI on the connected port + type: integer + example: 4 + market: + description: The market of the HPI + type: string + example: NYC + account_uuid: + description: The account uuid of the HPI + type: string + example: 12345678-1234-1234-1234-123456789012 + routing_type: + description: The routing type of the HPI + type: string + example: bgp + enum: + - bgp + - static + state: + description: The state of the HPI + type: string + example: active + enum: + - pending + - provisioning + - active + - deleting + HpiPostResponse: + type: object + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + hpi_circuit_id: + description: The Circuit Id of the HPI + type: string + example: PF-L3-TRAN-12345 + port_circuit_id: + description: The Circuit Id of the connected port + type: string + example: PF-AP-12345 + speed: + description: The speed of the HPI + type: string + example: 1Gbps + vlan: + description: The vlan of this HPI on the connected port + type: integer + example: 4 + market: + description: The market of the HPI + type: string + example: NYC + account_uuid: + description: The account uuid of the HPI + type: string + example: 12345678-1234-1234-1234-123456789012 + routing_type: + description: The routing type of the HPI + type: string + example: bgp + enum: + - bgp + - static + state: + description: The state of the HPI + type: string + example: active + enum: + - pending + - provisioning + - active + - deleting + HpiDeleteResponse: + type: object + properties: + message: + description: Deletion message + type: string + example: HPI deleted successfully + HpiGetResponse: + type: object + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + hpi_circuit_id: + description: The Circuit Id of the HPI + type: string + example: PF-L3-TRAN-12345 + port_circuit_id: + description: The Circuit Id of the connected port + type: string + example: PF-AP-12345 + speed: + description: The speed of the HPI + type: string + example: 1Gbps + vlan: + description: The vlan of this HPI on the connected port + type: integer + example: 4 + market: + description: The market of the HPI + type: string + example: NYC + account_uuid: + description: The account uuid of the HPI + type: string + example: 12345678-1234-1234-1234-123456789012 + routing_type: + description: The routing type of the HPI + type: string + example: bgp + enum: + - bgp + - static + state: + description: The state of the HPI + type: string + example: active + enum: + - pending + - provisioning + - active + - deleting + HpiPutResponse: + type: object + properties: + description: + description: The description of the HPI + type: string + example: HPI for customer A + hpi_circuit_id: + description: The Circuit Id of the HPI + type: string + example: PF-L3-TRAN-12345 + port_circuit_id: + description: The Circuit Id of the connected port + type: string + example: PF-AP-12345 + speed: + description: The speed of the HPI + type: string + example: 1Gbps + vlan: + description: The vlan of this HPI on the connected port + type: integer + example: 4 + market: + description: The market of the HPI + type: string + example: NYC + account_uuid: + description: The account uuid of the HPI + type: string + example: 12345678-1234-1234-1234-123456789012 + routing_type: + description: The routing type of the HPI + type: string + example: bgp + enum: + - bgp + - static + state: + description: The state of the HPI + type: string + example: active + enum: + - pending + - provisioning + - active + - deleting + HighPerformanceInternetGetBgpConfigResponse: + type: array + items: + type: object + properties: + asn: + description: The ASN of the bgp routing configuration + type: integer + example: 65000 + l3_address: + description: The l3_address of the bgp routing configuration + type: string + remote_address: + description: The remote_address of the bgp routing configuration + type: string + md5: + description: The md5 hash of the bgp routing configuration + type: string + prefixes: + type: array + items: + type: object + properties: + prefix: + description: The single BGP prefix + type: string + local_preference: + description: The local preference of the BGP prefix + type: integer + example: 100 + bgp_state: + description: The state of the BGP session + type: string + example: established + address_family: + description: The address family of the BGP session + type: string + example: v4 + HighPerformanceInternetGetStaticConfigurationsResponse: + type: array + items: + type: object + properties: + l3_address: + description: The l3_address of the static routing configuration + type: string + remote_address: + description: The remote_address of the static routing configuration + type: string + address_family: + description: The address family of the static routing configuration + type: string + example: v4 + prefixes: + type: array + items: + type: object + properties: + prefix: + description: The prefix of the static routing configuration + type: string + HighPerformanceInternetGetStatusResponse: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-L3-TRAN-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + description: + type: string + state: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + description: + type: string + state: + type: string +security: + - BearerAuth: [] diff --git a/sdks/db/fixed-specs/rated-fixed-spec.yaml b/sdks/db/fixed-specs/rated-fixed-spec.yaml new file mode 100644 index 000000000..157689e2d --- /dev/null +++ b/sdks/db/fixed-specs/rated-fixed-spec.yaml @@ -0,0 +1,8419 @@ +openapi: 3.0.3 +info: + title: Rated API Beta + description: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators + and individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) + version: 0.0.1 + x-konfig-ignore: + object-with-no-properties: true +servers: + - url: https://api.rated.network +tags: + - name: Validators + - name: Entity + - name: Operators + - name: Network + - name: Slashings + - name: Solana Validators + - name: Polygon Validators + - name: Tags + - name: Polygon Delegators + - name: Withdrawals + - name: P2P (Beta) + - name: Blocks + - name: Solana Network + - name: Pricing + - name: Self Reports + - name: Polygon Network + - name: Reward + - name: Proposal + - name: Penalty + - name: Attestation + - name: Effectiveness +paths: + /v0/pricingPlans: + get: + tags: + - Pricing + summary: Get Pricing Plans + operationId: Pricing_getPlans + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PricingGetPlansResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness + operationId: Validators_getEffectivenessAggregation + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: From + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + title: Include + items: + type: string + type: array + name: include + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorEffectiveness' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness Aggregation + operationId: Validators_getEffectivenessAggregation + parameters: + - required: false + schema: + title: Pubkeys + items: + type: string + type: array + name: pubkeys + in: query + - required: false + schema: + title: Indices + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + name: indices + in: query + - required: false + schema: + title: From + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: from + in: query + - required: false + schema: + title: To + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: to + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + title: Size + type: integer + maximum: 2147483648 + minimum: 0 + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: >- + #/components/schemas/api__schemas__page__ValidatorsEffectivenessGroupByEnum + name: groupBy + in: query + - required: false + schema: + title: Include + items: + type: string + type: array + name: include + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedValidatorEffectivenessDataOrAggregation + '307': + description: Validators aggregation requested by valid PubKeys + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators: + get: + tags: + - Validators + summary: Get Metadata List + operationId: Validators_listGet + parameters: + - required: false + schema: + title: From + type: integer + maximum: 2147483648 + minimum: 0 + default: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + maximum: 200 + exclusiveMinimum: 0 + default: 100 + name: size + in: query + - required: false + schema: + title: Operatorsids + items: + anyOf: + - type: string + - type: string + type: array + name: operatorsIds + in: query + - required: false + schema: + title: Withdrawaladdress + type: string + name: withdrawalAddress + in: query + - required: false + schema: + $ref: '#/components/schemas/PoolOrNodeOperatorIdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}: + get: + tags: + - Validators + summary: Get Metadata + operationId: Validators_getMetadata + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorMetadata' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/apr: + get: + tags: + - Validators + summary: Get Apr + operationId: Validators_getApr + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/AprType' + name: apr_type + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorApr' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators: + get: + tags: + - Operators + summary: Get Summaries + operationId: Operators_getSummaries + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/PoolType' + name: poolType + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + title: From + type: integer + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 15 + name: size + in: query + - required: false + schema: + title: Parentid + type: string + name: parentId + in: query + - description: Use parentId + required: false + deprecated: true + schema: + title: Parententity + description: Use parentId + type: string + name: parentEntity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/percentiles: + get: + tags: + - Operators + summary: Get Percentiles + operationId: Operators_getPercentiles + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorsGetPercentilesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}: + get: + tags: + - Operators + summary: Get Operator + operationId: Operators_getOperatorById + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Operator' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/effectiveness: + get: + tags: + - Operators + summary: Get Effectiveness + operationId: Operators_getEffectiveness + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + title: From + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + title: Include + items: + type: string + type: array + name: include + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectiveness' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/relayers: + get: + tags: + - Operators + summary: Get Relayer Stats + operationId: Operators_getRelayerStats + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorsGetRelayerStatsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/apr: + get: + tags: + - Operators + summary: Get Operator Apr + operationId: Operators_getApr + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/AprType' + name: apr_type + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorApr' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/summary: + get: + tags: + - Operators + summary: Get Operator Summary + operationId: Operators_getSummary + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/stakeMovement: + get: + tags: + - Operators + summary: Get Activations Exits Aggregate + operationId: Operators_getStakeMovement + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/StakeAction' + name: stakeAction + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorsGetStakeMovementResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/stats: + get: + tags: + - Network + summary: Get Network Stats + operationId: Network_getStats + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkGetStatsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/overview: + get: + tags: + - Network + summary: Get Network Overview + operationId: Network_getOverview + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkGetOverviewResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity: + get: + tags: + - Network + summary: Get Network Churn Capacity + operationId: Network_getChurnCapacity + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkGetChurnCapacityResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity/pool: + get: + tags: + - Network + summary: Get Network Churn Capacity Pool + operationId: Network_getChurnCapacityPool + parameters: + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/StakeAction' + name: stakeAction + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkGetChurnCapacityPoolResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards: + get: + tags: + - Network + summary: Get Network Daily Rewards + operationId: Network_getDailyRewards + parameters: + - description: The starting date (UTC) to return. For example, 2024-01-01. + required: false + schema: + title: From + description: The starting date (UTC) to return. For example, 2024-01-01. + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedNetworkDailyConsensusExecutionRewards + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards/{date}: + get: + tags: + - Network + summary: Get Daily Rewards By Day + operationId: Network_dailyRewardsByDayGet + parameters: + - required: true + schema: + title: Date + name: date + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/operators/{operator_id}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Operator + operationId: Withdrawals_predictedOperatorsGet + parameters: + - required: true + schema: + title: Operator Id + type: string + name: operator_id + in: path + - required: false + schema: + title: From + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWithdrawalsPredicted' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Slot + operationId: Withdrawals_getPredictedBySlot + parameters: + - required: true + schema: + title: Withdrawal Slot + type: integer + maximum: 2147483648 + minimum: 0 + name: withdrawal_slot + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/WithdrawalsGetPredictedBySlotResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/selfReports/validators: + post: + tags: + - Self Reports + summary: Report Validators + operationId: SelfReports_createReportValidators + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReportIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReport' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/overview: + get: + tags: + - Slashings + summary: Get Slashing Overview + operationId: Slashings_overviewGet + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingsOverviewGetResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/leaderboard: + get: + tags: + - Slashings + summary: Get Slashing Leaderboard + operationId: Slashings_getLeaderboard + parameters: + - required: false + schema: + title: From + type: integer + minimum: 0 + default: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/SlashingRole' + name: slashingRole + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingLeaderboard' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/cohortAnalysis: + get: + tags: + - Slashings + summary: Get Slashing Cohort Analysis + operationId: Slashings_getCohortAnalysis + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingsGetCohortAnalysisResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/timeseries: + get: + tags: + - Slashings + summary: Get Slashing Time Series + operationId: Slashings_getTimeSeries + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingsGetTimeSeriesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings: + get: + tags: + - Slashings + summary: Get Slashing Penalties All + operationId: Slashings_getAll + parameters: + - required: false + schema: + title: From + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/{validator_index_or_pubkey}: + get: + tags: + - Slashings + summary: Get Slashing Penalties + operationId: Slashings_penaltyGet + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/geographical: + get: + tags: + - P2P (Beta) + summary: Get P2P Geographical Distribution + operationId: P2PBeta_getGeographicalDistribution + parameters: + - required: false + schema: + $ref: '#/components/schemas/DistType' + name: distType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/P2PBetaGetGeographicalDistributionResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/hostingProvider: + get: + tags: + - P2P (Beta) + summary: Get P2P Hosting Provider Distribution + operationId: P2PBeta_getP2pHostingProviderDistribution + parameters: + - required: false + schema: + title: From + type: integer + minimum: 0 + default: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/DistType' + name: distType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedP2PHostingProviderDistribution' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks: + get: + tags: + - Blocks + summary: Get Blocks + operationId: Blocks_listGet + parameters: + - required: false + schema: + title: From + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBlocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks/{consensus_slot}: + get: + tags: + - Blocks + summary: Get Blocks By Slot + operationId: Blocks_bySlotGet + parameters: + - required: true + schema: + title: Consensus Slot + type: integer + maximum: 2147483648 + minimum: 0 + name: consensus_slot + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Blocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/effectiveness: + get: + tags: + - Polygon Validators + summary: Validator Checkpoint Effectiveness + operationId: PolygonValidators_getEffectiveness + parameters: + - required: true + schema: + title: Validator Id + type: integer + minimum: 0 + name: validator_id + in: path + - description: >- + The starting checkpoint or date (UTC) to return. For example, 41100 + or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + name: from + in: query + - description: Checkpoint or UTC day + required: false + schema: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + name: granularity + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}: + get: + tags: + - Polygon Validators + summary: Validator Metadata + operationId: PolygonValidators_getMetadata + parameters: + - required: true + schema: + title: Validator Id + type: integer + minimum: 0 + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators: + get: + tags: + - Polygon Validators + summary: Validator Summaries + operationId: PolygonValidators_listGet + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - description: The delegator address to filter by. + required: false + schema: + title: Delegatoraddress + description: The delegator address to filter by. + type: string + name: delegatorAddress + in: query + - required: false + schema: + title: From + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/summary: + get: + tags: + - Polygon Validators + summary: Validator Summary + operationId: PolygonValidators_getSummary + parameters: + - required: true + schema: + title: Validator Id + type: integer + minimum: 0 + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/network/overview: + get: + tags: + - Polygon Network + summary: Get Network Overview + operationId: PolygonNetwork_getOverview + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonNetworkGetOverviewResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators: + get: + tags: + - Polygon Delegators + summary: Delegator Summaries + operationId: PolygonDelegators_getSummaries + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + title: From + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/summary: + get: + tags: + - Polygon Delegators + summary: Delegator Summary + operationId: PolygonDelegators_getSummary + parameters: + - required: true + schema: + title: Delegator Address + type: string + name: delegator_address + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonDelegatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/rewards: + get: + tags: + - Polygon Delegators + summary: Delegator Rewards + operationId: PolygonDelegators_getRewards + parameters: + - required: true + schema: + title: Delegator Address + type: string + name: delegator_address + in: path + - description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: from + in: query + - description: >- + The ending (lowest) checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + required: false + schema: + title: To + description: >- + The ending (lowest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: to + in: query + - description: Checkpoint or UTC day + required: false + schema: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + name: granularity + in: query + - description: Maximum number of time periods (days or checkpoint) in the results. + required: false + schema: + title: Size + description: >- + Maximum number of time periods (days or checkpoint) in the + results. + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/overview: + get: + tags: + - Solana Network + summary: Get Network Overview + operationId: SolanaNetwork_getOverview + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaNetworkGetOverviewResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/validatorDistributions: + get: + tags: + - Solana Network + summary: Get Validator Distributions + operationId: SolanaNetwork_validatorDistributionsGet + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorDistributions' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/rewards: + get: + tags: + - Solana Validators + summary: Validator Rewards + operationId: SolanaValidators_getValidatorRewards + parameters: + - required: true + schema: + title: Validator Id + type: string + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + name: granularity + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance: + get: + tags: + - Solana Validators + summary: Validator Performance + operationId: SolanaValidators_getPerformance + parameters: + - required: true + schema: + title: Validator Id + type: string + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + name: granularity + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance/latency: + get: + tags: + - Solana Validators + summary: Validator Latency + operationId: SolanaValidators_getValidatorLatency + parameters: + - required: true + schema: + title: Validator Id + type: string + name: validator_id + in: path + - description: Slot to get vote latency from. + required: false + schema: + title: From + description: Slot to get vote latency from. + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}: + get: + tags: + - Solana Validators + summary: Validator Metadata + operationId: SolanaValidators_metadataGet + parameters: + - required: true + schema: + title: Validator Id + type: string + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators: + get: + tags: + - Solana Validators + summary: Validator Summaries + operationId: SolanaValidators_getSummaries + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + title: From + type: integer + minimum: 0 + name: from + in: query + - required: false + schema: + title: Size + type: integer + minimum: 0 + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/summary: + get: + tags: + - Solana Validators + summary: Validator Summary + operationId: SolanaValidators_getSummaryById + parameters: + - required: true + schema: + title: Validator Id + type: string + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags: + get: + tags: + - Tags + summary: Get Tags + operationId: Tags_getAll + parameters: + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + tags: + - Tags + summary: Create Tag + operationId: Tags_createTag + parameters: + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}: + get: + tags: + - Tags + summary: Get Tag + operationId: Tags_getById + parameters: + - required: true + schema: + title: Id + type: string + format: uuid4 + name: id + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + tags: + - Tags + summary: Update Tag + operationId: Tags_updateById + parameters: + - required: true + schema: + title: Id + type: string + format: uuid4 + name: id + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdateIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/tags/{id}/validators: + get: + tags: + - Validators + summary: Get Tag Validators + operationId: Validators_getTag + parameters: + - required: true + schema: + title: Id + type: string + format: uuid4 + name: id + in: path + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetTagResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + tags: + - Validators + summary: Add Validators + operationId: Validators_add + parameters: + - required: true + schema: + title: Id + type: string + format: uuid4 + name: id + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsAddResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}/validators/{pubkey}: + delete: + tags: + - Validators + summary: Remove Validator + operationId: Validators_removeValidator + parameters: + - required: true + schema: + title: Id + type: string + format: uuid4 + name: id + in: path + - required: true + schema: + title: Pubkey + type: string + name: pubkey + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '204': + description: Successful Response + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/effectiveness: + get: + tags: + - Entity + summary: Get Entity Effectiveness + operationId: Entity_getEffectiveness + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetEffectivenessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/attestations: + get: + tags: + - Entity + summary: Get Entity Attestations + operationId: Entity_getAttestations + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetAttestationsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/proposals: + get: + tags: + - Entity + summary: Get Entity Proposals + operationId: Entity_getProposals + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetProposalsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/effectiveness: + get: + tags: + - Validators + summary: Get Validators Effectiveness + operationId: Validators_getEffectiveness + parameters: + - required: false + schema: + title: Pubkeys + items: + type: string + type: array + name: pubkeys + in: query + - required: false + schema: + title: Indices + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + name: indices + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + name: groupBy + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetEffectivenessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/attestations: + get: + tags: + - Validators + summary: Get Validators Attestations + operationId: Validators_getAttestations + parameters: + - required: false + schema: + title: Pubkeys + items: + type: string + type: array + name: pubkeys + in: query + - required: false + schema: + title: Indices + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + name: indices + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + name: groupBy + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetAttestationsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/proposals: + get: + tags: + - Validators + summary: Get Validators Proposals + operationId: Validators_getProposals + parameters: + - required: false + schema: + title: Pubkeys + items: + type: string + type: array + name: pubkeys + in: query + - required: false + schema: + title: Indices + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + name: indices + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + name: groupBy + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetProposalsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + tags: + - Validators + summary: Get Validator Effectiveness + operationId: Validators_getEffectiveness + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetEffectiveness200Response' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + tags: + - Validators + summary: Get Validator Attestations + operationId: Validators_getAttestations + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetAttestations200Response' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + tags: + - Validators + summary: Get Validator Proposals + operationId: Validators_getProposalsByValidatorIndexOrPubkey + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/ValidatorsGetProposalsByValidatorIndexOrPubkeyResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/effectiveness: + get: + tags: + - Effectiveness + summary: Get Set Effectiveness + operationId: Effectiveness_getSetEffectiveness + parameters: + - required: true + schema: + title: Set Id + type: string + format: uuid4 + name: set_id + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EffectivenessGetSetEffectivenessResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/attestations: + get: + tags: + - Attestation + summary: Get Set Attestations + operationId: Attestation_getAttestations + parameters: + - required: true + schema: + title: Set Id + type: string + format: uuid4 + name: set_id + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AttestationGetAttestationsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/proposals: + get: + tags: + - Proposal + summary: Get Set Proposals + operationId: Proposal_listGet + parameters: + - required: true + schema: + title: Set Id + type: string + format: uuid4 + name: set_id + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ProposalListGetResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/rewards: + get: + tags: + - Entity + summary: Get Entity Rewards + operationId: Entity_getRewards + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetRewardsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/penalties: + get: + tags: + - Entity + summary: Get Entity Penalties + operationId: Entity_getPenalties + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetPenaltiesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + tags: + - Validators + summary: Get Validator Rewards + operationId: Validators_getRewards + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetRewardsResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + tags: + - Validators + summary: Get Validator Penalties + operationId: Validators_getPenalties + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetPenaltiesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/rewards: + get: + tags: + - Reward + summary: Get Private Set Rewards + operationId: Reward_privateSetRewardsGet + parameters: + - required: true + schema: + title: Set Id + type: string + format: uuid4 + name: set_id + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RewardPrivateSetRewardsGetResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/penalties: + get: + tags: + - Penalty + summary: Get Private Set Penalties + operationId: Penalty_privateSetPenaltiesGet + parameters: + - required: true + schema: + title: Set Id + type: string + format: uuid4 + name: set_id + in: path + - required: false + schema: + title: Fromdate + type: string + format: date + name: fromDate + in: query + - required: false + schema: + title: Fromday + type: integer + minimum: 0 + name: fromDay + in: query + - required: false + schema: + title: Todate + type: string + format: date + name: toDate + in: query + - required: false + schema: + title: Today + type: integer + minimum: 0 + name: toDay + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PenaltyPrivateSetPenaltiesGetResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/summaries: + get: + tags: + - Entity + summary: Get Entities Summaries + operationId: Entity_getSummaries + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetSummariesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/summaries: + get: + tags: + - Entity + summary: Get Entity Summaries + operationId: Entity_getSummaries + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetSummaries200Response' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities: + get: + tags: + - Entity + summary: Get Entities + operationId: Entity_listGet + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityListGetResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}: + get: + tags: + - Entity + summary: Get Entity + operationId: Entity_getById + parameters: + - required: true + schema: + title: Entity Id + type: string + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EntityGetByIdResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators: + get: + tags: + - Validators + summary: Get Validators + operationId: Validators_getAll + parameters: + - required: false + schema: + title: Sortby + type: string + name: sortBy + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sortOrder + in: query + - required: false + schema: + title: Limit + type: integer + minimum: 0 + default: 10 + name: limit + in: query + - required: false + schema: + title: Offset + type: integer + minimum: 0 + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetAllResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}: + get: + tags: + - Validators + summary: Get Validator + operationId: Validators_getValidator + parameters: + - required: true + schema: + title: Validator Index Or Pubkey + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + name: validator_index_or_pubkey + in: path + - required: false + schema: + $ref: '#/components/schemas/Network' + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorsGetValidatorResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' +components: + schemas: + ActivationsExitsAggregate: + title: ActivationsExitsAggregate + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + stakeAction: + $ref: '#/components/schemas/StakeAction' + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + avgEpochsToAction: + title: Avgepochstoaction + type: integer + minimum: 0 + avgMinutesToAction: + title: Avgminutestoaction + type: number + minimum: 0 + amountGwei: + title: Amountgwei + type: integer + minimum: 0 + type: object + required: + - timeWindow + - id + - idType + - stakeAction + - validatorCount + - avgEpochsToAction + - avgMinutesToAction + AprType: + title: AprType + description: An enumeration. + type: string + enum: + - backward + - forward + Blocks: + title: Blocks + properties: + epoch: + title: Epoch + type: integer + minimum: 0 + consensusSlot: + title: Consensusslot + type: integer + minimum: 0 + consensusBlockRoot: + title: Consensusblockroot + type: string + executionBlockNumber: + title: Executionblocknumber + type: integer + minimum: 0 + executionBlockHash: + title: Executionblockhash + type: string + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + feeRecipient: + title: Feerecipient + type: string + totalType0Transactions: + title: Totaltype0Transactions + type: integer + minimum: 0 + totalType2Transactions: + title: Totaltype2Transactions + type: integer + minimum: 0 + totalTransactions: + title: Totaltransactions + type: integer + minimum: 0 + totalGasUsed: + title: Totalgasused + type: integer + minimum: 0 + baseFeePerGas: + title: Basefeepergas + type: integer + minimum: 0 + totalBurntFees: + title: Totalburntfees + type: integer + minimum: 0 + totalType2TxFees: + title: Totaltype2Txfees + type: integer + minimum: 0 + totalType0TxFees: + title: Totaltype0Txfees + type: integer + minimum: 0 + totalPriorityFees: + title: Totalpriorityfees + type: integer + minimum: 0 + baselineMev: + title: Baselinemev + type: integer + minimum: 0 + executionProposerDuty: + title: Executionproposerduty + type: string + executionRewards: + title: Executionrewards + type: integer + minimum: 0 + missedExecutionRewards: + title: Missedexecutionrewards + type: integer + minimum: 0 + consensusProposerDuty: + title: Consensusproposerduty + type: string + consensusRewards: + title: Consensusrewards + type: integer + minimum: 0 + missedConsensusRewards: + title: Missedconsensusrewards + type: number + minimum: 0 + totalRewards: + title: Totalrewards + type: integer + minimum: 0 + totalRewardsMissed: + title: Totalrewardsmissed + type: number + minimum: 0 + totalType1Transactions: + title: Totaltype1Transactions + type: integer + minimum: 0 + totalType1TxFees: + title: Totaltype1Txfees + type: integer + minimum: 0 + blockTimestamp: + title: Blocktimestamp + type: string + format: date-time + totalSanctionedTransactions: + title: Totalsanctionedtransactions + type: integer + minimum: 0 + totalPriorityFeesValidator: + title: Totalpriorityfeesvalidator + type: integer + minimum: 0 + relays: + title: Relays + items: + type: string + type: array + blockBuilderPubkeys: + title: Blockbuilderpubkeys + items: + type: string + type: array + totalType3Transactions: + title: Totaltype3Transactions + type: integer + minimum: 0 + totalType3TxFees: + title: Totaltype3Txfees + type: integer + minimum: 0 + type: object + required: + - epoch + - consensusSlot + - validatorIndex + - executionProposerDuty + - consensusProposerDuty + - relays + - blockBuilderPubkeys + example: + epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: '2023-10-09T11:00:47' + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + ClientDistribution: + title: ClientDistribution + properties: + client: + title: Client + type: string + validatorShare: + title: Validatorshare + type: number + minimum: 0 + type: object + required: + - client + - validatorShare + ClientEffectiveness: + title: ClientEffectiveness + properties: + client: + title: Client + type: string + avgValidatorEffectiveness: + title: Avgvalidatoreffectiveness + type: number + minimum: 0 + type: object + required: + - client + - avgValidatorEffectiveness + ClientPercentage: + title: ClientPercentage + properties: + client: + title: Client + type: string + percentage: + title: Percentage + type: number + minimum: 0 + type: object + required: + - client + - percentage + CreateTagIn: + title: CreateTagIn + properties: + name: + title: Name + type: string + type: object + required: + - name + DistType: + title: DistType + description: An enumeration. + enum: + - all + - pros + type: string + Error: + title: Error + properties: + loc: + title: Loc + items: + type: string + type: array + msg: + title: Msg + type: string + type: + title: Type + type: string + type: object + required: + - msg + - type + ErrorResponse: + title: ErrorResponse + properties: + detail: + title: Detail + items: + $ref: '#/components/schemas/Error' + type: array + type: object + required: + - detail + FilterTypeEnum: + title: FilterTypeEnum + description: An enumeration. + type: string + enum: + - hour + - day + - datetime + GeoDistribution: + title: GeoDistribution + properties: + country: + title: Country + type: string + countryCode: + title: Countrycode + type: string + validatorShare: + title: Validatorshare + type: number + minimum: 0 + type: object + required: + - country + - validatorShare + GranularityEnum: + title: GranularityEnum + description: An enumeration. + type: string + enum: + - hour + - day + - week + - month + - quarter + - year + - all + HTTPValidationError: + title: HTTPValidationError + properties: + detail: + title: Detail + items: + $ref: '#/components/schemas/ValidationError' + type: array + type: object + HostingDistribution: + title: HostingDistribution + properties: + hostingProvider: + title: Hostingprovider + type: string + validatorShare: + title: Validatorshare + type: number + minimum: 0 + type: object + required: + - hostingProvider + - validatorShare + IdType: + title: IdType + description: An enumeration. + type: string + enum: + - depositAddress + - withdrawalAddress + - nodeOperator + - pool + - poolShare + - entity + - validator + Network: + title: Network + description: An enumeration. + type: string + enum: + - mainnet + - prater + - holesky + NetworkChurnCapacity: + title: NetworkChurnCapacity + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + latestEpoch: + title: Latestepoch + type: integer + minimum: 0 + activatedValidators: + title: Activatedvalidators + type: integer + minimum: 0 + activationCapacityFilled: + title: Activationcapacityfilled + type: number + minimum: 0 + exitedValidators: + title: Exitedvalidators + type: integer + minimum: 0 + exitCapacityFilled: + title: Exitcapacityfilled + type: number + minimum: 0 + activatedPercentage: + title: Activatedpercentage + type: number + minimum: 0 + exitedPercentage: + title: Exitedpercentage + type: number + minimum: 0 + churnLimit: + title: Churnlimit + type: integer + minimum: 0 + activationChurnLimit: + title: Activationchurnlimit + type: integer + minimum: 0 + exitChurnLimit: + title: Exitchurnlimit + type: integer + minimum: 0 + type: object + required: + - timeWindow + - latestEpoch + - activatedValidators + - activationCapacityFilled + - exitedValidators + - exitCapacityFilled + - activatedPercentage + - exitedPercentage + - churnLimit + - activationChurnLimit + - exitChurnLimit + example: + time_window: all + latestEpoch: 186271 + activatedValidators: 238445 + activationCapacityFilled: 0.62372 + exitedValidators: 955 + exitCapacityFilled: 0.0025 + activatedPercentage: 0.47689 + exitedPercentage: 0.00191 + churnLimit: 382294 + activationChurnLimit: 382294 + exitChurnLimit: 382294 + NetworkChurnCapacityPool: + title: NetworkChurnCapacityPool + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + stakeAction: + $ref: '#/components/schemas/StakeAction' + latestEpoch: + title: Latestepoch + type: integer + minimum: 0 + churnLimit: + title: Churnlimit + type: integer + minimum: 0 + pool: + title: Pool + type: string + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + capacityFilled: + title: Capacityfilled + type: number + minimum: 0 + networkCapacityRemaining: + title: Networkcapacityremaining + type: number + minimum: 0 + type: object + required: + - timeWindow + - stakeAction + - latestEpoch + - churnLimit + - pool + - validatorCount + - capacityFilled + - networkCapacityRemaining + example: + time_window: 7d + stakeAction: activation + latestEpoch: 187225 + churnLimit: 12600 + pool: Lido + validatorCount: 3534 + capacityFilled: 0.28048 + networkCapacityRemaining: 0.41198 + NetworkDailyConsensusExecutionRewards: + title: NetworkDailyConsensusExecutionRewards + properties: + date: + title: Date + type: string + format: date + sumConsensusRewards: + title: Sumconsensusrewards + type: integer + minimum: 0 + sumExecutionRewards: + title: Sumexecutionrewards + type: integer + minimum: 0 + sumPriorityFees: + title: Sumpriorityfees + type: integer + minimum: 0 + sumBaselineMev: + title: Sumbaselinemev + type: integer + minimum: 0 + type: object + example: + 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + NetworkOverview: + title: NetworkOverview + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + validatorCountDiff: + title: Validatorcountdiff + type: integer + medianValidatorAgeDays: + title: Medianvalidatoragedays + type: integer + minimum: 0 + activeStake: + title: Activestake + type: integer + minimum: 0 + activeStakeDiff: + title: Activestakediff + type: integer + avgValidatorBalance: + title: Avgvalidatorbalance + type: number + minimum: 0 + avgValidatorBalanceDiff: + title: Avgvalidatorbalancediff + type: number + consensusLayerRewardsPercentage: + title: Consensuslayerrewardspercentage + type: number + minimum: 0 + priorityFeesPercentage: + title: Priorityfeespercentage + type: number + minimum: 0 + baselineMevPercentage: + title: Baselinemevpercentage + type: number + minimum: 0 + avgValidatorEffectiveness: + title: Avgvalidatoreffectiveness + type: number + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + avgUptime: + title: Avguptime + type: number + minimum: 0 + sumMissedSlots: + title: Summissedslots + type: integer + minimum: 0 + missedSlotsPercentage: + title: Missedslotspercentage + type: number + minimum: 0 + avgConsensusAprPercentage: + title: Avgconsensusaprpercentage + type: number + avgExecutionAprPercentage: + title: Avgexecutionaprpercentage + type: number + medianConsensusAprPercentage: + title: Medianconsensusaprpercentage + type: number + medianExecutionAprPercentage: + title: Medianexecutionaprpercentage + type: number + consensusRewardsRatio: + title: Consensusrewardsratio + type: number + executionRewardsRatio: + title: Executionrewardsratio + type: number + avgNetworkAprPercentage: + title: Avgnetworkaprpercentage + type: number + medianNetworkAprPercentage: + title: Mediannetworkaprpercentage + type: number + avgConsensusAprGwei: + title: Avgconsensusaprgwei + type: integer + avgExecutionAprGwei: + title: Avgexecutionaprgwei + type: integer + medianConsensusAprGwei: + title: Medianconsensusaprgwei + type: integer + medianExecutionAprGwei: + title: Medianexecutionaprgwei + type: integer + avgNetworkAprGwei: + title: Avgnetworkaprgwei + type: integer + medianNetworkAprGwei: + title: Mediannetworkaprgwei + type: integer + giniCoefficient: + title: Ginicoefficient + type: number + minimum: 0 + clientPercentages: + title: Clientpercentages + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + clientValidatorEffectiveness: + title: Clientvalidatoreffectiveness + items: + $ref: '#/components/schemas/ClientEffectiveness' + type: array + latestEpoch: + title: Latestepoch + type: integer + minimum: 0 + activationQueueMinutes: + title: Activationqueueminutes + type: number + minimum: 0 + activatingValidators: + title: Activatingvalidators + type: integer + minimum: 0 + activatingStake: + title: Activatingstake + type: integer + minimum: 0 + exitQueueMinutes: + title: Exitqueueminutes + type: number + minimum: 0 + withdrawalQueueMinutes: + title: Withdrawalqueueminutes + type: number + minimum: 0 + withdrawalProcessingQueueMinutes: + title: Withdrawalprocessingqueueminutes + type: number + minimum: 0 + fullyWithdrawingValidators: + title: Fullywithdrawingvalidators + type: integer + minimum: 0 + partiallyWithdrawingValidators: + title: Partiallywithdrawingvalidators + type: integer + minimum: 0 + totalWithdrawingValidators: + title: Totalwithdrawingvalidators + type: integer + minimum: 0 + fullyWithdrawingBalance: + title: Fullywithdrawingbalance + type: integer + minimum: 0 + partiallyWithdrawingBalance: + title: Partiallywithdrawingbalance + type: integer + minimum: 0 + totalWithdrawingBalance: + title: Totalwithdrawingbalance + type: integer + minimum: 0 + exitingValidators: + title: Exitingvalidators + type: integer + minimum: 0 + exitingStake: + title: Exitingstake + type: integer + minimum: 0 + liquidStakingPenetration: + title: Liquidstakingpenetration + type: number + minimum: 0 + networkNativelyRestaked: + title: Networknativelyrestaked + type: number + minimum: 0 + type: object + required: + - timeWindow + - validatorCount + - medianValidatorAgeDays + - activeStake + - avgValidatorBalance + - sumMissedSlots + - missedSlotsPercentage + - giniCoefficient + - clientPercentages + - latestEpoch + - activationQueueMinutes + - activatingValidators + - activatingStake + - exitQueueMinutes + - withdrawalQueueMinutes + - withdrawalProcessingQueueMinutes + - fullyWithdrawingValidators + - partiallyWithdrawingValidators + - totalWithdrawingValidators + - fullyWithdrawingBalance + - partiallyWithdrawingBalance + - totalWithdrawingBalance + - exitingValidators + example: + timeWindow: all + validatorCount: 513101 + validatorCountDiff: 0 + medianValidatorAgeDays: 446 + activeStake: 16419232000000000 + activeStakeDiff: 0 + avgValidatorBalance: 33989164381.593678 + avgValidatorBalanceDiff: 0 + consensusLayerRewardsPercentage: 71.00716294317242 + priorityFeesPercentage: 17.670898689999394 + baselineMevPercentage: 11.321938366828187 + avgValidatorEffectiveness: 96.24882777017207 + avgInclusionDelay: 1.026223700745488 + avgUptime: 99.60745479648561 + sumMissedSlots: 54305 + missedSlotsPercentage: 0.9463495357389193 + avgConsensusAprPercentage: 4.110372806103757 + avgExecutionAprPercentage: 1.8784786051796751 + medianConsensusAprPercentage: 3.892783165538195 + medianExecutionAprPercentage: 0.6112049138020833 + consensusRewardsRatio: 0.7100716294317242 + executionRewardsRatio: 0.2899283705682758 + avgNetworkAprPercentage: 5.988851411283433 + medianNetworkAprPercentage: 4.503988079340278 + avg_consensus_apr_gwei: 1315319298 + avg_execution_apr_gwei: 601113154 + median_consensus_apr_gwei: 1245690613 + median_execution_apr_gwei: 195585572 + avg_network_apr_gwei: 1916432452 + median_network_apr_gwei: 1441276185 + giniCoefficient: 0.9374772860811317 + clientPercentages: + - client: Lighthouse + percentage: 0.3744886640155385 + - client: Nimbus + percentage: 0.025649007580706686 + - client: Teku + percentage: 0.19682653817317683 + - client: Prysm + percentage: 0.4004708894725073 + - client: Lodestar + percentage: 0.0025649007580706685 + clientValidatorEffectiveness: + - client: Lighthouse + avgValidatorEffectiveness: 95.42 + - client: Nimbus + avgValidatorEffectiveness: 93.4 + - client: Teku + avgValidatorEffectiveness: 94.9 + latestEpoch: 162521 + activationQueueMinutes: 838.4 + activatingValidators: 787 + activatingStake: 25184000000000 + exitQueueMinutes: 25.6 + withdrawalQueueMinutes: 47392 + withdrawalProcessingQueueMinutes: 47834.2875 + fullyWithdrawingValidators: 32 + partiallyWithdrawingValidators: 35351 + totalWithdrawingValidators: 35383 + fullyWithdrawingBalance: 1024000000000 + partiallyWithdrawingBalance: 1447374543384832 + totalWithdrawingBalance: 39939418387645100 + exitingValidators: 98 + exitingStake: 3136000000000 + liquid_staking_penetration: 0.312321 + network_natively_restaked: 0.035343 + NetworkStats: + title: NetworkStats + properties: + day: + title: Day + type: integer + minimum: 0 + avgUptime: + title: Avguptime + type: number + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + avgValidatorEffectiveness: + title: Avgvalidatoreffectiveness + type: number + minimum: 0 + type: object + required: + - day + - avgUptime + - avgInclusionDelay + - avgCorrectness + - avgValidatorEffectiveness + example: + day: 796 + avgUptime: 0.9957368996638016 + avgInclusionDelay: 1.0192267929181533 + avgCorrectness: 0.9908021620574459 + avgValidatorEffectiveness: 97.15146353052468 + Operator: + title: Operator + properties: + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + displayName: + title: Displayname + type: string + operatorTags: + title: Operatortags + items: + $ref: '#/components/schemas/OperatorTag' + type: array + nodeOperatorCount: + title: Nodeoperatorcount + type: integer + minimum: 0 + type: object + required: + - id + - idType + - displayName + - operatorTags + example: + id: Stakefish + idType: nodeOperator + displayName: Stakefish + operatorTags: + - name: operator + nodeOperatorCount: 2 + OperatorApr: + title: OperatorApr + properties: + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + title: Percentage + type: number + percentageConsensus: + title: Percentageconsensus + type: number + percentageExecution: + title: Percentageexecution + type: number + activeStake: + title: Activestake + type: number + activeValidators: + title: Activevalidators + type: integer + minimum: 0 + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + example: + id: Lido + idType: pool + timeWindow: 1d + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + OperatorEffectiveness: + title: OperatorEffectiveness + properties: + hour: + title: Hour + type: integer + minimum: 0 + day: + title: Day + type: integer + minimum: 0 + startDay: + title: Startday + type: integer + minimum: 0 + endDay: + title: Endday + type: integer + minimum: 0 + startEpoch: + title: Startepoch + type: integer + minimum: 0 + endEpoch: + title: Endepoch + type: integer + minimum: 0 + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + avgUptime: + title: Avguptime + type: number + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + avgProposerEffectiveness: + title: Avgproposereffectiveness + type: number + minimum: 0 + avgValidatorEffectiveness: + title: Avgvalidatoreffectiveness + type: number + minimum: 0 + totalUniqueAttestations: + title: Totaluniqueattestations + type: integer + minimum: 0 + sumCorrectHead: + title: Sumcorrecthead + type: integer + minimum: 0 + sumCorrectTarget: + title: Sumcorrecttarget + type: integer + minimum: 0 + sumInclusionDelay: + title: Suminclusiondelay + type: number + minimum: 0 + sumProposedCount: + title: Sumproposedcount + type: integer + minimum: 0 + sumProposerDutiesCount: + title: Sumproposerdutiescount + type: integer + minimum: 0 + slashesCollected: + title: Slashescollected + type: integer + minimum: 0 + slashesReceived: + title: Slashesreceived + type: integer + minimum: 0 + sumEarnings: + title: Sumearnings + type: integer + sumEstimatedRewards: + title: Sumestimatedrewards + type: integer + sumEstimatedPenalties: + title: Sumestimatedpenalties + type: integer + networkPenetration: + title: Networkpenetration + type: number + minimum: 0 + sumPriorityFees: + title: Sumpriorityfees + type: integer + minimum: 0 + sumBaselineMev: + title: Sumbaselinemev + type: integer + sumMissedExecutionRewards: + title: Summissedexecutionrewards + type: integer + sumConsensusBlockRewards: + title: Sumconsensusblockrewards + type: integer + sumMissedConsensusBlockRewards: + title: Summissedconsensusblockrewards + type: integer + sumAllRewards: + title: Sumallrewards + type: integer + sumCorrectSource: + title: Sumcorrectsource + type: integer + minimum: 0 + avgAttesterEffectiveness: + title: Avgattestereffectiveness + type: number + minimum: 0 + sumMissedSyncSignatures: + title: Summissedsyncsignatures + type: integer + minimum: 0 + sumSyncCommitteePenalties: + title: Sumsynccommitteepenalties + type: number + sumLateSourceVotes: + title: Sumlatesourcevotes + type: integer + minimum: 0 + sumWrongTargetVotes: + title: Sumwrongtargetvotes + type: integer + minimum: 0 + sumLateTargetVotes: + title: Sumlatetargetvotes + type: integer + minimum: 0 + sumWrongTargetPenalties: + title: Sumwrongtargetpenalties + type: number + sumLateTargetPenalties: + title: Sumlatetargetpenalties + type: number + sumMissedAttestations: + title: Summissedattestations + type: integer + minimum: 0 + sumMissedAttestationPenalties: + title: Summissedattestationpenalties + type: number + sumWrongHeadVotes: + title: Sumwrongheadvotes + type: integer + minimum: 0 + sumWrongHeadPenalties: + title: Sumwrongheadpenalties + type: number + sumAttestationRewards: + title: Sumattestationrewards + type: number + minimum: 0 + sumLateSourcePenalties: + title: Sumlatesourcepenalties + type: number + sumExecutionProposedEmptyCount: + title: Sumexecutionproposedemptycount + type: integer + minimum: 0 + sumMissedAttestationRewards: + title: Summissedattestationrewards + type: number + minimum: 0 + sumMissedSyncCommitteeRewards: + title: Summissedsynccommitteerewards + type: number + minimum: 0 + sumExternallySourcedExecutionRewards: + title: Sumexternallysourcedexecutionrewards + type: integer + type: object + required: + - id + - idType + example: + day: 796 + startEpoch: 179324 + endEpoch: 179100 + id: StakefishX + idType: nodeOperator + validatorCount: 16075 + avgInclusionDelay: 1.0138705386457403 + avgUptime: 0.9999466390184881 + avgCorrectness: 0.9929917401071404 + avgProposerEffectiveness: 99.53271028037379 + avgValidatorEffectiveness: 97.96642775943795 + totalUniqueAttestations: 3616682 + sumCorrectHead: 3547355 + sumCorrectTarget: 3612248 + sumInclusionDelay: 3666847 + sumProposedCount: 213 + sumProposerDutiesCount: 214 + slashesCollected: 0 + slashesReceived: 0 + sumEarnings: 56766373292 + sumEstimatedRewards: 56675239144 + sumEstimatedPenalties: -82967688 + networkPenetration: 0.03132911454080191 + sumPriorityFees: 10662221791 + sumBaselineMev: 5266131924 + sumMissedExecutionRewards: 58181568 + sumConsensusBlockRewards: 6554423259 + sumMissedConsensusBlockRewards: 31228533 + sumAllRewards: 72694727007 + sumCorrectSource: 3614403 + avgAttesterEffectiveness: 97.9580945527236 + sumMissedSyncSignatures: 2837 + sumSyncCommitteePenalties: -44317643 + sumLateSourceVotes: 2279 + sumWrongTargetVotes: 4434 + sumLateTargetVotes: 0 + sumWrongTargetPenalties: -28763358 + sumLateTargetPenalties: 0 + sumMissedAttestations: 193 + sumMissedAttestationPenalties: -1926140 + sumWrongHeadVotes: 48767 + sumWrongHeadPenalties: 0 + sumAttestationRewards: 50120815885 + sumLateSourcePenalties: -7960547 + sumExecutionProposedEmptyCount: 0 + sumMissedAttestationRewards: 269961427 + sumMissedSyncCommitteeRewards: 44317643 + sumExternallySourcedExecutionRewards: 14862131536 + OperatorEffectivenessSummary: + title: OperatorEffectivenessSummary + properties: + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + avgUptime: + title: Avguptime + type: number + minimum: 0 + avgValidatorEffectiveness: + title: Avgvalidatoreffectiveness + type: number + minimum: 0 + clientPercentages: + title: Clientpercentages + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + networkPenetration: + title: Networkpenetration + type: number + minimum: 0 + relayerPercentages: + title: Relayerpercentages + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + nodeOperatorCount: + title: Nodeoperatorcount + type: integer + minimum: 0 + operatorTags: + title: Operatortags + items: + $ref: '#/components/schemas/OperatorTag' + type: array + displayName: + title: Displayname + type: string + aprPercentage: + title: Aprpercentage + type: number + type: object + required: + - id + - idType + - timeWindow + - validatorCount + - avgCorrectness + - avgUptime + - avgValidatorEffectiveness + - clientPercentages + - relayerPercentages + - operatorTags + example: + id: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + idType: depositAddress + timeWindow: 1d + validatorCount: 37361 + avgCorrectness: 0.9872805930783213 + avgInclusionDelay: 1.0209945048723401 + avgUptime: 0.9990847259025307 + avgValidatorEffectiveness: 96.65219797373126 + clientPercentages: + - client: Prysm + percentage: 0.8462792766083606 + - client: Nimbus + percentage: 0.04797904931317324 + - client: Teku + percentage: 0.034044866093487496 + - client: Lighthouse + percentage: 0.07169680798497875 + networkPenetration: 0.07855633469653803 + relayerPercentages: [] + operatorTags: [] + displayName: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + OperatorTag: + title: OperatorTag + properties: + name: + title: Name + type: string + path: + title: Path + type: string + idType: + $ref: '#/components/schemas/IdType' + type: object + required: + - name + P2PGeographicalDistribution: + title: P2PGeographicalDistribution + properties: + country: + title: Country + type: string + countryCode: + title: Countrycode + type: string + validatorShare: + title: Validatorshare + type: number + minimum: 0 + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - country + - countryCode + - validatorShare + - distType + P2PHostingProviderDistribution: + title: P2PHostingProviderDistribution + properties: + hostingProvider: + title: Hostingprovider + type: string + validatorShare: + title: Validatorshare + type: number + minimum: 0 + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - hostingProvider + - validatorShare + - distType + PageP2P: + title: PageP2P + properties: + fromRank: + title: Fromrank + type: integer + toRank: + title: Torank + type: integer + size: + title: Size + type: integer + exclusiveMinimum: 0 + default: 10 + type: object + required: + - fromRank + PaginatedBlocks: + title: PaginatedBlocks + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/Blocks' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + page: + size: 1 + data: + - epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: >- + \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: >- + \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: 123242323 + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + next: /v0/eth/blocks/?size=10&from=7502092 + total: 1 + PaginatedNetworkDailyConsensusExecutionRewards: + title: PaginatedNetworkDailyConsensusExecutionRewards + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + page: + size: 1 + data: + - 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + next: /v0/eth/network/dailyRewards?size=10&from=2024-02-19 + total: 1 + PaginatedOperatorEffectiveness: + title: PaginatedOperatorEffectiveness + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/OperatorEffectiveness' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + PaginatedOperatorEffectivenessSummary: + title: PaginatedOperatorEffectivenessSummary + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + PaginatedP2PHostingProviderDistribution: + title: PaginatedP2PHostingProviderDistribution + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/P2PHostingProviderDistribution' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + PaginatedSlashingLeaderboard: + title: PaginatedSlashingLeaderboard + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/SlashingLeaderboard' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + PaginatedSlashingPenalties: + title: PaginatedSlashingPenalties + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/SlashingPenalties' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + PaginatedValidatorEffectiveness: + title: PaginatedValidatorEffectiveness + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/ValidatorEffectiveness' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + page: + filterType: day + granularity: day + size: 1 + data: + - attesterEffectiveness: 98.82005899705014 + avgCorrectness: 0.9925925925925926 + avgInclusionDelay: 1.0044444444444445 + day: 803 + earnings: 2958548 + endEpoch: 180675 + estimatedPenalties: -6461 + estimatedRewards: 2965823 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startEpoch: 180899 + sumAllRewards: 2958548 + sumAttestationRewards: 2965823 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 221 + sumCorrectSource: 225 + sumCorrectTarget: 224 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 226 + sumLateSourcePenalties: 0 + sumLateSourceVotes: 0 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 19233 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 3 + sumWrongTargetPenalties: -6461 + sumWrongTargetVotes: 1 + syncSignatureCount: 0 + totalAttestationAssignments: 225 + totalAttestations: 237 + totalUniqueAttestations: 225 + uptime: 1 + validatorEffectiveness: 98.82005899705014 + validatorIndex: 100 + next: >- + /v0/eth/validators/100/effectiveness?size=1&from=802&granularity=day&filterType=day + total: 804 + PaginatedValidatorEffectivenessAggregation: + title: PaginatedValidatorEffectivenessAggregation + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/ValidatorEffectivenessAggregation' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + data: + - attesterEffectiveness: 97.32583666151515 + avgCorrectness: 0.9918362178153197 + avgInclusionDelay: 1.0193737639350782 + day: 803 + earnings: 4280356408 + endDay: 0 + endEpoch: 0 + estimatedPenalties: -12510807 + estimatedRewards: 4128779301 + executionProposedEmptyCount: 0 + proposedCount: 24 + proposerDutiesCount: 24 + proposerEffectiveness: 100 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 4280356408 + sumAttestationRewards: 4052665764 + sumBaselineMev: 0 + sumConsensusBlockRewards: 76113537 + sumCorrectHead: 177727 + sumCorrectSource: 180937 + sumCorrectTarget: 180496 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 184525 + sumLateSourcePenalties: -353416 + sumLateSourceVotes: 81 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: -629004 + sumMissedAttestationRewards: 24938630 + sumMissedAttestations: 47 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumMissedSyncSignatures: 16384 + sumPriorityFees: 0 + sumSyncCommitteePenalties: -409318.20849609375 + sumWrongHeadPenalties: -6971040 + sumWrongHeadVotes: 2231 + sumWrongTargetPenalties: -4148029 + sumWrongTargetVotes: 522 + syncSignatureCount: 0 + totalAttestationAssignments: 181065 + totalAttestations: 202175 + totalUniqueAttestations: 181018 + uptime: 0.9997404247093585 + validatorEffectiveness: 97.33446322952862 + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + page: + filterType: day + size: 1 + total: 1 + PaginatedValidatorEffectivenessData: + title: PaginatedValidatorEffectivenessData + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/ValidatorEffectivenessData' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + data: + - attesterEffectiveness: 98.46868397067385 + avgCorrectness: 0.9951851851851852 + avgInclusionDelay: 1.0107407407407407 + day: 803 + earnings: 35804991 + endDay: 792 + endEpoch: 178200 + estimatedPenalties: -22921 + estimatedRewards: 35849013 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 35804991 + sumAttestationRewards: 35849013 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 2665 + sumCorrectSource: 2699 + sumCorrectTarget: 2697 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 2729 + sumLateSourcePenalties: -3486 + sumLateSourceVotes: 1 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 137813 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 21 + sumWrongTargetPenalties: -19435 + sumWrongTargetVotes: 3 + syncSignatureCount: 0 + totalAttestationAssignments: 2700 + totalAttestations: 2919 + totalUniqueAttestations: 2700 + uptime: 1 + validatorEffectiveness: 98.46868397067385 + next: >- + /v0/eth/validators/effectiveness?indices=100&indices=101&groupBy=timeWindow&granularity=month&size=1&from=791&filterType=day + page: + filterType: day + granularity: month + size: 1 + total: 27 + PaginatedValidatorEffectivenessDataOrAggregation: + title: PaginatedValidatorEffectivenessDataOrAggregation + anyOf: + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessData' + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessAggregation' + PaginatedValidatorMetadata: + title: PaginatedValidatorMetadata + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/ValidatorMetadata' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + example: + page: + from: 0 + size: 3 + total: 11 + data: + - validatorIndex: 1 + validatorPubkey: >- + 0xb44440543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004466666 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 4 + validatorPubkey: >- + 0xa62420543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004454b51 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 10 + validatorPubkey: >- + 0xc55540543ceef8dccc065c70da15f7b731e56db5457571c465f0254442bbcd263a0111c8749b4ca6ff20d77004466777 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + next: /v0/eth/validators?from=11&size=3&operatorsIds=&idType= + PaginatedWithdrawalsPredicted: + title: PaginatedWithdrawalsPredicted + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + Percentile: + title: Percentile + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + rank: + title: Rank + type: integer + minimum: 0 + value: + title: Value + type: number + minimum: 0 + type: object + required: + - timeWindow + - rank + - value + PolygonDelegation: + title: PolygonDelegation + properties: + validatorId: + title: Validatorid + type: integer + minimum: 0 + validatorName: + title: Validatorname + type: string + stakePercentage: + title: Stakepercentage + type: number + type: object + required: + - validatorId + - stakePercentage + PolygonDelegatorSummary: + title: PolygonDelegatorSummary + properties: + delegatorAddress: + title: Delegatoraddress + type: string + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkPenetration: + title: Networkpenetration + type: number + delegations: + title: Delegations + items: + $ref: '#/components/schemas/PolygonDelegation' + type: array + aprGross: + title: Aprgross + type: number + aprNet: + title: Aprnet + type: number + aggregateEffectiveness: + title: Aggregateeffectiveness + type: number + blendedCommissionRate: + title: Blendedcommissionrate + type: number + totalDelegatorStake: + title: Totaldelegatorstake + type: number + totalGrossRewards: + title: Totalgrossrewards + type: number + totalNetRewards: + title: Totalnetrewards + type: number + totalCommissionPaid: + title: Totalcommissionpaid + type: number + type: object + required: + - delegatorAddress + - timeWindow + - networkPenetration + - delegations + - aggregateEffectiveness + - blendedCommissionRate + - totalDelegatorStake + - totalGrossRewards + - totalNetRewards + - totalCommissionPaid + example: + delegatorAddress: '0x00000' + timeWindow: 30d + networkPenetration: 0.1 + delegations: + - validatorId: 103 + validatorName: Stake Capital + stakePercentage: 0.1 + - validatorId: 104 + validatorName: Coinbase Cloud + stakePercentage: 0.1 + aprGross: 0.05 + aprNet: 0.05 + aggregateEffectiveness: 0.98865 + blendedCommissionRate: 0.05125 + totalDelegatorStake: 400995914.00753 + totalGrossRewards: 1859026.3456 + totalNetRewards: 1746304.13028 + totalCommissionPaid: 112722.21532 + PolygonNetworkOverview: + title: PolygonNetworkOverview + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + title: Networkeffectiveness + type: number + networkCheckpointSigningRate: + title: Networkcheckpointsigningrate + type: number + networkCheckpointProposalRate: + title: Networkcheckpointproposalrate + type: number + networkBorProposalRate: + title: Networkborproposalrate + type: number + validatorApr: + title: Validatorapr + type: number + netValidatorApr: + title: Netvalidatorapr + type: number + delegatorApr: + title: Delegatorapr + type: number + heimdallCheckpointApr: + title: Heimdallcheckpointapr + type: number + borProposalApr: + title: Borproposalapr + type: number + heimdallCheckpointRewardsRatio: + title: Heimdallcheckpointrewardsratio + type: number + borProposalRewardsRatio: + title: Borproposalrewardsratio + type: number + activeValidatorCount: + title: Activevalidatorcount + type: integer + minimum: 0 + activeValidatorDiff: + title: Activevalidatordiff + type: integer + activeDelegatorCount: + title: Activedelegatorcount + type: integer + minimum: 0 + activeDelegatorDiff: + title: Activedelegatordiff + type: integer + totalStake: + title: Totalstake + type: number + totalDelegatedStake: + title: Totaldelegatedstake + type: number + avgDelegatedStake: + title: Avgdelegatedstake + type: number + totalSelfStake: + title: Totalselfstake + type: number + rewardsCheckpointSignatures: + title: Rewardscheckpointsignatures + type: number + rewardsCheckpointProposals: + title: Rewardscheckpointproposals + type: number + rewardsBorPriorityFees: + title: Rewardsborpriorityfees + type: number + rewardsBorMev: + title: Rewardsbormev + type: number + avgValidatorDelegates: + title: Avgvalidatordelegates + type: number + blendedCommissionRate: + title: Blendedcommissionrate + type: number + networkEffectivenessDiff: + title: Networkeffectivenessdiff + type: number + networkCheckpointSigningRateDiff: + title: Networkcheckpointsigningratediff + type: number + networkCheckpointProposalRateDiff: + title: Networkcheckpointproposalratediff + type: number + networkBorProposalRateDiff: + title: Networkborproposalratediff + type: number + type: object + required: + - timeWindow + - networkEffectiveness + - networkCheckpointSigningRate + - networkCheckpointProposalRate + - networkBorProposalRate + - validatorApr + - netValidatorApr + - delegatorApr + - heimdallCheckpointApr + - borProposalApr + - heimdallCheckpointRewardsRatio + - borProposalRewardsRatio + - activeValidatorCount + - activeValidatorDiff + - activeDelegatorCount + - activeDelegatorDiff + - totalStake + - totalDelegatedStake + - avgDelegatedStake + - totalSelfStake + - rewardsCheckpointSignatures + - rewardsCheckpointProposals + - rewardsBorPriorityFees + - rewardsBorMev + - avgValidatorDelegates + - blendedCommissionRate + - networkEffectivenessDiff + - networkCheckpointSigningRateDiff + - networkCheckpointProposalRateDiff + - networkBorProposalRateDiff + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkCheckpointSigningRate: 0.999 + networkCheckpointProposalRate: 0.999 + networkBorProposalRate: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + heimdallCheckpointApr: 0.99 + borProposalApr: 0.99 + heimdallCheckpointRewardsRatio: 0.99 + borProposalRewardsRatio: 0.99 + activeValidatorCount: 999 + activeValidatorDiff: -10 + activeDelegatorCount: 999 + activeDelegatorDiff: 999 + totalStake: 999 + totalDelegatedStake: 999 + avgDelegatedStake: 999 + totalSelfStake: 999 + rewardsCheckpointSignatures: 999 + rewardsCheckpointProposals: 999 + rewardsBorPriorityFees: 999 + rewardsBorMev: 999 + avgValidatorDelegates: 999 + blendedCommissionRate: 0.99 + network_effectiveness_diff: 0.01 + network_checkpoint_signing_rate_diff: 0.01 + network_checkpoint_proposal_rate_diff: 0.01 + network_bor_proposal_rate_diff: 0.01 + PolygonValidatorMetadata: + title: PolygonValidatorMetadata + properties: + description: + title: Description + type: string + validatorId: + title: Validatorid + type: integer + minimum: 0 + name: + title: Name + type: string + status: + title: Status + type: string + currentState: + title: Currentstate + type: string + owner: + title: Owner + type: string + signer: + title: Signer + type: string + url: + title: Url + type: string + commission: + title: Commission + type: number + minimum: 0 + type: object + required: + - validatorId + - name + - status + - currentState + - owner + - signer + - commission + example: + description: Stake Capital is a validator for Polygon. + validatorId: 103 + name: Stake Capital + status: active + currentState: healthy + owner: '0x00000' + signer: '0x00000' + url: https://stake.capital + commission: 0.1 + PolygonValidatorSummary: + title: PolygonValidatorSummary + properties: + validatorId: + title: Validatorid + type: integer + minimum: 0 + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + title: Name + type: string + currentState: + title: Currentstate + type: string + networkPenetration: + title: Networkpenetration + type: number + validatorApr: + title: Validatorapr + type: number + netValidatorApr: + title: Netvalidatorapr + type: number + commissionRate: + title: Commissionrate + type: number + delegatorApr: + title: Delegatorapr + type: number + effectiveness: + title: Effectiveness + type: number + type: object + required: + - validatorId + - timeWindow + - name + - currentState + - networkPenetration + - validatorApr + - netValidatorApr + - commissionRate + - delegatorApr + - effectiveness + example: + validatorId: 103 + timeWindow: 30d + name: Stake Capital + currentState: healthy + networkPenetration: 0.24 + validatorApr: 0.05 + commissionRate: 0.05 + netValidatorApr: 0.049 + delegatorApr: 0.05 + effectiveness: 0.984 + PoolOrNodeOperatorIdType: + title: PoolOrNodeOperatorIdType + description: An enumeration. + type: string + enum: + - pool + - nodeOperator + PoolType: + title: PoolType + description: An enumeration. + enum: + - all + - cex + - lst + type: string + PricingPlan: + title: PricingPlan + properties: + tier: + $ref: '#/components/schemas/PricingTiersEnum' + price: + title: Price + type: integer + minimum: 0 + computeUnits: + title: Computeunits + type: integer + minimum: 0 + autoscale: + title: Autoscale + type: boolean + autoscalePrice: + title: Autoscaleprice + type: integer + minimum: 0 + cuUpperBound: + title: Cuupperbound + type: integer + minimum: 0 + rateLimits: + title: Ratelimits + type: string + lifetimeRequestsLimit: + title: Lifetimerequestslimit + type: integer + minimum: 0 + type: object + required: + - tier + - autoscale + - rateLimits + PricingTiersEnum: + title: PricingTiersEnum + description: An enumeration. + type: string + enum: + - free + - starter + - build + - growth + - enterprise + - chorus-one + - blockworks + - manifold + RelayerPercentage: + title: RelayerPercentage + properties: + relayer: + title: Relayer + type: string + percentage: + title: Percentage + type: number + minimum: 0 + type: object + required: + - relayer + - percentage + example: + relayer: agnostic + percentage: 0.00041296716911005574 + SelfReport: + title: SelfReport + properties: + operatorName: + title: Operatorname + type: string + validators: + title: Validators + items: + type: string + type: array + network: + $ref: '#/components/schemas/Network' + poolTag: + title: Pooltag + type: string + type: object + required: + - operatorName + - validators + - network + SelfReportIn: + title: SelfReportIn + properties: + validators: + title: Validators + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + poolTag: + title: Pooltag + type: string + type: object + required: + - validators + SlashingCohortAnalysis: + title: SlashingCohortAnalysis + properties: + cohort: + title: Cohort + type: string + lastSixMonths: + title: Lastsixmonths + type: integer + minimum: 0 + pastYear: + title: Pastyear + type: integer + minimum: 0 + pastTwoYears: + title: Pasttwoyears + type: integer + minimum: 0 + allTime: + title: Alltime + type: integer + minimum: 0 + type: object + required: + - cohort + - lastSixMonths + - pastYear + - pastTwoYears + - allTime + SlashingLeaderboard: + title: SlashingLeaderboard + properties: + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + slashes: + title: Slashes + type: integer + minimum: 0 + medianSlashedMonth: + title: Medianslashedmonth + type: string + slasherPedigree: + title: Slasherpedigree + type: string + slashingRole: + $ref: '#/components/schemas/SlashingRole' + validatorCount: + title: Validatorcount + type: integer + minimum: 0 + type: object + required: + - id + - idType + - slashes + - medianSlashedMonth + - slasherPedigree + - slashingRole + - validatorCount + SlashingOverview: + title: SlashingOverview + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorsSlashed: + title: Validatorsslashed + type: integer + minimum: 0 + discreteSlashingEvents: + title: Discreteslashingevents + type: integer + minimum: 0 + largestSlashingIncident: + title: Largestslashingincident + type: integer + minimum: 0 + currentSlashingPenaltyGwei: + title: Currentslashingpenaltygwei + type: integer + minimum: 0 + slashingSlotsRatio: + title: Slashingslotsratio + type: number + minimum: 0 + solosRatio: + title: Solosratio + type: number + minimum: 0 + prosRatio: + title: Prosratio + type: number + minimum: 0 + slashingPenaltiesAllRewardsRatio: + title: Slashingpenaltiesallrewardsratio + type: number + minimum: 0 + slashingPenaltiesStakeRatio: + title: Slashingpenaltiesstakeratio + type: number + minimum: 0 + type: object + required: + - timeWindow + - validatorsSlashed + - discreteSlashingEvents + - largestSlashingIncident + - currentSlashingPenaltyGwei + - slashingSlotsRatio + - solosRatio + - prosRatio + - slashingPenaltiesAllRewardsRatio + - slashingPenaltiesStakeRatio + example: + timeWindow: all + validatorsSlashed: 278 + discreteSlashingEvents: 97 + largestSlashingIncident: 2 + currentSlashingPenaltyGwei: 1064833914 + slashingSlotsRatio: 0.00003 + solosSlotsRatio: 0.57554 + prosSlotsRatio: 0.42446 + slashingPenaltiesAllRewardsRatio: 0.00011 + slashingPenaltiesStakeRatio: 0.00001 + SlashingPenalties: + title: SlashingPenalties + properties: + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + validatorPubkey: + title: Validatorpubkey + type: string + slashingEpoch: + title: Slashingepoch + type: integer + minimum: 0 + withdrawableEpoch: + title: Withdrawableepoch + type: integer + minimum: 0 + balanceBeforeSlashing: + title: Balancebeforeslashing + type: integer + minimum: 0 + balanceBeforeWithdrawal: + title: Balancebeforewithdrawal + type: integer + minimum: 0 + slashingPenalties: + title: Slashingpenalties + type: integer + minimum: 0 + type: object + required: + - validatorIndex + - validatorPubkey + - slashingEpoch + - withdrawableEpoch + - balanceBeforeSlashing + - balanceBeforeWithdrawal + - slashingPenalties + example: + validatorIndex: 516858 + validatorPubkey: >- + 0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022 + slashingEpoch: 203644 + withdrawableEpoch: 211836 + balanceBeforeSlashing: 32001900366 + balanceBeforeWithdrawal: 30980804667 + slashingPenalties: 1021095699 + SlashingRole: + title: SlashingRole + description: An enumeration. + enum: + - slashed + - slasher + type: string + SlashingTimeSeries: + title: SlashingTimeSeries + properties: + month: + title: Month + type: string + format: date + validatorsSlashed: + title: Validatorsslashed + type: integer + minimum: 0 + type: object + required: + - month + - validatorsSlashed + SolanaNetworkOverview: + title: SolanaNetworkOverview + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + title: Networkeffectiveness + type: number + networkVoteSuccessRate: + title: Networkvotesuccessrate + type: number + networkMissedBlocksRate: + title: Networkmissedblocksrate + type: number + networkVotingLatency: + title: Networkvotinglatency + type: number + validatorApy: + title: Validatorapy + type: number + netValidatorApy: + title: Netvalidatorapy + type: number + delegatorApy: + title: Delegatorapy + type: number + rewardsSolanaVoting: + title: Rewardssolanavoting + type: number + rewardsSolanaProposals: + title: Rewardssolanaproposals + type: number + rewardsSolanaMev: + title: Rewardssolanamev + type: number + rewardsSolanaRent: + title: Rewardssolanarent + type: number + activeValidatorCount: + title: Activevalidatorcount + type: integer + minimum: 0 + activeValidatorDiff: + title: Activevalidatordiff + type: integer + totalDelegatedStake: + title: Totaldelegatedstake + type: number + activeDelegatorStakeAccountCount: + title: Activedelegatorstakeaccountcount + type: integer + minimum: 0 + activeDelegatorStakeAccountCountDiff: + title: Activedelegatorstakeaccountcountdiff + type: integer + activeDelegatorWithdrawAuthorityCount: + title: Activedelegatorwithdrawauthoritycount + type: integer + minimum: 0 + activeDelegatorWithdrawAuthorityCountDiff: + title: Activedelegatorwithdrawauthoritycountdiff + type: integer + stakeAccountWithdrawAuthorityRatio: + title: Stakeaccountwithdrawauthorityratio + type: number + activeDelegatorStakeAuthorityCount: + title: Activedelegatorstakeauthoritycount + type: integer + minimum: 0 + activeDelegatorStakeAuthorityCountDiff: + title: Activedelegatorstakeauthoritycountdiff + type: integer + stakeAccountStakeAuthorityRatio: + title: Stakeaccountstakeauthorityratio + type: number + networkEffectivenessDiff: + title: Networkeffectivenessdiff + type: number + giniCoefficient: + title: Ginicoefficient + type: number + type: object + required: + - timeWindow + - networkEffectiveness + - networkVoteSuccessRate + - networkMissedBlocksRate + - networkVotingLatency + - validatorApy + - netValidatorApy + - delegatorApy + - rewardsSolanaVoting + - rewardsSolanaProposals + - rewardsSolanaMev + - rewardsSolanaRent + - activeValidatorCount + - activeValidatorDiff + - totalDelegatedStake + - activeDelegatorStakeAccountCount + - activeDelegatorStakeAccountCountDiff + - activeDelegatorWithdrawAuthorityCount + - activeDelegatorWithdrawAuthorityCountDiff + - stakeAccountWithdrawAuthorityRatio + - activeDelegatorStakeAuthorityCount + - activeDelegatorStakeAuthorityCountDiff + - stakeAccountStakeAuthorityRatio + - networkEffectivenessDiff + - giniCoefficient + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkVoteSuccessRate: 0.999 + networkMissedBlocksRate: 0.999 + networkVotingLatency: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + rewardsSolanaVoting: 0.999 + rewardsSolanaProposals: 0.999 + rewardsSolanaRent: 0.999 + rewardsSolanaMev: 0.999 + activeValidatorCount: 999 + activeValidatorDiff: -10 + totalDelegatedStake: 999 + activeDelegatorStakeAccountCount: 999 + activeDelegatorStakeAccountCountDiff: 999 + activeDelegatorWithdrawAuthorityCount: 999 + activeDelegatorWithdrawAuthorityCountDiff: 999 + stakeAccountWithdrawAuthorityRatio: 0.999 + activeDelegatorStakeAuthorityCount: 999 + activeDelegatorStakeAuthorityCountDiff: 999 + stakeAccountStakeAuthorityRatio: 0.999 + networkEffectivenessDiff: 0.999 + giniCoefficient: 0.999 + SolanaValidatorDistributions: + title: SolanaValidatorDistributions + properties: + geo: + title: Geo + items: + $ref: '#/components/schemas/GeoDistribution' + type: array + host: + title: Host + items: + $ref: '#/components/schemas/HostingDistribution' + type: array + client: + title: Client + items: + $ref: '#/components/schemas/ClientDistribution' + type: array + type: object + required: + - geo + - host + - client + example: + geo: + - country: United States + validator_share: 0.5 + - country: Germany + validator_share: 0.5 + host: + - hosting_provider: AWS + validator_share: 0.6 + - hosting_provider: Google Cloud + validator_share: 0.4 + client: + - client: Solana v1.7.9 + validator_share: 0.7 + - client: Jito Solana + validator_share: 0.3 + SolanaValidatorMetadata: + title: SolanaValidatorMetadata + properties: + description: + title: Description + type: string + validatorIdentity: + title: Validatoridentity + type: string + voteAccount: + title: Voteaccount + type: string + validatorName: + title: Validatorname + type: string + keybaseUsername: + title: Keybaseusername + type: string + url: + title: Url + type: string + city: + title: City + type: string + country: + title: Country + type: string + hostingProvider: + title: Hostingprovider + type: string + client: + title: Client + type: string + type: object + required: + - voteAccount + example: + description: world's best validator + validatorIdentity: validatorIdentityABC123 + voteAccount: voteAccountABC123 + validatorName: Mike's Validator + keybaseUsername: someusername + url: https://validator.url + city: London + country: GB + hostingProvider: Amazon + client: solana-jito + SolanaValidatorSummary: + title: SolanaValidatorSummary + properties: + validatorIdentity: + title: Validatoridentity + type: string + voteAccount: + title: Voteaccount + type: string + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + title: Name + type: string + validatorApy: + title: Validatorapy + type: number + delegatorApy: + title: Delegatorapy + type: number + voteCommissionRate: + title: Votecommissionrate + type: number + mevCommissionRate: + title: Mevcommissionrate + type: number + totalStake: + title: Totalstake + type: number + networkPenetration: + title: Networkpenetration + type: number + effectiveness: + title: Effectiveness + type: number + stakeAccountCount: + title: Stakeaccountcount + type: integer + minimum: 0 + type: object + required: + - validatorIdentity + - voteAccount + - timeWindow + - name + - validatorApy + - delegatorApy + - voteCommissionRate + - totalStake + - networkPenetration + example: + validatorIdentity: validatorIdentity + voteAccount: voteAccount + timeWindow: 30d + validatorName: validatorName + name: name + validatorApy: 0.05 + delegatorApy: 0.05 + voteCommissionRate: 0.05 + mevCommissionRate: 0.05 + networkPenetration: 0.24 + effectiveness: 0.984 + stakeAccountCount: 100 + SortOrderEnum: + title: SortOrderEnum + description: An enumeration. + type: string + enum: + - asc + - desc + StakeAction: + title: StakeAction + description: An enumeration. + enum: + - activation + - exit + type: string + Tag: + title: Tag + properties: + id: + title: Id + type: string + format: uuid4 + name: + title: Name + type: string + network: + $ref: '#/components/schemas/Network' + organizationId: + title: Organizationid + type: string + format: uuid4 + createdBy: + title: Createdby + type: string + format: uuid4 + createdAt: + title: Createdat + type: string + format: date-time + updatedAt: + title: Updatedat + type: string + format: date-time + type: object + required: + - id + - name + - network + - organizationId + - createdBy + - createdAt + TagUpdateIn: + title: TagUpdateIn + properties: + name: + title: Name + type: string + type: object + required: + - name + TimeWindow: + title: TimeWindow + description: An enumeration. + type: string + enum: + - 1d + - 7d + - 30d + - all + ValidationError: + title: ValidationError + properties: + loc: + title: Location + items: + anyOf: + - type: string + - type: integer + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + type: object + required: + - loc + - msg + - type + ValidatorApr: + title: ValidatorApr + properties: + id: + title: Id + type: integer + minimum: 0 + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + title: Percentage + type: number + percentageConsensus: + title: Percentageconsensus + type: number + percentageExecution: + title: Percentageexecution + type: number + activeStake: + title: Activestake + type: number + activeValidators: + title: Activevalidators + type: integer + minimum: 0 + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + example: + validatorIndex: 1000 + idType: validator + timeWindow: all + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + ValidatorEffectiveness: + title: ValidatorEffectiveness + properties: + hour: + title: Hour + type: integer + minimum: 0 + day: + title: Day + type: integer + minimum: 0 + startDay: + title: Startday + type: integer + minimum: 0 + endDay: + title: Endday + type: integer + minimum: 0 + startEpoch: + title: Startepoch + type: integer + minimum: 0 + endEpoch: + title: Endepoch + type: integer + minimum: 0 + totalAttestations: + title: Totalattestations + type: integer + minimum: 0 + totalUniqueAttestations: + title: Totaluniqueattestations + type: integer + minimum: 0 + sumCorrectHead: + title: Sumcorrecthead + type: integer + minimum: 0 + sumCorrectTarget: + title: Sumcorrecttarget + type: integer + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + totalAttestationAssignments: + title: Totalattestationassignments + type: integer + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + sumInclusionDelay: + title: Suminclusiondelay + type: number + minimum: 0 + uptime: + title: Uptime + type: number + minimum: 0 + attesterEffectiveness: + title: Attestereffectiveness + type: number + minimum: 0 + proposedCount: + title: Proposedcount + type: integer + minimum: 0 + proposerDutiesCount: + title: Proposerdutiescount + type: integer + minimum: 0 + proposerEffectiveness: + title: Proposereffectiveness + type: number + minimum: 0 + slashesCollected: + title: Slashescollected + type: integer + minimum: 0 + slashesReceived: + title: Slashesreceived + type: integer + minimum: 0 + earnings: + title: Earnings + type: integer + syncSignatureCount: + title: Syncsignaturecount + type: integer + minimum: 0 + validatorEffectiveness: + title: Validatoreffectiveness + type: number + minimum: 0 + estimatedRewards: + title: Estimatedrewards + type: integer + estimatedPenalties: + title: Estimatedpenalties + type: integer + sumPriorityFees: + title: Sumpriorityfees + type: integer + minimum: 0 + sumBaselineMev: + title: Sumbaselinemev + type: integer + sumMissedExecutionRewards: + title: Summissedexecutionrewards + type: integer + sumConsensusBlockRewards: + title: Sumconsensusblockrewards + type: integer + sumMissedConsensusBlockRewards: + title: Summissedconsensusblockrewards + type: integer + sumAllRewards: + title: Sumallrewards + type: integer + sumCorrectSource: + title: Sumcorrectsource + type: integer + minimum: 0 + sumMissedSyncSignatures: + title: Summissedsyncsignatures + type: integer + minimum: 0 + sumSyncCommitteePenalties: + title: Sumsynccommitteepenalties + type: number + sumLateSourceVotes: + title: Sumlatesourcevotes + type: integer + minimum: 0 + sumWrongTargetVotes: + title: Sumwrongtargetvotes + type: integer + minimum: 0 + sumLateTargetVotes: + title: Sumlatetargetvotes + type: integer + minimum: 0 + sumWrongTargetPenalties: + title: Sumwrongtargetpenalties + type: number + sumLateTargetPenalties: + title: Sumlatetargetpenalties + type: number + sumMissedAttestations: + title: Summissedattestations + type: integer + minimum: 0 + sumMissedAttestationPenalties: + title: Summissedattestationpenalties + type: number + sumWrongHeadVotes: + title: Sumwrongheadvotes + type: integer + minimum: 0 + sumWrongHeadPenalties: + title: Sumwrongheadpenalties + type: number + sumAttestationRewards: + title: Sumattestationrewards + type: number + minimum: 0 + sumLateSourcePenalties: + title: Sumlatesourcepenalties + type: number + executionProposedEmptyCount: + title: Executionproposedemptycount + type: integer + minimum: 0 + sumMissedAttestationRewards: + title: Summissedattestationrewards + type: number + minimum: 0 + sumMissedSyncCommitteeRewards: + title: Summissedsynccommitteerewards + type: number + minimum: 0 + sumExternallySourcedExecutionRewards: + title: Sumexternallysourcedexecutionrewards + type: integer + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + type: object + required: + - validatorIndex + ValidatorEffectivenessAggregation: + title: ValidatorEffectivenessAggregation + properties: + hour: + title: Hour + type: integer + minimum: 0 + day: + title: Day + type: integer + minimum: 0 + startDay: + title: Startday + type: integer + minimum: 0 + endDay: + title: Endday + type: integer + minimum: 0 + startEpoch: + title: Startepoch + type: integer + minimum: 0 + endEpoch: + title: Endepoch + type: integer + minimum: 0 + totalAttestations: + title: Totalattestations + type: integer + minimum: 0 + totalUniqueAttestations: + title: Totaluniqueattestations + type: integer + minimum: 0 + sumCorrectHead: + title: Sumcorrecthead + type: integer + minimum: 0 + sumCorrectTarget: + title: Sumcorrecttarget + type: integer + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + totalAttestationAssignments: + title: Totalattestationassignments + type: integer + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + sumInclusionDelay: + title: Suminclusiondelay + type: number + minimum: 0 + uptime: + title: Uptime + type: number + minimum: 0 + attesterEffectiveness: + title: Attestereffectiveness + type: number + minimum: 0 + proposedCount: + title: Proposedcount + type: integer + minimum: 0 + proposerDutiesCount: + title: Proposerdutiescount + type: integer + minimum: 0 + proposerEffectiveness: + title: Proposereffectiveness + type: number + minimum: 0 + slashesCollected: + title: Slashescollected + type: integer + minimum: 0 + slashesReceived: + title: Slashesreceived + type: integer + minimum: 0 + earnings: + title: Earnings + type: integer + syncSignatureCount: + title: Syncsignaturecount + type: integer + minimum: 0 + validatorEffectiveness: + title: Validatoreffectiveness + type: number + minimum: 0 + estimatedRewards: + title: Estimatedrewards + type: integer + estimatedPenalties: + title: Estimatedpenalties + type: integer + sumPriorityFees: + title: Sumpriorityfees + type: integer + minimum: 0 + sumBaselineMev: + title: Sumbaselinemev + type: integer + sumMissedExecutionRewards: + title: Summissedexecutionrewards + type: integer + sumConsensusBlockRewards: + title: Sumconsensusblockrewards + type: integer + sumMissedConsensusBlockRewards: + title: Summissedconsensusblockrewards + type: integer + sumAllRewards: + title: Sumallrewards + type: integer + sumCorrectSource: + title: Sumcorrectsource + type: integer + minimum: 0 + sumMissedSyncSignatures: + title: Summissedsyncsignatures + type: integer + minimum: 0 + sumSyncCommitteePenalties: + title: Sumsynccommitteepenalties + type: number + sumLateSourceVotes: + title: Sumlatesourcevotes + type: integer + minimum: 0 + sumWrongTargetVotes: + title: Sumwrongtargetvotes + type: integer + minimum: 0 + sumLateTargetVotes: + title: Sumlatetargetvotes + type: integer + minimum: 0 + sumWrongTargetPenalties: + title: Sumwrongtargetpenalties + type: number + sumLateTargetPenalties: + title: Sumlatetargetpenalties + type: number + sumMissedAttestations: + title: Summissedattestations + type: integer + minimum: 0 + sumMissedAttestationPenalties: + title: Summissedattestationpenalties + type: number + sumWrongHeadVotes: + title: Sumwrongheadvotes + type: integer + minimum: 0 + sumWrongHeadPenalties: + title: Sumwrongheadpenalties + type: number + sumAttestationRewards: + title: Sumattestationrewards + type: number + minimum: 0 + sumLateSourcePenalties: + title: Sumlatesourcepenalties + type: number + executionProposedEmptyCount: + title: Executionproposedemptycount + type: integer + minimum: 0 + sumMissedAttestationRewards: + title: Summissedattestationrewards + type: number + minimum: 0 + sumMissedSyncCommitteeRewards: + title: Summissedsynccommitteerewards + type: number + minimum: 0 + sumExternallySourcedExecutionRewards: + title: Sumexternallysourcedexecutionrewards + type: integer + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + validatorPubkey: + title: Validatorpubkey + type: string + type: object + required: + - validatorIndex + - validatorPubkey + ValidatorEffectivenessData: + title: ValidatorEffectivenessData + properties: + hour: + title: Hour + type: integer + minimum: 0 + day: + title: Day + type: integer + minimum: 0 + startDay: + title: Startday + type: integer + minimum: 0 + endDay: + title: Endday + type: integer + minimum: 0 + startEpoch: + title: Startepoch + type: integer + minimum: 0 + endEpoch: + title: Endepoch + type: integer + minimum: 0 + totalAttestations: + title: Totalattestations + type: integer + minimum: 0 + totalUniqueAttestations: + title: Totaluniqueattestations + type: integer + minimum: 0 + sumCorrectHead: + title: Sumcorrecthead + type: integer + minimum: 0 + sumCorrectTarget: + title: Sumcorrecttarget + type: integer + minimum: 0 + avgCorrectness: + title: Avgcorrectness + type: number + minimum: 0 + totalAttestationAssignments: + title: Totalattestationassignments + type: integer + minimum: 0 + avgInclusionDelay: + title: Avginclusiondelay + type: number + minimum: 0 + sumInclusionDelay: + title: Suminclusiondelay + type: number + minimum: 0 + uptime: + title: Uptime + type: number + minimum: 0 + attesterEffectiveness: + title: Attestereffectiveness + type: number + minimum: 0 + proposedCount: + title: Proposedcount + type: integer + minimum: 0 + proposerDutiesCount: + title: Proposerdutiescount + type: integer + minimum: 0 + proposerEffectiveness: + title: Proposereffectiveness + type: number + minimum: 0 + slashesCollected: + title: Slashescollected + type: integer + minimum: 0 + slashesReceived: + title: Slashesreceived + type: integer + minimum: 0 + earnings: + title: Earnings + type: integer + syncSignatureCount: + title: Syncsignaturecount + type: integer + minimum: 0 + validatorEffectiveness: + title: Validatoreffectiveness + type: number + minimum: 0 + estimatedRewards: + title: Estimatedrewards + type: integer + estimatedPenalties: + title: Estimatedpenalties + type: integer + sumPriorityFees: + title: Sumpriorityfees + type: integer + minimum: 0 + sumBaselineMev: + title: Sumbaselinemev + type: integer + sumMissedExecutionRewards: + title: Summissedexecutionrewards + type: integer + sumConsensusBlockRewards: + title: Sumconsensusblockrewards + type: integer + sumMissedConsensusBlockRewards: + title: Summissedconsensusblockrewards + type: integer + sumAllRewards: + title: Sumallrewards + type: integer + sumCorrectSource: + title: Sumcorrectsource + type: integer + minimum: 0 + sumMissedSyncSignatures: + title: Summissedsyncsignatures + type: integer + minimum: 0 + sumSyncCommitteePenalties: + title: Sumsynccommitteepenalties + type: number + sumLateSourceVotes: + title: Sumlatesourcevotes + type: integer + minimum: 0 + sumWrongTargetVotes: + title: Sumwrongtargetvotes + type: integer + minimum: 0 + sumLateTargetVotes: + title: Sumlatetargetvotes + type: integer + minimum: 0 + sumWrongTargetPenalties: + title: Sumwrongtargetpenalties + type: number + sumLateTargetPenalties: + title: Sumlatetargetpenalties + type: number + sumMissedAttestations: + title: Summissedattestations + type: integer + minimum: 0 + sumMissedAttestationPenalties: + title: Summissedattestationpenalties + type: number + sumWrongHeadVotes: + title: Sumwrongheadvotes + type: integer + minimum: 0 + sumWrongHeadPenalties: + title: Sumwrongheadpenalties + type: number + sumAttestationRewards: + title: Sumattestationrewards + type: number + minimum: 0 + sumLateSourcePenalties: + title: Sumlatesourcepenalties + type: number + executionProposedEmptyCount: + title: Executionproposedemptycount + type: integer + minimum: 0 + sumMissedAttestationRewards: + title: Summissedattestationrewards + type: number + minimum: 0 + sumMissedSyncCommitteeRewards: + title: Summissedsynccommitteerewards + type: number + minimum: 0 + sumExternallySourcedExecutionRewards: + title: Sumexternallysourcedexecutionrewards + type: integer + type: object + ValidatorMetadata: + title: ValidatorMetadata + properties: + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + validatorPubkey: + title: Validatorpubkey + type: string + pool: + title: Pool + type: string + dvtNetwork: + title: Dvtnetwork + type: string + nodeOperators: + title: Nodeoperators + items: + type: string + type: array + depositAddresses: + title: Depositaddresses + items: + type: string + type: array + dvtOperators: + title: Dvtoperators + items: + type: string + type: array + activationEpoch: + title: Activationepoch + type: integer + activationEligibilityEpoch: + title: Activationeligibilityepoch + type: integer + exitEpoch: + title: Exitepoch + type: integer + withdrawableEpoch: + title: Withdrawableepoch + type: integer + withdrawalAddress: + title: Withdrawaladdress + type: string + type: object + required: + - validatorIndex + - validatorPubkey + example: + activationEpoch: 0 + activationEligibilityEpoch: 0 + depositAddresses: + - '0x74134d0c91798d720a5585364bb4be7396c5b973' + dvtOperators: [] + nodeOperators: [] + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + withdrawalAddress: '0xfff1ce616cf83327981bf61396ad0c04e0c8b771' + ValidatorTag: + title: ValidatorTag + properties: + validatorPubkey: + title: Validatorpubkey + type: string + tagId: + title: Tagid + type: string + format: uuid4 + tagName: + title: Tagname + type: string + createdBy: + title: Createdby + type: string + format: uuid4 + createdAt: + title: Createdat + type: string + format: date-time + type: object + required: + - validatorPubkey + - tagId + - tagName + - createdBy + - createdAt + ValidatorTagIn: + title: ValidatorTagIn + properties: + pubkeys: + title: Pubkeys + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + type: object + required: + - pubkeys + WithdrawalType: + title: WithdrawalType + description: An enumeration. + enum: + - full + - partial + type: string + WithdrawalsPredicted: + title: WithdrawalsPredicted + properties: + validatorIndex: + title: Validatorindex + type: integer + minimum: 0 + withdrawalType: + $ref: '#/components/schemas/WithdrawalType' + withdrawableAmount: + title: Withdrawableamount + type: integer + minimum: 0 + id: + title: Id + type: string + idType: + $ref: '#/components/schemas/IdType' + withdrawalSlot: + title: Withdrawalslot + type: integer + minimum: 0 + withdrawalEpoch: + title: Withdrawalepoch + type: integer + minimum: 0 + type: object + required: + - validatorIndex + - withdrawalType + - withdrawableAmount + - id + - idType + - withdrawalSlot + - withdrawalEpoch + example: + id: LidoX + idType: pool + validatorIndex: 262966 + withdrawableAmount: 1899013868 + withdrawalEpoch: 194148 + withdrawalSlot: 6212758 + withdrawalType: partial + api__schemas__page__Page: + title: Page + properties: + from: + title: From + anyOf: + - type: integer + - type: string + format: date + to: + title: To + anyOf: + - type: integer + - type: string + format: date + size: + title: Size + type: integer + exclusiveMinimum: 0 + default: 10 + granularity: + $ref: '#/components/schemas/GranularityEnum' + filterType: + $ref: '#/components/schemas/FilterTypeEnum' + type: object + api__schemas__page__PaginatedResponse: + title: PaginatedResponse + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: {} + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + api__schemas__page__ValidatorsEffectivenessGroupByEnum: + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + type: string + enum: + - timeWindow + - validator + api__schemas__page_polygon__Page: + title: Page + properties: + from: + title: From + anyOf: + - type: integer + - type: string + format: date + to: + title: To + anyOf: + - type: integer + - type: string + format: date + granularity: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + size: + title: Size + type: integer + exclusiveMinimum: 0 + type: object + api__schemas__page_polygon__PaginatedResponse: + title: PaginatedResponse + properties: + page: + $ref: '#/components/schemas/api__schemas__page_polygon__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: {} + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + api__schemas__page_solana__Page: + title: Page + properties: + from: + title: From + anyOf: + - type: integer + - type: string + format: date + to: + title: To + anyOf: + - type: integer + - type: string + format: date + granularity: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + size: + title: Size + type: integer + exclusiveMinimum: 0 + type: object + api__schemas__page_solana__PaginatedResponse: + title: PaginatedResponse + properties: + page: + $ref: '#/components/schemas/api__schemas__page_solana__Page' + total: + title: Total + type: integer + minimum: 0 + data: + title: Data + items: {} + type: array + next: + title: Next + type: string + type: object + required: + - page + - total + - data + api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum: + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + type: string + enum: + - granularity + - validator + networks__polygon__granularity__Granularity: + title: Granularity + description: An enumeration. + type: string + enum: + - checkpoint + - day + networks__solana__granularity__Granularity: + title: Granularity + description: An enumeration. + enum: + - 3k + - day + - epoch + type: string + PricingGetPlansResponse: + title: Response Get Pricing Plans V0 Pricingplans Get + items: + $ref: '#/components/schemas/PricingPlan' + type: array + OperatorsGetPercentilesResponse: + title: Response Get Percentiles V0 Eth Operators Percentiles Get + items: + $ref: '#/components/schemas/Percentile' + type: array + OperatorsGetRelayerStatsResponse: + title: Response Get Relayer Stats V0 Eth Operators Operator Id Relayers Get + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + OperatorsGetStakeMovementResponse: + title: >- + Response Get Activations Exits Aggregate V0 Eth Operators Operator Id + Stakemovement Get + items: + $ref: '#/components/schemas/ActivationsExitsAggregate' + type: array + NetworkGetStatsResponse: + title: Response Get Network Stats V0 Eth Network Stats Get + items: + $ref: '#/components/schemas/NetworkStats' + type: array + NetworkGetOverviewResponse: + title: Response Get Network Overview V0 Eth Network Overview Get + items: + $ref: '#/components/schemas/NetworkOverview' + type: array + NetworkGetChurnCapacityResponse: + title: Response Get Network Churn Capacity V0 Eth Network Capacity Get + items: + $ref: '#/components/schemas/NetworkChurnCapacity' + type: array + NetworkGetChurnCapacityPoolResponse: + title: >- + Response Get Network Churn Capacity Pool V0 Eth Network Capacity Pool + Get + items: + $ref: '#/components/schemas/NetworkChurnCapacityPool' + type: array + WithdrawalsGetPredictedBySlotResponse: + title: >- + Response Get Withdrawals Predicted By Slot V0 Eth Withdrawals Predicted + Slot Withdrawal Slot Get + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + SlashingsOverviewGetResponse: + title: Response Get Slashing Overview V0 Eth Slashings Overview Get + items: + $ref: '#/components/schemas/SlashingOverview' + type: array + SlashingsGetCohortAnalysisResponse: + title: >- + Response Get Slashing Cohort Analysis V0 Eth Slashings Cohortanalysis + Get + items: + $ref: '#/components/schemas/SlashingCohortAnalysis' + type: array + SlashingsGetTimeSeriesResponse: + title: Response Get Slashing Time Series V0 Eth Slashings Timeseries Get + items: + $ref: '#/components/schemas/SlashingTimeSeries' + type: array + P2PBetaGetGeographicalDistributionResponse: + title: Response Get P2P Geographical Distribution V0 Eth P2P Geographical Get + items: + $ref: '#/components/schemas/P2PGeographicalDistribution' + type: array + PolygonNetworkGetOverviewResponse: + title: Response Get Network Overview V0 Polygon Network Overview Get + items: + $ref: '#/components/schemas/PolygonNetworkOverview' + type: array + SolanaNetworkGetOverviewResponse: + title: Response Get Network Overview V0 Solana Network Overview Get + items: + $ref: '#/components/schemas/SolanaNetworkOverview' + type: array + TagsGetAllResponse: + type: object + properties: {} + example: {} + ValidatorsGetTagResponse: + type: object + properties: {} + example: {} + ValidatorsAddResponse: + title: Response Add Validators V1 Tags Id Validators Post + items: + $ref: '#/components/schemas/ValidatorTag' + type: array + EntityGetEffectivenessResponse: + type: object + properties: {} + example: {} + EntityGetAttestationsResponse: + type: object + properties: {} + example: {} + EntityGetProposalsResponse: + type: object + properties: {} + example: {} + ValidatorsGetEffectivenessResponse: + type: object + properties: {} + example: {} + ValidatorsGetAttestationsResponse: + type: object + properties: {} + example: {} + ValidatorsGetProposalsResponse: + type: object + properties: {} + example: {} + ValidatorsGetEffectiveness200Response: + type: object + properties: {} + example: {} + ValidatorsGetAttestations200Response: + type: object + properties: {} + example: {} + ValidatorsGetProposalsByValidatorIndexOrPubkeyResponse: + type: object + properties: {} + example: {} + EffectivenessGetSetEffectivenessResponse: + type: object + properties: {} + example: {} + AttestationGetAttestationsResponse: + type: object + properties: {} + example: {} + ProposalListGetResponse: + type: object + properties: {} + example: {} + EntityGetRewardsResponse: + type: object + properties: {} + example: {} + EntityGetPenaltiesResponse: + type: object + properties: {} + example: {} + ValidatorsGetRewardsResponse: + type: object + properties: {} + example: {} + ValidatorsGetPenaltiesResponse: + type: object + properties: {} + example: {} + RewardPrivateSetRewardsGetResponse: + type: object + properties: {} + example: {} + PenaltyPrivateSetPenaltiesGetResponse: + type: object + properties: {} + example: {} + EntityGetSummariesResponse: + type: object + properties: {} + example: {} + EntityGetSummaries200Response: + type: object + properties: {} + example: {} + EntityListGetResponse: + type: object + properties: {} + example: {} + EntityGetByIdResponse: + type: object + properties: {} + example: {} + ValidatorsGetAllResponse: + type: object + properties: {} + example: {} + ValidatorsGetValidatorResponse: + type: object + properties: {} + example: {} diff --git a/sdks/db/fixed-specs/realcube-fixed-spec.yaml b/sdks/db/fixed-specs/realcube-fixed-spec.yaml new file mode 100644 index 000000000..d25a59fa2 --- /dev/null +++ b/sdks/db/fixed-specs/realcube-fixed-spec.yaml @@ -0,0 +1,38749 @@ +openapi: 3.0.0 +info: + title: REALCUBE API + description: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). + version: 1.0.0 + contact: + name: REALCUBE GmbH + email: uwe.forgber@realcube.com + x-konfig-ignore: + object-with-no-properties: true +servers: + - url: api.realcube.com/api +tags: + - name: scorecard_memberships + - description: Benutzer + name: users + - description: Hersteller + name: manufacturers + - name: dashboards + - description: Anwendungen + name: apps + - description: Filtereinstellungen + name: building_filter_settings + - description: Gebäude + name: buildings + - description: Vorgänge + name: activities + - description: Stichworte + name: tags + - description: Mieterhöhungen + name: rent_increases + - description: Kundenkontoübersetzungen + name: customer_account_translations + - description: Kundenkonto-Attributgruppen + name: customer_account_attribute_groups + - description: Pläne + name: plans + - description: Abonnements für Anwendungen + name: app_subscriptions + - description: Anwendungs-Konfigurationen + name: app_configs + - description: App-Daten-Repository + name: app_data_repositories + - description: Liegenschaft + name: properties + - description: Liegenschaft Managers + name: property_managers + - description: Grundstück + name: lots + - description: Filter speichern + name: building_save_filters + - description: Einheit Klasse + name: building_unit_types + - description: Einheit + name: building_units + - description: Die Leute + name: people + - description: Die Verträge + name: contracts + - description: Ergänzungen zu einer Contract + name: contract_additions + - description: Zuschüsse zu einer Contract + name: contract_grants + - description: Mitgliedschaftskosten zu einer Contract Mitgliedschaft + name: contract_membership_costs + - description: Kostenarten + name: cost_types + - description: Die Berichtsvorlagen + name: report_templates + - description: Kontoschema-Bericht + name: report_account_schemas + - description: Stockwerk + name: levels + - description: Raum + name: rooms + - description: Anlage + name: facilities + - description: Leistungsarten + name: activity_types + - description: Rollen + name: roles + - description: Rollen Policen + name: role_policies + - description: Mieterhöhungstypen + name: rent_increase_types + - description: Mietsteigerungsindizes + name: rent_increase_indices + - description: Emissionsfaktor-Einstellungen + name: emission_factor_settings + - name: webhooks + - name: scorecards + - name: data_catalogs + - description: Dashboard-Konfigurationen + name: dashboard_configs + - description: Organisation + name: organisations + - description: Benutzer Zugehörigkeit zu einer Organisation + name: organisation_memberships + - description: Schemakonfiguration zu einer Organisation + name: organisation_configs + - description: Kundenspezifisches Schema + name: customer_account_schemas + - description: Anlagengruppe + name: departments + - description: Zeitabhängige Attribute + name: time_dependent_attributes + - description: Tracker mieten + name: rent_trackers + - description: Plattform Konfigurationen + name: platform_configs + - description: Task-Mitgliedschaften + name: task_memberships + - name: customer_account_categories + - name: csv_imports + - name: scorecard_assigners + - description: Kundenkonto + name: customer_accounts + - description: Kundenkontokategorie-Konfigurationen + name: customer_account_category_configs + - description: Plan Versionen + name: plan_versions + - description: Kundenspezifische Konfiguration + name: customer_account_configs + - description: Kundenspezifische Attribute + name: customer_attributes_schemas + - description: Benutzer Zugehörigkeit zu einer Person + name: person_memberships + - description: Kaution + name: security_deposits + - description: Fläche + name: zones + - description: Anlagenart + name: facility_types + - description: Dokumente + name: attachments + - description: Bilder + name: images + - name: building_energies + - name: buildings_finances + - name: building_fms + - name: building_unit_retails + - name: building_unit_retail_metrics + - name: building_waters + - name: addtl_building_ids + - name: phases + - name: building_parkings + - name: building_areas + - name: building_unit_areas + - name: building_unit_places + - name: building_unit_places_timeboxeds + - name: building_unit_places_properties + - name: scorecard_segments + - name: scorecard_topics + - name: scorecard_subtopics + - description: Berechtigungsnachweise + name: credentials + - description: Zugehörigkeit der kundenspezifischen Attribute + name: customer_attributes_schema_memberships + - description: Einheit Finanzen + name: building_units_finances + - description: Zugehörigkeit der Einheit zu Gebäude + name: building_unit_memberships + - description: Benutzer Zugehörigkeit zu einer Contract + name: contract_memberships + - name: raw_data_catalogs + - description: Plan-Konfigurationen + name: plan_configs + - description: Anwendungs-Kategorien + name: app_categories + - description: Liegenschaftstyp + name: property_types + - description: Asset Klasse + name: building_types + - description: Raum- und Flächenart + name: room_and_zone_types + - description: EP_code Kombinationen + name: ep_code_combinations + - description: Mieter + name: tenants +paths: + /v1/platform_configs: + post: + tags: + - platform_configs + summary: Creates a platform_config within the current organisation + operationId: Platformconfigs_createNewConfig + security: + - api_key: [] + - oauth: + - platform_config_write + description: Creates a platform_config within the current organisation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigCreate' + required: true + responses: + '201': + description: PlatformConfig successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsCreateNewConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsCreateNewConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsCreateNewConfig403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsCreateNewConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsCreateNewConfig500Response' + get: + tags: + - platform_configs + summary: Shows the platform_configs + operationId: Platformconfigs_showAllConfigs + security: + - api_key: [] + - oauth: + - platform_config_read + description: Shows the platform_configs + responses: + '200': + description: Returns the platform_configs + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigs401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigs403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigs404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigs422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsShowAllConfigs500Response' + /v1/platform_configs/{platform_config_id}: + put: + tags: + - platform_configs + summary: Updates an platform_config within the current organisation. + operationId: Platformconfigs_updateWithinOrganisation + security: + - api_key: [] + - oauth: + - platform_config_write + description: >- + Updates an platform_config within the current organisation. Organisation + manager only 🔒 + parameters: + - description: ID of the platform_config you want to update + name: platform_config_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfig' + required: true + responses: + '200': + description: PlatformConfig successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlatformconfigsUpdateWithinOrganisation500Response + delete: + tags: + - platform_configs + summary: Marks a platform_config as deleted within the current organisation. + operationId: Platformconfigs_markAsDeleted + security: + - api_key: [] + - oauth: + - platform_config_destroy + description: >- + Marks a platform_config as deleted within the current organisation. + Organisation manager only 🔒 + parameters: + - description: ID of the platform_config you want to delete + name: platform_config_id + in: path + required: true + schema: + type: string + responses: + '200': + description: PlatformConfig successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformconfigsMarkAsDeleted500Response' + /v1/users: + post: + tags: + - users + summary: Creates a user. + operationId: Users_createNewUser + security: + - api_key: [] + - oauth: + - user_write + description: | + # Description + Creates a new user + # Password + Make sure you use a strong password + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + required: true + responses: + '201': + description: Returns the created user + content: + application/json: + schema: + $ref: '#/components/schemas/UsersCreateNewUserResponse' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersCreateNewUser422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersCreateNewUser500Response' + get: + tags: + - users + summary: Returns all users within the given account. + operationId: Users_getAll + security: + - api_key: [] + - oauth: + - user_read + description: >- + Returns all users within the given account. They can be filtered based + on account. + parameters: + - description: The ID customer account to filter the users. + name: customer_account_id + in: query + required: false + schema: + type: string + - description: The page to paginate the users. + name: page + in: query + required: false + schema: + type: string + - description: The number of users for a page + name: per_page + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all users within the given account. + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersGetAll500Response' + /v1/users/log_in: + post: + tags: + - users + summary: Login + operationId: Users_authenticateUser + security: + - api_key: [] + - oauth: + - user_write + description: Authenticates user to get the API key or relevant information. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSignIn' + required: true + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + $ref: '#/components/schemas/UsersAuthenticateUserResponse' + '401': + description: Invalid email password combination + content: + application/json: + schema: + $ref: '#/components/schemas/UsersAuthenticateUser401Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersAuthenticateUser422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersAuthenticateUser500Response' + /v1/users/refresh_token: + get: + tags: + - users + summary: Refresh token + operationId: Users_refreshToken + security: + - api_key: [] + - oauth: + - user_read + description: Reauthenticate user to get the API key or relevant information. + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRefreshTokenResponse' + '401': + description: Invalid email password combination + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRefreshToken401Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRefreshToken422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersRefreshToken500Response' + /v1/users/{user_id}: + put: + tags: + - users + summary: Updates the user. + operationId: Users_updateUser + security: + - api_key: [] + - oauth: + - user_write + description: Updates the user + parameters: + - description: The ID customer account + name: customer_account_id + in: query + required: false + schema: + type: string + - description: The ID of the user to update + name: user_id + in: path + required: true + schema: + type: integer + - description: The reset token of the user + name: reset_password_token + in: query + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + required: true + responses: + '200': + description: User successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUserResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUser401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUser403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUser404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUser422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateUser500Response' + delete: + tags: + - users + summary: Delete the user. + operationId: Users_deleteUser + security: + - api_key: [] + - oauth: + - user_destroy + description: Delete the user + parameters: + - description: The ID of the user to delete + name: user_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: User successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUserResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUser401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUser403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUser404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUser422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersDeleteUser500Response' + /v1/users/log_out: + delete: + tags: + - users + summary: Invalidates the current api token + operationId: Users_invalidateApiToken + security: + - api_key: [] + - oauth: + - user_destroy + description: Invalidates the current api token + responses: + '200': + description: Returns the signed out user + content: + application/json: + schema: + $ref: '#/components/schemas/UsersInvalidateApiTokenResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/UsersInvalidateApiToken401Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/UsersInvalidateApiToken422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersInvalidateApiToken500Response' + /v1/users/reset_password_instructions: + put: + tags: + - users + summary: >- + Sends reset password instructions to the user's email address (in german + & english). + operationId: Users_sendResetInstructions + security: + - api_key: [] + - oauth: + - user_write + description: >- + Sends reset password instructions to the user's email address (in german + & english). + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserResetPasswordInstructions' + required: true + responses: + '200': + description: Returns the user with email to which the instructions where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendResetInstructionsResponse' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendResetInstructions404Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendResetInstructions500Response' + /v1/users/send_invitation: + put: + tags: + - users + summary: Sends invitation to the user's email address (in german & english). + operationId: Users_sendInvitation + security: + - api_key: [] + - oauth: + - user_write + description: Sends invitation to the user's email address (in german & english). + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserInvitations' + required: true + responses: + '200': + description: Returns the user with email to which the invitation where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendInvitationResponse' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendInvitation404Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/UsersSendInvitation500Response' + /v1/roles: + get: + tags: + - roles + summary: Returns all roles + operationId: Roles_getAllRoles + security: + - api_key: [] + - oauth: + - role_read + description: Returns all roles, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all roles + content: + application/json: + schema: + $ref: '#/components/schemas/RolesGetAllRolesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolesGetAllRoles401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolesGetAllRoles403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolesGetAllRoles422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolesGetAllRoles500Response' + post: + tags: + - roles + summary: Creates a Role + operationId: Roles_createRole + security: + - api_key: [] + - oauth: + - role_write + description: Creates a Role, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreate' + required: true + responses: + '201': + description: Role successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RolesCreateRoleResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolesCreateRole401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolesCreateRole403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolesCreateRole422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolesCreateRole500Response' + /v1/roles/{role_id}: + get: + tags: + - roles + summary: Shows a Role + operationId: Roles_showRole + security: + - api_key: [] + - oauth: + - role_read + description: Shows a Role, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role to show + name: role_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRoleResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRole401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRole403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRole404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRole422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolesShowRole500Response' + put: + tags: + - roles + summary: Updates a Role + operationId: Roles_updateRole + security: + - api_key: [] + - oauth: + - role_write + description: Updates a Role, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role to update + name: role_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + required: true + responses: + '200': + description: Role successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RolesUpdateRoleResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolesUpdateRole401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolesUpdateRole403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolesUpdateRole422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolesUpdateRole500Response' + delete: + tags: + - roles + summary: Deletes the Role + operationId: Roles_removeRole + security: + - api_key: [] + - oauth: + - role_destroy + description: Deletes the Role, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role to delete + name: role_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Role successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRoleResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRole401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRole403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRole404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRole422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolesRemoveRole500Response' + /v1/role_policies: + get: + tags: + - role_policies + summary: Returns all Role Policies + operationId: Rolepolicies_getAll + security: + - api_key: [] + - oauth: + - role_policy_read + description: Returns all role_policies , Admin, Supervisor 🔒 + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: 'Returns all Role Policies ' + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesGetAll500Response' + post: + tags: + - role_policies + summary: Creates a Role Policy + operationId: Rolepolicies_createPolicy + security: + - api_key: [] + - oauth: + - role_policy_write + description: | + # Description + Creates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyCreate' + required: true + responses: + '201': + description: Role Policy successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesCreatePolicyResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesCreatePolicy401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesCreatePolicy403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesCreatePolicy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesCreatePolicy500Response' + /v1/role_policies/{role_policy_id}: + get: + tags: + - role_policies + summary: Shows a Role Policy + operationId: Rolepolicies_showRolePolicy + security: + - api_key: [] + - oauth: + - role_policy_read + description: Shows a Policy, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role Policy to show + name: role_policy_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role Policy + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicyResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicy401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicy403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicy404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesShowRolePolicy500Response' + put: + tags: + - role_policies + summary: Updates a Role Policy + operationId: Rolepolicies_updatePolicy + security: + - api_key: [] + - oauth: + - role_policy_write + description: | + # Description + Updates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role Policy to update + name: role_policy_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + required: true + responses: + '200': + description: Role Policy successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesUpdatePolicyResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesUpdatePolicy401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesUpdatePolicy403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesUpdatePolicy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesUpdatePolicy500Response' + delete: + tags: + - role_policies + summary: Deletes the Role Policy + operationId: Rolepolicies_deletePolicy + security: + - api_key: [] + - oauth: + - role_policy_destroy + description: Deletes the Role Policy, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the Role Policy to delete + name: role_policy_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Role Policy successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicyResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicy401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicy403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicy404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RolepoliciesDeletePolicy500Response' + /v1/tenants/{boarding_type}: + get: + tags: + - tenants + summary: Shows all tenants + operationId: Tenants_listForBoardingType + security: + - api_key: [] + - oauth: + - tenant_read + description: Shows all tenants for a specific time range + parameters: + - description: 'The type of boarding: onboarding or offboarding' + name: boarding_type + in: path + required: true + schema: + type: string + enum: + - onboarding + - offboarding + - description: The id of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The starting date for new tenant + name: start_date + in: query + example: '2024-03-29' + schema: + type: string + format: date-time + - description: The ending date for new tenant + name: end_date + in: query + example: '2024-03-30' + schema: + type: string + format: date-time + - description: Search by object type + name: search_by + in: query + schema: + type: string + enum: + - organisation + - property + - building + - building_unit + - description: Search by object id + name: item_id + in: query + schema: + type: integer + responses: + '200': + description: Returns the tenant + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TenantsListForBoardingType500Response' + /v1/customer_account_translations: + get: + tags: + - customer_account_translations + summary: >- + Returns all customer_account's translations within the given customer + account + operationId: Customeraccounttranslations_getAllTranslations + security: + - api_key: [] + - oauth: + - customer_account_translation_read + description: >- + Returns all customer_account's translations within the given customer + account + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsGetAllTranslationsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsGetAllTranslations401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsGetAllTranslations403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsGetAllTranslations422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsGetAllTranslations500Response + post: + tags: + - customer_account_translations + summary: Creates a customer_account_translation + operationId: Customeraccounttranslations_createTranslation + security: + - api_key: [] + - oauth: + - customer_account_translation_write + description: | + # Description + Creates a customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslation' + required: true + responses: + '201': + description: CustomerAccountTranslation successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsCreateTranslationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsCreateTranslation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsCreateTranslation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsCreateTranslation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsCreateTranslation500Response + /v1/customer_account_translations/{customer_account_translation_id}: + get: + tags: + - customer_account_translations + summary: Shows a customer_account_translation + operationId: Customeraccounttranslations_showTranslation + security: + - api_key: [] + - oauth: + - customer_account_translation_read + description: Shows a customer_account_translation + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_translation to show + name: customer_account_translation_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_translation + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsShowTranslation500Response + put: + tags: + - customer_account_translations + summary: Updates an customer_account_translation + operationId: Customeraccounttranslations_updateTranslation + security: + - api_key: [] + - oauth: + - customer_account_translation_write + description: | + # Description + Updates an customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_translation to update + name: customer_account_translation_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslation' + required: true + responses: + '200': + description: CustomerAccountTranslation successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsUpdateTranslation500Response + delete: + tags: + - customer_account_translations + summary: >- + Deletes the customer_account_translation within the current customer + account. + operationId: Customeraccounttranslations_deleteTranslation + security: + - api_key: [] + - oauth: + - customer_account_translation_destroy + description: >- + Deletes the customer_account_translation within the current customer + account. Account manager only🔒🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_translation to delete + name: customer_account_translation_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountTranslation successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccounttranslationsDeleteTranslation500Response + /v1/customer_account_attribute_groups: + get: + tags: + - customer_account_attribute_groups + summary: >- + Returns all customer_account's translations within the given customer + account + operationId: Customeraccountattributegroups_getAllTranslations + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + description: >- + Returns all customer_account's translations within the given customer + account + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: Filter by field + name: search_field + in: query + schema: + type: string + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsGetAllTranslationsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsGetAllTranslations401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsGetAllTranslations403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsGetAllTranslations422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsGetAllTranslations500Response + post: + tags: + - customer_account_attribute_groups + summary: Creates a customer_account_attribute_group + operationId: Customeraccountattributegroups_createGroup + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + description: | + # Description + Creates a customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroup' + required: true + responses: + '201': + description: CustomerAccountAttributeGroup successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsCreateGroupResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsCreateGroup401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsCreateGroup403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsCreateGroup422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsCreateGroup500Response + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + get: + tags: + - customer_account_attribute_groups + summary: Shows a customer_account_attribute_group + operationId: Customeraccountattributegroups_showGroup + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + description: Shows a customer_account_attribute_group + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_attribute_group to show + name: customer_account_attribute_group_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_attribute_group + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroupResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroup401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroup403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroup404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroup422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsShowGroup500Response + put: + tags: + - customer_account_attribute_groups + summary: Updates an customer_account_attribute_group + operationId: Customeraccountattributegroups_update + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + description: | + # Description + Updates an customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_attribute_group to update + name: customer_account_attribute_group_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroup' + required: true + responses: + '200': + description: CustomerAccountAttributeGroup successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdateResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdate401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdate403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdate404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdate422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsUpdate500Response + delete: + tags: + - customer_account_attribute_groups + summary: >- + Deletes the customer_account_attribute_group within the current customer + account. + operationId: Customeraccountattributegroups_deleteGroup + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_destroy + description: >- + Deletes the customer_account_attribute_group within the current customer + account. Account manager only🔒🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer_account_attribute_group to delete + name: customer_account_attribute_group_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountAttributeGroup successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroupResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroup401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroup403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroup404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroup422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountattributegroupsDeleteGroup500Response + /v1/ep_code_combinations: + get: + tags: + - ep_code_combinations + summary: Returns all ep_code_combinations + operationId: Epcodecombinations_getAll + security: + - api_key: [] + - oauth: + - ep_code_combination_read + description: >- + Returns all ep_code_combinations, Organisation manager, building member + 🔒 + responses: + '200': + description: Returns all ep_code_combinations + content: + application/json: + schema: + $ref: '#/components/schemas/EpcodecombinationsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/EpcodecombinationsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/EpcodecombinationsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/EpcodecombinationsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/EpcodecombinationsGetAll500Response' + /v1/credentials/me: + get: + tags: + - credentials + summary: Returns user if logged via OAuth + operationId: Credentials_getUserByOAuth + security: + - api_key: [] + - oauth: + - credential_read + description: | + # Description + Returns user if logged via OAuth + responses: + '200': + description: Returns logged user + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsGetUserByOAuthResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsGetUserByOAuth401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsGetUserByOAuth403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsGetUserByOAuth422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsGetUserByOAuth500Response' + /v1/credentials/auth: + post: + tags: + - credentials + summary: Returns EstateOs token + operationId: Credentials_returnToken + security: + - api_key: [] + - oauth: + - credential_write + description: | + # Description + Returns EstateOs token if the logged in user has permissions + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns logged user jwt token + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsReturnTokenResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsReturnToken401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsReturnToken403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsReturnToken422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialsReturnToken500Response' + /v1/dashboard_configs: + post: + tags: + - dashboard_configs + summary: Creates a dashboard_config within the current organisation + operationId: Dashboardconfigs_createNewConfig + security: + - api_key: [] + - oauth: + - dashboard_config_write + description: Creates a dashboard_config within the current organisation + parameters: + - description: The ID of the customer_account to show + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigCreate' + required: true + responses: + '201': + description: DashboardConfig successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsCreateNewConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsCreateNewConfig401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsCreateNewConfig403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsCreateNewConfig422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsCreateNewConfig500Response + /v1/dashboard_configs/{customer_account_id}: + get: + tags: + - dashboard_configs + summary: Shows the dashboard_configs + operationId: Dashboardconfigs_show + security: + - api_key: [] + - oauth: + - dashboard_config_read + description: Shows the dashboard_configs + parameters: + - description: The ID of the customer_account to show + name: customer_account_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the dashboard_configs + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShowResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShow401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShow403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShow404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShow422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsShow500Response' + put: + tags: + - dashboard_configs + summary: Updates an dashboard_config within the current organisation. + operationId: Dashboardconfigs_updateWithinOrganisation + security: + - api_key: [] + - oauth: + - dashboard_config_write + description: >- + Updates an dashboard_config within the current organisation. + Organisation manager only 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfig' + required: true + responses: + '200': + description: DashboardConfig successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardconfigsUpdateWithinOrganisation500Response + delete: + tags: + - dashboard_configs + summary: Marks a dashboard_config as deleted within the current organisation. + operationId: Dashboardconfigs_markAsDeleted + security: + - api_key: [] + - oauth: + - dashboard_config_destroy + description: >- + Marks a dashboard_config as deleted within the current organisation. + Organisation manager only 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: DashboardConfig successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardconfigsMarkAsDeleted500Response' + /v1/dashboards: + get: + tags: + - dashboards + summary: Return customer account dashboards + operationId: Dashboards_getCustomerAccount + security: + - api_key: [] + - oauth: + - dashboard_read + description: Return customer account dashboards + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: | + Filter dashboard with filters
+ { key1: "value1", key2: "value2" } + name: filters + in: query + required: false + schema: + type: string + - description: Locale + name: locale + in: query + required: true + schema: + type: string + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsGetCustomerAccountResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsGetCustomerAccount401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsGetCustomerAccount500Response' + /v1/dashboards/{dashboard_id}: + get: + tags: + - dashboards + summary: Shows a dashboard + operationId: Dashboards_showDashboard + security: + - api_key: [] + - oauth: + - dashboard_read + description: | + # Description + Updates a dashboard Dashboard manager🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the dashboard + name: dashboard_id + in: path + required: true + schema: + type: integer + - description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + name: filters + in: query + required: false + schema: + type: string + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsShowDashboardResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsShowDashboard401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsShowDashboard403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsShowDashboard422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsShowDashboard500Response' + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + put: + tags: + - dashboards + summary: Updates a dashboard + operationId: Dashboards_updateDashboard + security: + - api_key: [] + - oauth: + - dashboard_write + description: | + # Description + Updates a dashboard Dashboard manager🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the dashboard + name: dashboard_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardUpdate' + required: true + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsUpdateDashboardResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsUpdateDashboard401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsUpdateDashboard403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsUpdateDashboard422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsUpdateDashboard500Response' + /v1/dashboards/synchronise: + get: + tags: + - dashboards + summary: Synchronise dashboards + operationId: Dashboards_synchronise + security: + - api_key: [] + - oauth: + - dashboard_read + description: Synchronise dashboards + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsSynchroniseResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsSynchronise403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsSynchronise404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsSynchronise422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsSynchronise500Response' + /v1/dashboards/session_expire: + get: + tags: + - dashboards + summary: Expire all sessions for the current user + operationId: Dashboards_expireSessions + security: + - api_key: [] + - oauth: + - dashboard_read + description: Expire all sessions for the current user + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The locale of the user + name: locale + in: query + required: true + schema: + type: string + enum: + - en + - de + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsExpireSessionsResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsExpireSessions403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsExpireSessions404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsExpireSessions422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsExpireSessions500Response' + /v1/dashboards/{dashboard_id}/copy: + put: + tags: + - dashboards + summary: Copy a dashboard on looker + operationId: Dashboards_copyOnFolder + security: + - api_key: [] + - oauth: + - dashboard_write + description: > + # Description + + Copy a dashboard on looker on the folder specified for the current + account. + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the dashboard + name: dashboard_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Dashboard successfully copied + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsCopyOnFolderResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsCopyOnFolder401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsCopyOnFolder403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsCopyOnFolder422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsCopyOnFolder500Response' + /v1/dashboards/order: + put: + tags: + - dashboards + summary: Order dashboards + operationId: Dashboards_orderDashboards + security: + - api_key: [] + - oauth: + - dashboard_write + description: | + # Description + Order dashboards by providing dashboard ids in array + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardOrderUpdate' + required: true + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboardsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboards401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboards403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboards404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboards422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsOrderDashboards500Response' + /v1/dashboards/explore: + get: + tags: + - dashboards + summary: Return customer account explore with url + operationId: Dashboards_returnCustomerAccountExploreWithUrl + security: + - api_key: [] + - oauth: + - dashboard_read + description: Return customer account explore with url + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + name: filters + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns the explore + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardsReturnCustomerAccountExploreWithUrlResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardsReturnCustomerAccountExploreWithUrl401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/DashboardsReturnCustomerAccountExploreWithUrl500Response + /v1/apps: + get: + tags: + - apps + summary: Returns all apps + operationId: Apps_getAllApps + security: + - api_key: [] + - oauth: + - app_read + description: Returns all apps, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all apps + content: + application/json: + schema: + $ref: '#/components/schemas/AppsGetAllAppsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsGetAllApps401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsGetAllApps403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsGetAllApps422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsGetAllApps500Response' + post: + tags: + - apps + summary: Creates a app + operationId: Apps_createApp + security: + - api_key: [] + - oauth: + - app_write + description: Creates a app, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCreate' + required: true + responses: + '201': + description: App successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateAppResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateApp401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateApp403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateApp422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateApp500Response' + /v1/apps/{app_id}: + get: + tags: + - apps + summary: Shows a app + operationId: Apps_showApp + security: + - api_key: [] + - oauth: + - app_read + description: Shows a app, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app to show + name: app_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the app + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowAppResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowApp401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowApp403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowApp404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowApp422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsShowApp500Response' + put: + tags: + - apps + summary: Updates a app + operationId: Apps_updateApp + security: + - api_key: [] + - oauth: + - app_write + description: Updates a app, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app to update + name: app_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/App' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AppsUpdateAppResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsUpdateApp401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsUpdateApp403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsUpdateApp422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsUpdateApp500Response' + delete: + tags: + - apps + summary: Deletes the app + operationId: Apps_deleteApp + security: + - api_key: [] + - oauth: + - app_destroy + description: Deletes the app, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app to delete + name: app_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: App successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteAppResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteApp401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteApp403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteApp404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteApp422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteApp500Response' + /v1/app_categories: + get: + tags: + - app_categories + summary: Returns all app's categories + operationId: Appcategories_getAllCategories + security: + - api_key: [] + - oauth: + - app_category_read + description: Returns all app's categories, Admin, Supervisor 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's categories + content: + application/json: + schema: + $ref: '#/components/schemas/AppcategoriesGetAllCategoriesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppcategoriesGetAllCategories401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppcategoriesGetAllCategories403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppcategoriesGetAllCategories422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppcategoriesGetAllCategories500Response' + /v1/app_subscriptions: + get: + tags: + - app_subscriptions + summary: Returns all app's subscriptions + operationId: Appsubscriptions_getAllSubs + security: + - api_key: [] + - oauth: + - app_subscription_read + description: Admin, Supervisor 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's subscriptions + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsGetAllSubsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsGetAllSubs401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsGetAllSubs403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsGetAllSubs422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsGetAllSubs500Response' + post: + tags: + - app_subscriptions + summary: Creates an app's subscription. + operationId: Appsubscriptions_createSubscription + security: + - api_key: [] + - oauth: + - app_subscription_write + description: | + # Description + • Creates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscriptionCreate' + required: true + responses: + '201': + description: App's subscription successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsCreateSubscriptionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsCreateSubscription401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsCreateSubscription403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsCreateSubscription422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsCreateSubscription500Response + /v1/app_subscriptions/{app_subscription_id}: + get: + tags: + - app_subscriptions + summary: Shows an app's subscription + operationId: Appsubscriptions_showSubscription + security: + - api_key: [] + - oauth: + - app_subscription_read + description: Shows an app's subscription, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the subscription to show + name: app_subscription_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's subscription + content: + application/json: + schema: + $ref: '#/components/schemas/AppsubscriptionsShowSubscriptionResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsShowSubscription401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsShowSubscription403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsShowSubscription404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsShowSubscription422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsShowSubscription500Response + put: + tags: + - app_subscriptions + summary: Updates a app's subscription + operationId: Appsubscriptions_updateSubscription + security: + - api_key: [] + - oauth: + - app_subscription_write + description: | + # Description + • Updates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the subscription to update + name: app_subscription_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscription' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsUpdateSubscriptionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsUpdateSubscription401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsUpdateSubscription403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsUpdateSubscription422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsUpdateSubscription500Response + delete: + tags: + - app_subscriptions + summary: Deletes the subscription + operationId: Appsubscriptions_deleteSubscription + security: + - api_key: [] + - oauth: + - app_subscription_destroy + description: Deletes the subscription, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the subscription to delete + name: app_subscription_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: App's subscription successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscriptionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscription401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscription403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscription404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscription422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppsubscriptionsDeleteSubscription500Response + /v1/app_configs: + get: + tags: + - app_configs + summary: Returns all app's configs. + operationId: Appconfigs_getAllConfigs + security: + - api_key: [] + - oauth: + - app_config_read + description: Returns all app's configs, Admin, Supervisor 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app_subscription + name: app_subscription_id + in: query + required: false + schema: + type: integer + responses: + '200': + description: Returns all app's configs + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsGetAllConfigsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsGetAllConfigs401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsGetAllConfigs403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsGetAllConfigs422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsGetAllConfigs500Response' + post: + tags: + - app_configs + summary: Creates an app's config. + operationId: Appconfigs_createConfig + security: + - api_key: [] + - oauth: + - app_config_write + description: Creates an app's config. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfigCreate' + required: true + responses: + '201': + description: App's config successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsCreateConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsCreateConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsCreateConfig403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsCreateConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsCreateConfig500Response' + /v1/app_configs/{app_config_id}: + get: + tags: + - app_configs + summary: Shows an app's config. + operationId: Appconfigs_showConfig + security: + - api_key: [] + - oauth: + - app_config_read + description: Shows an app's config. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the config to show + name: app_config_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's config + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfig403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfig404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsShowConfig500Response' + put: + tags: + - app_configs + summary: Updates a app's config. + operationId: Appconfigs_updateConfig + security: + - api_key: [] + - oauth: + - app_config_write + description: Updates a app's config. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the config to update + name: app_config_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfig' + required: true + responses: + '200': + description: App config successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsUpdateConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsUpdateConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsUpdateConfig403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsUpdateConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsUpdateConfig500Response' + delete: + tags: + - app_configs + summary: Deletes the config. + operationId: Appconfigs_deleteConfig + security: + - api_key: [] + - oauth: + - app_config_destroy + description: Deletes the config. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the config to delete + name: app_config_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: App's config successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfig403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfig404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppconfigsDeleteConfig500Response' + /v1/apps/{app_id}/memberships: + post: + tags: + - apps + summary: Creates a app membership to category + operationId: Apps_createMembershipToCategory + security: + - api_key: [] + - oauth: + - app_write + description: Creates a app membership to category, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app membership to create + name: app_category_membership_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCategoryMembershipShow' + required: true + responses: + '201': + description: App Category Membership successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateMembershipToCategoryResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateMembershipToCategory401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateMembershipToCategory403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateMembershipToCategory422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsCreateMembershipToCategory500Response' + delete: + tags: + - apps + summary: Deletes the app category membership + operationId: Apps_deleteCategoryMembership + security: + - api_key: [] + - oauth: + - app_destroy + description: Deletes the app category membership, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app category membership to delete + name: app_category_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: App category membership successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembershipResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembership401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembership403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembership404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembership422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AppsDeleteCategoryMembership500Response' + /v1/app_data_repositories: + get: + tags: + - app_data_repositories + summary: Returns all subscription's data_repositories. + operationId: Appdatarepositories_getAllDataRepositories + security: + - api_key: [] + - oauth: + - app_data_repository_read + description: Returns all subscription's data_repositories. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app_subscription + name: app_subscription_id + in: query + required: false + schema: + type: integer + - description: The ID of the parent + name: parent_id + in: query + required: false + schema: + type: integer + - description: The Type of the parent + name: parent_type + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all app's data_repositories + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesGetAllDataRepositoriesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesGetAllDataRepositories401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesGetAllDataRepositories403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesGetAllDataRepositories422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesGetAllDataRepositories500Response + post: + tags: + - app_data_repositories + summary: Creates a app_data_repository + operationId: Appdatarepositories_createNewRepository + security: + - api_key: [] + - oauth: + - app_data_repository_write + description: Creates a app_data_repository. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryCreate' + required: true + responses: + '201': + description: App's data_repository successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesCreateNewRepositoryResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesCreateNewRepository401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesCreateNewRepository403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesCreateNewRepository422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesCreateNewRepository500Response + /v1/app_data_repositories/latest_version: + get: + tags: + - app_data_repositories + summary: Shows an app_data_repository. + operationId: Appdatarepositories_showRepository + security: + - api_key: [] + - oauth: + - app_data_repository_read + description: Shows an app_data_repository. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the parent + name: parent_id + in: query + required: false + schema: + type: integer + - description: The Type of the parent + name: parent_type + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns the app_data_repository + content: + application/json: + schema: + $ref: '#/components/schemas/AppdatarepositoriesShowRepositoryResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesShowRepository401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesShowRepository403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesShowRepository404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesShowRepository422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesShowRepository500Response + /v1/app_data_repositories/{app_data_repository_id}: + put: + tags: + - app_data_repositories + summary: Updates an app_data_repository + operationId: Appdatarepositories_updateRepository + security: + - api_key: [] + - oauth: + - app_data_repository_write + description: Updates an app_data_repository. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app_data_repository + name: app_data_repository_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryUpdate' + required: true + responses: + '200': + description: App's data_repository successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesUpdateRepositoryResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesUpdateRepository401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesUpdateRepository403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesUpdateRepository422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesUpdateRepository500Response + delete: + tags: + - app_data_repositories + summary: Deletes the app_data_repository. + operationId: Appdatarepositories_deleteRepository + security: + - api_key: [] + - oauth: + - app_data_repository_destroy + description: Deletes the app_data_repository. Admin, Supervisor 🔒 + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the app_data_repository + name: app_data_repository_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: App's data_repository successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepositoryResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepository401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepository403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepository404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepository422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AppdatarepositoriesDeleteRepository500Response + /v1/plans: + get: + tags: + - plans + summary: Returns all plans within the given building + operationId: Plans_getAllInBuilding + security: + - api_key: [] + - oauth: + - plan_read + description: >- + Returns all plans within the given building, Organisation manager, + building member, plan_member, plan_manager 🔒 + parameters: + - description: The ID of the building of the plan + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all plans within the given building + content: + application/json: + schema: + $ref: '#/components/schemas/PlansGetAllInBuildingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlansGetAllInBuilding401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlansGetAllInBuilding403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlansGetAllInBuilding422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlansGetAllInBuilding500Response' + post: + tags: + - plans + summary: Creates a plan + operationId: Plans_createNewPlan + security: + - api_key: [] + - oauth: + - plan_write + description: >- + Creates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + parameters: + - description: The ID of the building of the plan + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreate' + required: true + responses: + '201': + description: Plan successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PlansCreateNewPlanResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlansCreateNewPlan401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlansCreateNewPlan403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlansCreateNewPlan422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlansCreateNewPlan500Response' + /v1/plans/{plan_id}: + get: + tags: + - plans + summary: Shows a plan + operationId: Plans_showPlan + security: + - api_key: [] + - oauth: + - plan_read + description: >- + Shows a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + parameters: + - description: The ID of the building of the plan + name: building_id + in: query + required: true + schema: + type: integer + - description: The ID of the plan to show + name: plan_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the plan + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlanResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlan401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlan403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlan404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlan422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlansShowPlan500Response' + put: + tags: + - plans + summary: Updates a plan + operationId: Plans_updatePlan + security: + - api_key: [] + - oauth: + - plan_write + description: >- + Updates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + parameters: + - description: The ID of the building of the plan + name: building_id + in: query + required: true + schema: + type: integer + - description: The ID of the plan to update + name: plan_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Plan' + required: true + responses: + '200': + description: Plan successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PlansUpdatePlanResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlansUpdatePlan401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlansUpdatePlan403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlansUpdatePlan422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlansUpdatePlan500Response' + delete: + tags: + - plans + summary: Deletes the plan within the current building + operationId: Plans_deletePlanWithinBuilding + security: + - api_key: [] + - oauth: + - plan_destroy + description: >- + Deletes the plan within the current building, Organisation manager, + building member, plan_member, plan_manager 🔒 + parameters: + - description: The ID of the building of the plan + name: building_id + in: query + required: true + schema: + type: integer + - description: The ID of the plan to delete + name: plan_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Plan successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuildingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuilding401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuilding403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuilding404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuilding422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlansDeletePlanWithinBuilding500Response' + /v1/plan_configs: + get: + tags: + - plan_configs + summary: Returns all plan's configs. + operationId: Planconfigs_getAllConfigs + security: + - api_key: [] + - oauth: + - plan_config_read + description: Returns all plan's configs. Admin, Supervisor 🔒 + parameters: + - description: The ID of the parent + name: parent_id + in: query + required: false + schema: + type: integer + - description: | + The type of the parent + Allowed parent_types: ["Organisation", "Building", "Building::Unit"] + name: parent_type + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all plan's configs + content: + application/json: + schema: + $ref: '#/components/schemas/PlanconfigsGetAllConfigsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlanconfigsGetAllConfigs401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlanconfigsGetAllConfigs403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlanconfigsGetAllConfigs422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlanconfigsGetAllConfigs500Response' + /v1/plan_versions: + post: + tags: + - plan_versions + summary: Creates a plan + operationId: Planversions_createPlanVersion + security: + - api_key: [] + - oauth: + - plan_version_write + description: >- + Creates a plan, organisation_manager, building_member, plan_member, + plan_manager 🔒 + parameters: + - description: The ID of the plan of the plan version + name: plan_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionCreate' + required: true + responses: + '201': + description: Plan Version successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsCreatePlanVersionResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsCreatePlanVersion401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsCreatePlanVersion403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsCreatePlanVersion422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsCreatePlanVersion500Response' + /v1/plan_versions/{id}: + put: + tags: + - plan_versions + summary: Updates a plan version + operationId: Planversions_updateVersion + security: + - api_key: [] + - oauth: + - plan_version_write + description: >- + Updates a plan version, organisation_manager, building_member, + plan_member, plan_manager 🔒 + parameters: + - description: The ID of the plan of the plan version + name: plan_id + in: query + required: true + schema: + type: integer + - description: The ID of the plan version to update + name: id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionUpdate' + required: true + responses: + '200': + description: Plan Version successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsUpdateVersionResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsUpdateVersion401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsUpdateVersion403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsUpdateVersion422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PlanversionsUpdateVersion500Response' + delete: + tags: + - plan_versions + summary: Deletes the plan version within the current plan + operationId: Planversions_deleteWithinCurrentPlan + security: + - api_key: [] + - oauth: + - plan_version_destroy + description: >- + Deletes the plan version within the current plan, organisation_manager, + building_member, plan_member, plan_manager 🔒 + parameters: + - description: The ID of the plan of the version + name: plan_id + in: query + required: true + schema: + type: integer + - description: The ID of the plan version to delete + name: id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Plan Version successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlanResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlan401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlan403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlan404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlan422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PlanversionsDeleteWithinCurrentPlan500Response + /v1/organisations: + get: + tags: + - organisations + summary: >- + Returns all organisations the authenticated user is member of including + her membership role within each organisation + operationId: Organisations_listMemberRoles + security: + - api_key: [] + - oauth: + - organisation_read + description: > + Returns all organisations the authenticated user is member of including + her membership role within each organisation + parameters: + - description: The ID customer account to filter the users. + name: customer_account_id + in: query + required: false + schema: + type: string + - description: The page to paginate the users. + name: page + in: query + required: false + schema: + type: string + - description: The number of users for a page + name: per_page + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all organisations the authenticated user is member of + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsListMemberRolesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsListMemberRoles401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsListMemberRoles403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsListMemberRoles422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsListMemberRoles500Response' + post: + tags: + - organisations + summary: Creates a organisation of the user for a customer account + operationId: Organisations_createUserForCustomer + security: + - api_key: [] + - oauth: + - organisation_write + description: | + Creates a organisation of the user for a customer account + parameters: + - description: The ID customer account of organisation. + name: customer_account_id + in: query + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationCreate' + required: true + responses: + '200': + description: Creates an organisation of the user for a customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsCreateUserForCustomerResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsCreateUserForCustomer401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsCreateUserForCustomer403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsCreateUserForCustomer422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsCreateUserForCustomer500Response + /v1/organisations/{organisation_id}: + put: + tags: + - organisations + summary: Updates an organisation. + operationId: Organisations_updateOrganisation + security: + - api_key: [] + - oauth: + - organisation_write + description: Updates an organisation. Organisation manager only 🔒 + parameters: + - description: The ID of the organisation to update + name: organisation_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Organisation' + required: true + responses: + '200': + description: Organisation successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsUpdateOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsUpdateOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsUpdateOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsUpdateOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsUpdateOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsUpdateOrganisation500Response + delete: + tags: + - organisations + summary: Deletes the organisation. + operationId: Organisations_deleteOrganisation + security: + - api_key: [] + - oauth: + - organisation_destroy + description: Deletes the organisation. Admin only 🔒 + parameters: + - description: The ID of the organisation to delete + name: organisation_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Organisation successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationsDeleteOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsDeleteOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsDeleteOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsDeleteOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsDeleteOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationsDeleteOrganisation500Response + /v1/organisation_configs: + post: + tags: + - organisation_configs + summary: Creates a config in an organisation for a user. + operationId: Organisationconfigs_createConfigForUser + security: + - api_key: [] + - oauth: + - organisation_config_write + description: >- + Creates a config in an organisation for a user. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Config successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsCreateConfigForUserResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsCreateConfigForUser401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsCreateConfigForUser403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsCreateConfigForUser422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsCreateConfigForUser500Response + /v1/organisation_configs/{organisation_config_id}: + get: + tags: + - organisation_configs + summary: Returns the config for the current organisation of the user. + operationId: Organisationconfigs_getConfig + security: + - api_key: [] + - oauth: + - organisation_config_read + description: >- + Returns the config for the current organisation of the user. + Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the organisation config + name: organisation_config_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns all configs within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsGetConfigResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsGetConfig401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsGetConfig403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsGetConfig422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsGetConfig500Response' + put: + tags: + - organisation_configs + summary: Update a configs in an organisation for a user. + operationId: Organisationconfigs_updateUserConfig + security: + - api_key: [] + - oauth: + - organisation_config_write + description: >- + Update a configs in an organisation for a user. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the organisation config + name: organisation_config_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsUpdateUserConfigResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsUpdateUserConfig401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsUpdateUserConfig403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsUpdateUserConfig422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationconfigsUpdateUserConfig500Response + delete: + tags: + - organisation_configs + summary: Deletes the organisation configs. + operationId: Organisationconfigs_delete + security: + - api_key: [] + - oauth: + - organisation_config_destroy + description: Deletes the organisation configs. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the organisation config to delete + name: organisation_config_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Config successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDeleteResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDelete401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDelete403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDelete404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDelete422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationconfigsDelete500Response' + /v1/organisation_memberships: + get: + tags: + - organisation_memberships + summary: Returns all memberships within the given organisation. + operationId: Organisationmemberships_getAll + security: + - api_key: [] + - oauth: + - organisation_membership_read + description: >- + Returns all memberships within the given organisation. Organisation + manager only 🔒 + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the organisation + name: current_organisation_id + in: query + required: false + schema: + type: integer + - description: ID of the user + name: user_id + in: query + required: false + schema: + type: integer + responses: + '200': + description: Returns all memberships within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationmembershipsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationmembershipsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationmembershipsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationmembershipsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationmembershipsGetAll500Response' + post: + tags: + - organisation_memberships + summary: Creates a membership in an organisation for a user. + operationId: Organisationmemberships_createUserMembership + security: + - api_key: [] + - oauth: + - organisation_membership_write + description: >- + Creates a membership in an organisation for a user. Organisation manager + only 🔒 + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsCreateUserMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsCreateUserMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsCreateUserMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsCreateUserMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsCreateUserMembership500Response + /v1/organisation_memberships/{organisations_membership_id}: + put: + tags: + - organisation_memberships + summary: Updates the organisation membership. + operationId: Organisationmemberships_updateMembership + security: + - api_key: [] + - oauth: + - organisation_membership_write + description: Updates the organisation membership. Organisation manager only 🔒 + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the organisation membership to update + name: organisations_membership_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + required: true + responses: + '200': + description: Organisation membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsUpdateMembershipResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsUpdateMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsUpdateMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsUpdateMembership500Response + delete: + tags: + - organisation_memberships + summary: Deletes the organisation membership. + operationId: Organisationmemberships_deleteMembership + security: + - api_key: [] + - oauth: + - organisation_membership_destroy + description: Deletes the organisation membership. Organisation manager only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the organisation membership to delete + name: organisations_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/OrganisationmembershipsDeleteMembership500Response + /v1/customer_accounts/{id}/time_attribute_schema: + put: + tags: + - customer_accounts + summary: Updates a customer_account's time_attribute_schema. + operationId: Customeraccounts_updateTimeAttributeSchema + security: + - api_key: [] + - oauth: + - customer_account_write + description: >- + Updates a customer account's time_attribute_schema. Account membership + only🔒🔒 + parameters: + - description: ID of the customer account + name: id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccount' + required: true + responses: + '200': + description: Customer account's time_attribute_schema successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsUpdateTimeAttributeSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsUpdateTimeAttributeSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsUpdateTimeAttributeSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsUpdateTimeAttributeSchema404Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsUpdateTimeAttributeSchema500Response + /v1/customer_accounts: + get: + tags: + - customer_accounts + summary: Gets all user's customer_accounts. + operationId: Customeraccounts_getAllUserAccounts + security: + - api_key: [] + - oauth: + - customer_account_read + description: Gets all user's customer_accounts. + responses: + '200': + description: Customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetAllUserAccountsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetAllUserAccounts401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetAllUserAccounts403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetAllUserAccounts404Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetAllUserAccounts500Response + /v1/customer_accounts/{id}: + get: + tags: + - customer_accounts + summary: Gets a customer_account. + operationId: Customeraccounts_getCustomerAccount + security: + - api_key: [] + - oauth: + - customer_account_read + description: Gets a customer account + parameters: + - description: ID of the customer account + name: id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetCustomerAccountResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetCustomerAccount401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetCustomerAccount403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetCustomerAccount404Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountsGetCustomerAccount500Response + /v1/customer_attributes_schemas: + get: + tags: + - customer_attributes_schemas + summary: Returns all customer attributes schemas. + operationId: Customerattributesschemas_getAll + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + description: Returns all customer attributes schemas. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer attributes schemas + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerattributesschemasGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasGetAll401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasGetAll403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasGetAll422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasGetAll500Response + post: + tags: + - customer_attributes_schemas + summary: Creates a customer attributes schema. + operationId: Customerattributesschemas_createSchema + security: + - api_key: [] + - oauth: + - customer_attributes_schema_write + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema. A created customer attributes + schema can not be + + changed afterwards, but in case you use an existing name for the same + attributes type the version field is + + incremented. + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaCreate' + required: true + responses: + '201': + description: Customer attributes schema successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasCreateSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasCreateSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasCreateSchema403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasCreateSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasCreateSchema500Response + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + tags: + - customer_attributes_schemas + summary: Shows a customer attributes schema. + operationId: Customerattributesschemas_showSchema + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + description: Shows a customer attributes schema. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer attributes schema to show + name: customer_attributes_schema_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemasShowSchema500Response + /v1/customer_attributes_schema_memberships: + get: + tags: + - customer_attributes_schema_memberships + summary: Returns all customer attributes schema memberships. + operationId: Customerattributesschemamemberships_getAll + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_read + description: >- + Returns all customer attributes schema memberships. Account manager + only🔒🔒 + parameters: + - description: IDs of organisations + name: organisation_ids + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: integer + responses: + '200': + description: Returns all customer attributes schema memberships + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsGetAllResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsGetAll401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsGetAll403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsGetAll422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsGetAll500Response + post: + tags: + - customer_attributes_schema_memberships + summary: Creates a customer attributes schema membership. + operationId: Customerattributesschemamemberships_createMembership + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_write + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema membership. For each organisation + it is only possible to have a base + + customer attributes schema and its subsequent versions per attributes + type. + +
+ + Example: + + + + + + + + + + + + + + + + +
Organisation ASchema with name "Schema A", attributes type "building" and version 1
Organisation ASchema with name "Schema A", attributes type "building" and version 2
Organisation ASchema with name "Schema A", attributes type "building_unit" and version 1
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaMembershipCreate' + required: true + responses: + '201': + description: Customer attributes schema membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsCreateMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsCreateMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsCreateMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsCreateMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomerattributesschemamembershipsCreateMembership500Response + /v1/customer_account_configs: + get: + tags: + - customer_account_configs + summary: Return customer account configuration of customer_account + operationId: Customeraccountconfigs_getConfiguration + security: + - api_key: [] + - oauth: + - customer_account_config_read + description: Return customer account configuration of customer_account + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: Locale + name: locale + in: query + required: false + schema: + type: string + responses: + '200': + description: Return customer account configuration of customer_account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsGetConfigurationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsGetConfiguration401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsGetConfiguration500Response + post: + tags: + - customer_account_configs + summary: Create customer account configuration. + operationId: Customeraccountconfigs_createConfiguration + security: + - api_key: [] + - oauth: + - customer_account_config_write + description: Create customer account configuration. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigCreate' + required: true + responses: + '200': + description: Create customer account configuration + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsCreateConfigurationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsCreateConfiguration401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsCreateConfiguration403Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsCreateConfiguration500Response + /v1/customer_account_configs/{customer_account_config_id}: + put: + tags: + - customer_account_configs + summary: Updates a customer account configuration. + operationId: Customeraccountconfigs_updateConfiguration + security: + - api_key: [] + - oauth: + - customer_account_config_write + description: Updates a customer account configuration. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the customer account to update + name: customer_account_config_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigUpdate' + required: true + responses: + '200': + description: Customer account configuration successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsUpdateConfigurationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsUpdateConfiguration401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsUpdateConfiguration403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsUpdateConfiguration404Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountconfigsUpdateConfiguration500Response + /v1/customer_account_schemas: + get: + tags: + - customer_account_schemas + summary: Returns all customer account schemas. + operationId: Customeraccountschemas_getAll + security: + - api_key: [] + - oauth: + - customer_account_schema_read + description: Returns all customer account schemas. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer account schemas + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasGetAll500Response' + post: + tags: + - customer_account_schemas + summary: Create a customer account schema. + operationId: Customeraccountschemas_createNewSchema + security: + - api_key: [] + - oauth: + - customer_account_schema_write + description: Create a customer account schema. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchema' + required: true + responses: + '201': + description: Customer account schema successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasCreateNewSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasCreateNewSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasCreateNewSchema403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasCreateNewSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasCreateNewSchema500Response + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + tags: + - customer_account_schemas + summary: Shows a customer account schema. + operationId: Customeraccountschemas_showSchema + security: + - api_key: [] + - oauth: + - customer_account_schema_read + description: Shows a customer account schema. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account schema to show + name: customer_account_schema_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + $ref: '#/components/schemas/CustomeraccountschemasShowSchemaResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasShowSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasShowSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasShowSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasShowSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasShowSchema500Response + put: + tags: + - customer_account_schemas + summary: Update a customer account schema. + operationId: Customeraccountschemas_updateSchema + security: + - api_key: [] + - oauth: + - customer_account_schema_write + description: Update a customer account schema. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account schema to show + name: customer_account_schema_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaUpdate' + required: true + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountschemasUpdateSchema500Response + /v1/customer_account_categories: + get: + tags: + - customer_account_categories + summary: Return customer account categories of customer_account + operationId: Customeraccountcategories_getCategories + security: + - api_key: [] + - oauth: + - customer_account_category_read + description: Return customer account categories of customer_account + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: Filter customer account categories based on category id + name: category_id + in: query + required: false + schema: + type: integer + responses: + '200': + description: Return customer account categories of customer_account + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesGetCategoriesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesGetCategories401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesGetCategories500Response + post: + tags: + - customer_account_categories + summary: Creates a customer account category + operationId: Customeraccountcategories_createAccountCategory + security: + - api_key: [] + - oauth: + - customer_account_category_write + description: | + # Description + Creates a customer account category + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategory' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesCreateAccountCategoryResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesCreateAccountCategory401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesCreateAccountCategory403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesCreateAccountCategory422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesCreateAccountCategory500Response + /v1/customer_account_categories/{customer_account_category_id}: + put: + tags: + - customer_account_categories + summary: Update the customer account category + operationId: Customeraccountcategories_updateCategory + security: + - api_key: [] + - oauth: + - customer_account_category_write + description: Update the customer account category + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account category you want to update + name: customer_account_category_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryUpdate' + required: true + responses: + '200': + description: Customer account category successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesUpdateCategoryResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesUpdateCategory403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesUpdateCategory422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesUpdateCategory500Response + delete: + tags: + - customer_account_categories + summary: Delete the customer account category + operationId: Customeraccountcategories_deleteCategory + security: + - api_key: [] + - oauth: + - customer_account_category_destroy + description: Delete the customer account category + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account category you want to delete + name: customer_account_category_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Customer account category successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesDeleteCategoryResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesDeleteCategory403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesDeleteCategory422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoriesDeleteCategory500Response + /v1/contracts: + get: + tags: + - contracts + summary: Returns all contracts within the given customer account + operationId: Contracts_getAllContracts + security: + - api_key: [] + - oauth: + - contract_read + description: | + # Description + Returns all contracts within the given customer account + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the organisation + name: organisation_id + in: query + required: false + schema: + type: integer + - description: IDs of the contract + name: ids + in: query + required: false + style: form + explode: false + schema: + type: array + items: + type: integer + - description: ID of the building related with contract + name: building_id + in: query + required: false + schema: + type: integer + - description: ID of the unit related with contract + name: unit_id + in: query + required: false + schema: + type: integer + responses: + '200': + description: Returns all contracts within the given customer account + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsGetAllContractsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsGetAllContracts401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsGetAllContracts403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsGetAllContracts422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsGetAllContracts500Response' + post: + tags: + - contracts + summary: Creates a contract + operationId: Contracts_createNewContract + security: + - api_key: [] + - oauth: + - contract_write + description: | + # Description + Creates a contract + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractCreate' + required: true + responses: + '201': + description: Contract successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsCreateNewContractResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsCreateNewContract401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsCreateNewContract403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsCreateNewContract422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsCreateNewContract500Response' + /v1/contracts/{contract_id}: + get: + tags: + - contracts + summary: Shows a contract + operationId: Contracts_showContract + security: + - api_key: [] + - oauth: + - contract_read + description: | + # Description + Shows a contract + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the contract to show + name: contract_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the contract + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContractResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContract401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContract403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContract404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContract422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsShowContract500Response' + put: + tags: + - contracts + summary: Updates an contract + operationId: Contracts_updateContract + security: + - api_key: [] + - oauth: + - contract_write + description: | + # Description + Updates an contract + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the contract to update + name: contract_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractUpdate' + required: true + responses: + '200': + description: Contract successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContractResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContract401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContract403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContract404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContract422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsUpdateContract500Response' + delete: + tags: + - contracts + summary: Deletes the contract + operationId: Contracts_deleteContract + security: + - api_key: [] + - oauth: + - contract_destroy + description: Deletes the contract + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the contract to update + name: contract_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Contract successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContractResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContract401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContract403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContract404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContract422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractsDeleteContract500Response' + /v1/contract_memberships/{contract_membership_id}: + delete: + tags: + - contract_memberships + summary: Destroys the contract membership. + operationId: Contractmemberships_destroyMembership + security: + - api_key: [] + - oauth: + - contract_membership_destroy + description: Destroys the contract membership. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the contract membership to be destroyed + name: contract_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsDestroyMembership500Response + /v1/contract_memberships: + post: + tags: + - contract_memberships + summary: Creates a membership in contract. + operationId: Contractmemberships_createMembershipIn + security: + - api_key: [] + - oauth: + - contract_membership_write + description: Creates a membership in contract. Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsCreateMembershipInResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsCreateMembershipIn401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsCreateMembershipIn403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsCreateMembershipIn422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipsCreateMembershipIn500Response + /v1/contract_membership_costs: + get: + tags: + - contract_membership_costs + summary: Returns all contract membership costs for current contract membership + operationId: Contractmembershipcosts_getAllForMember + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + description: Returns all contract membership costs for current contract membership + parameters: + - description: ID of contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract membership costs + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsGetAllForMemberResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsGetAllForMember401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsGetAllForMember403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsGetAllForMember422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsGetAllForMember500Response + post: + tags: + - contract_membership_costs + summary: Create contract membership cost + operationId: Contractmembershipcosts_createNewMembershipCost + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + description: Create contract membership cost + parameters: + - description: ID of contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Create contract membership cost + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsCreateNewMembershipCostResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsCreateNewMembershipCost401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsCreateNewMembershipCost403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsCreateNewMembershipCost422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsCreateNewMembershipCost500Response + /v1/contract_membership_costs/{contract_membership_cost_id}: + get: + tags: + - contract_membership_costs + summary: Shows a contract membership cost + operationId: Contractmembershipcosts_showMembershipCost + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + description: Shows a contract membership cost + parameters: + - description: ID of contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of contract membership cost + name: contract_membership_cost_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return contract membership cost + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCostResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCost401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCost403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCost404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCost422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsShowMembershipCost500Response + put: + tags: + - contract_membership_costs + summary: Update a contract membership cost + operationId: Contractmembershipcosts_updateMembershipCost + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + description: Update a contract membership cost + parameters: + - description: ID of contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of contract membership cost + name: contract_membership_cost_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Contract membership cost successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCostResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCost401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCost403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCost404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCost422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsUpdateMembershipCost500Response + delete: + tags: + - contract_membership_costs + summary: Delete the contract membership cost + operationId: Contractmembershipcosts_deleteMembershipCost + security: + - api_key: [] + - oauth: + - contract_membership_cost_destroy + description: Delete the contract membership cost + parameters: + - description: ID of contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of contract membership cost + name: contract_membership_cost_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Contract membership cost successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCostResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCost401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCost403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCost404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCost422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractmembershipcostsDeleteMembershipCost500Response + /v1/contract_additions: + get: + tags: + - contract_additions + summary: Returns all contract additions for current contract + operationId: Contractadditions_getAllForCurrentContract + security: + - api_key: [] + - oauth: + - contract_addition_read + description: Returns all contract additions for current contract + parameters: + - description: ID of the contract + name: contract_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract additions + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsGetAllForCurrentContractResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsGetAllForCurrentContract401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsGetAllForCurrentContract403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsGetAllForCurrentContract422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsGetAllForCurrentContract500Response + post: + tags: + - contract_additions + summary: Create contract addition + operationId: Contractadditions_createNewAddition + security: + - api_key: [] + - oauth: + - contract_addition_write + description: Create contract addition + parameters: + - description: ID of the contract + name: contract_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Create contract addition + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsCreateNewAdditionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsCreateNewAddition401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsCreateNewAddition403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsCreateNewAddition422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsCreateNewAddition500Response + /v1/contract_additions/{contract_addition_id}: + get: + tags: + - contract_additions + summary: Shows a contract addition + operationId: Contractadditions_showDetail + security: + - api_key: [] + - oauth: + - contract_addition_read + description: Shows a contract addition + parameters: + - description: ID of the contract + name: contract_id + in: query + required: true + schema: + type: integer + - description: ID of the contract addition + name: contract_addition_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return contract addition + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetailResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetail401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetail403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetail404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetail422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractadditionsShowDetail500Response' + put: + tags: + - contract_additions + summary: Update a contract addition + operationId: Contractadditions_updateContractAddition + security: + - api_key: [] + - oauth: + - contract_addition_write + description: Update a contract addition + parameters: + - description: ID of the contract + name: contract_id + in: query + required: true + schema: + type: integer + - description: ID of the contract addition + name: contract_addition_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Contract addition successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAdditionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAddition401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAddition403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAddition404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAddition422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsUpdateContractAddition500Response + delete: + tags: + - contract_additions + summary: Delete the contract addition + operationId: Contractadditions_deleteContractAddition + security: + - api_key: [] + - oauth: + - contract_addition_destroy + description: Delete the contract addition + parameters: + - description: ID of the contract + name: contract_id + in: query + required: true + schema: + type: integer + - description: ID of the contract addition + name: contract_addition_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Contract addition successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAdditionResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAddition401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAddition403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAddition404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAddition422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractadditionsDeleteContractAddition500Response + /v1/contract_grants: + get: + tags: + - contract_grants + summary: Returns all contract grants for current contract + operationId: Contractgrants_getAllForCurrentContract + security: + - api_key: [] + - oauth: + - contract_grant_read + description: Returns all contract grants for current contract + parameters: + - description: ID of the contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract grants + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractgrantsGetAllForCurrentContractResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractgrantsGetAllForCurrentContract401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractgrantsGetAllForCurrentContract403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractgrantsGetAllForCurrentContract422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ContractgrantsGetAllForCurrentContract500Response + post: + tags: + - contract_grants + summary: Create contract grant + operationId: Contractgrants_createGrant + security: + - api_key: [] + - oauth: + - contract_grant_write + description: Create contract grant + parameters: + - description: ID of the contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Create contract grant + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsCreateGrantResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsCreateGrant401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsCreateGrant403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsCreateGrant422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsCreateGrant500Response' + /v1/contract_grants/{contract_grant_id}: + get: + tags: + - contract_grants + summary: Shows a contract grant + operationId: Contractgrants_showGrant + security: + - api_key: [] + - oauth: + - contract_grant_read + description: Shows a contract grant + parameters: + - description: ID of the contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of the contract grant + name: contract_grant_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return contract grant + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrantResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrant401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrant403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrant404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrant422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsShowGrant500Response' + put: + tags: + - contract_grants + summary: Update a contract grant + operationId: Contractgrants_updateGrant + security: + - api_key: [] + - oauth: + - contract_grant_write + description: Update a contract grant + parameters: + - description: ID of the contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of the contract grant + name: contract_grant_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Contract grant successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrantResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrant401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrant403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrant404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrant422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsUpdateGrant500Response' + delete: + tags: + - contract_grants + summary: Delete the contract grant + operationId: Contractgrants_deleteGrant + security: + - api_key: [] + - oauth: + - contract_grant_destroy + description: Delete the contract grant + parameters: + - description: ID of the contract membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: ID of the contract grant + name: contract_grant_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Contract grant successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrantResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrant401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrant403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrant404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrant422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ContractgrantsDeleteGrant500Response' + /v1/security_deposits: + post: + tags: + - security_deposits + summary: Creates a security deposit + operationId: Securitydeposits_createDeposit + security: + - api_key: [] + - oauth: + - security_deposit_write + description: > + # Description + + Creates a security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + parameters: + - description: ID of the Contract Membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '201': + description: Security Deposit successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsCreateDepositResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsCreateDeposit401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsCreateDeposit403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsCreateDeposit422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsCreateDeposit500Response' + /v1/security_deposits/{security_deposit_id}: + put: + tags: + - security_deposits + summary: Updates an security deposit + operationId: Securitydeposits_updateSecurityDeposit + security: + - api_key: [] + - oauth: + - security_deposit_write + description: > + # Description + + Updates an security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + parameters: + - description: ID of the Contract Membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + - description: The ID of the security deposit to update + name: security_deposit_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '200': + description: Security Deposit successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDepositResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDeposit401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDeposit403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDeposit404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDeposit422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/SecuritydepositsUpdateSecurityDeposit500Response + delete: + tags: + - security_deposits + summary: Deletes the Security Deposit + operationId: Securitydeposits_deleteDeposit + security: + - api_key: [] + - oauth: + - security_deposit_destroy + description: Deletes the Security Deposit + parameters: + - description: ID of the Security Deposit + name: security_deposit_id + in: path + required: true + schema: + type: integer + - description: The ID of the contract_membership + name: contract_membership_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Security Deposit successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDepositResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDeposit401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDeposit403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDeposit404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDeposit422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/SecuritydepositsDeleteDeposit500Response' + /v1/cost_types: + get: + tags: + - cost_types + summary: Returns all types of costs within the given customer_account + operationId: Costtypes_getAll + security: + - api_key: [] + - oauth: + - cost_type_read + description: Returns all types of costs within the given customer_account + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of costs within the given customer_account + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesGetAll500Response' + post: + tags: + - cost_types + summary: Creates a type of cost + operationId: Costtypes_createTypeOfCost + security: + - api_key: [] + - oauth: + - cost_type_write + description: | + # Description + Creates a type of cost + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeCreate' + required: true + responses: + '201': + description: Cost type successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesCreateTypeOfCostResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesCreateTypeOfCost401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesCreateTypeOfCost403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesCreateTypeOfCost422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesCreateTypeOfCost500Response' + /v1/cost_types/{id}: + get: + tags: + - cost_types + summary: Shows a cost type + operationId: Costtypes_showType + security: + - api_key: [] + - oauth: + - cost_type_read + description: Shows a cost type + parameters: + - description: The ID of the cost_type + name: id + in: path + required: true + schema: + type: integer + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns the cost_type + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesShowType500Response' + put: + tags: + - cost_types + summary: Updates an cost_type + operationId: Costtypes_updateCostType + security: + - api_key: [] + - oauth: + - cost_type_write + description: Updates an cost_type + parameters: + - description: The ID of the cost_type to update + name: id + in: path + required: true + schema: + type: integer + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostType' + required: true + responses: + '200': + description: Cost type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesUpdateCostType500Response' + delete: + tags: + - cost_types + summary: Deletes the cost_type + operationId: Costtypes_deleteCostType + security: + - api_key: [] + - oauth: + - cost_type_destroy + description: Deletes the cost_type + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the cost_type to delete + name: id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Cost type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CosttypesDeleteCostType500Response' + /v1/property_types: + get: + tags: + - property_types + summary: Returns all property types currently available + operationId: Propertytypes_getAllAvailable + security: + - api_key: [] + - oauth: + - property_type_read + description: Returns all property types currently available + responses: + '200': + description: Returns all property types + content: + application/json: + schema: + $ref: '#/components/schemas/PropertytypesGetAllAvailableResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertytypesGetAllAvailable401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PropertytypesGetAllAvailable403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PropertytypesGetAllAvailable422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PropertytypesGetAllAvailable500Response' + /v1/properties: + get: + tags: + - properties + summary: >- + Returns all properties for the current organisation within the given + organisation. + operationId: Properties_listForOrganisation + security: + - api_key: [] + - oauth: + - property_read + description: >- + Returns all properties for the current organisation within the given + organisation. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID on other systems of the properties to show + name: external_id + in: query + required: false + schema: + type: string + - description: The name on other systems of the properties to show + name: source_system + in: query + required: false + schema: + type: string + responses: + '200': + description: >- + Returns all properties for the organisation within the given + organisation + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesListForOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesListForOrganisation401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesListForOrganisation403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesListForOrganisation422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesListForOrganisation500Response' + post: + tags: + - properties + summary: Creates a property for the current organisation of the user. + operationId: Properties_createForOrganisation + security: + - api_key: [] + - oauth: + - property_write + description: >- + Creates a property for the current organisation of the user. + Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyCreate' + required: true + responses: + '201': + description: Property successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesCreateForOrganisationResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesCreateForOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesCreateForOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesCreateForOrganisation500Response + /v1/properties/{property_id}: + get: + tags: + - properties + summary: Returns the property for the current organisation of the user. + operationId: Properties_getForOrganisation + security: + - api_key: [] + - oauth: + - property_read + description: >- + Returns the property for the current organisation of the user. + Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the property + name: property_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the property + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesGetForOrganisationResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesGetForOrganisation403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesGetForOrganisation422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesGetForOrganisation500Response' + put: + tags: + - properties + summary: Updates the property for the current organisation of the user. + operationId: Properties_updateForOrganisation + security: + - api_key: [] + - oauth: + - property_write + description: >- + Updates the property for the current organisation of the user. + Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the property you want to update + name: property_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyUpdate' + required: true + responses: + '200': + description: Property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesUpdateForOrganisationResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesUpdateForOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesUpdateForOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesUpdateForOrganisation500Response + delete: + tags: + - properties + summary: Deletes the property within the current organisation. + operationId: Properties_deletePropertyWithinOrganisation + security: + - api_key: [] + - oauth: + - property_destroy + description: >- + Deletes the property within the current organisation. Organisation + manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the property you want to delete + name: property_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Property successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesDeletePropertyWithinOrganisationResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesDeletePropertyWithinOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesDeletePropertyWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertiesDeletePropertyWithinOrganisation500Response + /v1/property_managers: + get: + tags: + - property_managers + summary: Returns all property managers within the given customer account. + operationId: Propertymanagers_getAllWithinCustomer + security: + - api_key: [] + - oauth: + - property_manager_read + description: >- + Returns all property managers within the given customer account. Admin + and supervisor only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all property managers within the given customer account. + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetAllWithinCustomerResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetAllWithinCustomer401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetAllWithinCustomer403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetAllWithinCustomer422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetAllWithinCustomer500Response + post: + tags: + - property_managers + summary: Creates a property manager for the current customer account. + operationId: Propertymanagers_createNewManager + security: + - api_key: [] + - oauth: + - property_manager_write + description: >- + Creates a property manager for the current customer account. Admin and + supervisor only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerCreate' + required: true + responses: + '201': + description: Property Manager successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertymanagersCreateNewManagerResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersCreateNewManager403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersCreateNewManager422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersCreateNewManager500Response + /v1/property_managers/{property_manager_id}: + get: + tags: + - property_managers + summary: Returns the property manager for the current account of the user. + operationId: Propertymanagers_getCurrentManager + security: + - api_key: [] + - oauth: + - property_manager_read + description: >- + Returns the property manager for the current account of the user. Admin + and supervisor only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the property manager + name: property_manager_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the property manager + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PropertymanagersGetCurrentManagerResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetCurrentManager403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetCurrentManager422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersGetCurrentManager500Response + put: + tags: + - property_managers + summary: Updates the property manager for the current account of the user. + operationId: Propertymanagers_updateCurrentAccountUser + security: + - api_key: [] + - oauth: + - property_manager_write + description: >- + Updates the property manager for the current account of the user. Admin + and Supervisor only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the property manager you want to update + name: property_manager_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerUpdate' + required: true + responses: + '200': + description: Property Manager successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersUpdateCurrentAccountUserResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersUpdateCurrentAccountUser403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersUpdateCurrentAccountUser422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersUpdateCurrentAccountUser500Response + delete: + tags: + - property_managers + summary: Deletes the property manager within the current account. + operationId: Propertymanagers_deleteManagerWithinAccount + security: + - api_key: [] + - oauth: + - property_manager_destroy + description: >- + Deletes the property manager within the current account. Admin and + supervisor only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the property manager you want to delete + name: property_manager_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Property Manager successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersDeleteManagerWithinAccountResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersDeleteManagerWithinAccount403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersDeleteManagerWithinAccount422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PropertymanagersDeleteManagerWithinAccount500Response + /v1/lots: + get: + tags: + - lots + summary: Returns all lots within the given organisation. + operationId: Lots_getAll + security: + - api_key: [] + - oauth: + - lot_read + description: >- + Returns all lots within the given organisation. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all lots within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/LotsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LotsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LotsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LotsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LotsGetAll500Response' + post: + tags: + - lots + summary: Creates a lot. + operationId: Lots_createNewLot + security: + - api_key: [] + - oauth: + - lot_write + description: Creates a lot. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotCreate' + required: true + responses: + '201': + description: Lot successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/LotsCreateNewLotResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LotsCreateNewLot401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LotsCreateNewLot403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LotsCreateNewLot422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LotsCreateNewLot500Response' + /v1/lots/{lot_id}: + get: + tags: + - lots + summary: Shows a lot. + operationId: Lots_showLot + security: + - api_key: [] + - oauth: + - lot_read + description: Shows a lot. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the lot to show + name: lot_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the lot + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLotResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLot401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLot403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLot404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLot422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LotsShowLot500Response' + put: + tags: + - lots + summary: Updates an lot. + operationId: Lots_updateLot + security: + - api_key: [] + - oauth: + - lot_write + description: Updates an lot. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the lot to update + name: lot_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotUpdate' + required: true + responses: + '200': + description: Lot successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/LotsUpdateLotResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LotsUpdateLot401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LotsUpdateLot403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LotsUpdateLot422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LotsUpdateLot500Response' + delete: + tags: + - lots + summary: Deletes the lot within the current organisation. + operationId: Lots_deleteLotWithinOrganisation + security: + - api_key: [] + - oauth: + - lot_destroy + description: >- + Deletes the lot within the current organisation. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the lot to delete + name: lot_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Lot successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/LotsDeleteLotWithinOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/LotsDeleteLotWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/LotsDeleteLotWithinOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/LotsDeleteLotWithinOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/LotsDeleteLotWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/LotsDeleteLotWithinOrganisation500Response + /v1/building_filter_settings: + get: + tags: + - building_filter_settings + summary: Returns all building filter settings currently available + operationId: Buildingfiltersettings_getAllSettings + security: + - api_key: [] + - oauth: + - building_filter_setting_read + description: Returns all building filter settings currently available + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all building filter settings + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllSettingsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllSettings401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllSettings403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllSettings422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllSettings500Response + post: + tags: + - building_filter_settings + summary: Create building filter settings + operationId: Buildingfiltersettings_createSettings + security: + - api_key: [] + - oauth: + - building_filter_setting_write + description: Create building filter settings + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Create building filter settings + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsCreateSettingsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsCreateSettings401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsCreateSettings403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsCreateSettings422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsCreateSettings500Response + /v1/building_filter_settings/filter_setting_fields: + get: + tags: + - building_filter_settings + summary: Returns all building and building unit fields. + operationId: Buildingfiltersettings_getAllFields + security: + - api_key: [] + - oauth: + - building_filter_setting_read + description: Returns all building and building unit fields. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all building and building unit fields + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllFieldsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllFields401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllFields403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllFields422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsGetAllFields500Response + /v1/building_filter_settings/{building_filter_setting_id}: + get: + tags: + - building_filter_settings + summary: Shows a building filter setting + operationId: Buildingfiltersettings_showSetting + security: + - api_key: [] + - oauth: + - building_filter_setting_read + description: Shows a building filter setting + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the building filter setting to show + name: building_filter_setting_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfiltersettingsShowSettingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsShowSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsShowSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsShowSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsShowSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsShowSetting500Response + put: + tags: + - building_filter_settings + summary: Updates a building filter setting. + operationId: Buildingfiltersettings_updateSetting + security: + - api_key: [] + - oauth: + - building_filter_setting_write + description: Updates a building filter setting. Account manager only🔒🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the building filter setting you want to update + name: building_filter_setting_id + in: path + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Building filter setting successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsUpdateSetting500Response + delete: + tags: + - building_filter_settings + summary: Deletes the building filter setting within the current customer account. + operationId: Buildingfiltersettings_deleteSetting + security: + - api_key: [] + - oauth: + - building_filter_setting_destroy + description: >- + Deletes the building filter setting within the current customer account. + Account manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the building filter setting to show + name: building_filter_setting_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Building filter setting successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingfiltersettingsDeleteSetting500Response + /v1/building_save_filters: + get: + tags: + - building_save_filters + summary: Returns all save filters for current user + operationId: Buildingsavefilters_getAllFilters + security: + - api_key: [] + - oauth: + - building_save_filter_read + description: Returns all save filters for current user + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all save filters + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsavefiltersGetAllFiltersResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersGetAllFilters401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersGetAllFilters403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersGetAllFilters422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersGetAllFilters500Response + post: + tags: + - building_save_filters + summary: Create building save filter + operationId: Buildingsavefilters_createBuildingSaveFilter + security: + - api_key: [] + - oauth: + - building_save_filter_write + description: Create building save filter + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Create save filter + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersCreateBuildingSaveFilterResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersCreateBuildingSaveFilter401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersCreateBuildingSaveFilter403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersCreateBuildingSaveFilter422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersCreateBuildingSaveFilter500Response + /v1/building_save_filters/{building_save_filter_id}: + get: + tags: + - building_save_filters + summary: Shows a save filter + operationId: Buildingsavefilters_showSaveFilter + security: + - api_key: [] + - oauth: + - building_save_filter_read + description: Shows a save filter + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the save filter + name: building_save_filter_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return save filter + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsavefiltersShowSaveFilterResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersShowSaveFilter401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersShowSaveFilter403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersShowSaveFilter404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersShowSaveFilter422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersShowSaveFilter500Response + put: + tags: + - building_save_filters + summary: Update a save filter + operationId: Buildingsavefilters_updateSaveFilter + security: + - api_key: [] + - oauth: + - building_save_filter_write + description: Update a save filter + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the save filter + name: building_save_filter_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Save filter successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilterResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilter401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilter403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilter404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilter422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersUpdateSaveFilter500Response + delete: + tags: + - building_save_filters + summary: Delete the save filter + operationId: Buildingsavefilters_deleteSaveFilter + security: + - api_key: [] + - oauth: + - building_save_filter_destroy + description: Delete the save filter + parameters: + - description: ID of the save filter + name: building_save_filter_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Save filter successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilterResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilter401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilter403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilter404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilter422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsavefiltersDeleteSaveFilter500Response + /v1/building_types: + get: + tags: + - building_types + summary: Returns all building types currently available + operationId: Buildingtypes_getAllBuildingTypes + security: + - api_key: [] + - oauth: + - building_type_read + description: Returns all building types currently available + responses: + '200': + description: Returns all building types + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingtypesGetAllBuildingTypesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingtypesGetAllBuildingTypes401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingtypesGetAllBuildingTypes403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingtypesGetAllBuildingTypes422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingtypesGetAllBuildingTypes500Response + /v1/buildings: + get: + tags: + - buildings + summary: Returns all buildings within the given organisation + operationId: Buildings_getAllWithinOrganisation + security: + - api_key: [] + - oauth: + - building_read + description: > + # Description + + Returns all buildings within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID on other systems of the buildings to show + name: external_id + in: query + required: false + schema: + type: string + - description: The name on other systems of the buildings to show + name: source_system + in: query + required: false + schema: + type: string + - description: > + Filter building with standard fields of building and building_units +
+ { + building: { name: ['name_of_building',...], city: ['Berlin', ...]} + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + name: presets_standard_fields + in: query + required: false + schema: + type: object + - description: > + Filter building with customer_attributes of building and + building_units
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building: { region: 'Südwest|West', ...} + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + name: presets_customer_attributes + in: query + required: false + schema: + type: object + - description: > + Filter building with tag label related to building and + building_units
+ { + building: ['label_of_a_tag',...] + building_unit: ['label_of_a_tag',...] + } + name: tags + in: query + required: false + schema: + type: object + - description: > + Filter building with category label related to building and + building_units
+ { + building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } } + building_unit: { building_unit_places: ['Building unit place 1'] } + } + name: categories + in: query + required: false + schema: + type: object + responses: + '200': + description: Returns all buildings within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsGetAllWithinOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsGetAllWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsGetAllWithinOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsGetAllWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsGetAllWithinOrganisation500Response + post: + tags: + - buildings + summary: Creates a building + operationId: Buildings_createNewBuilding + security: + - api_key: [] + - oauth: + - building_write + description: > + # Description + + Creates a building + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingCreate' + required: true + responses: + '201': + description: Building successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsCreateNewBuildingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsCreateNewBuilding401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsCreateNewBuilding403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsCreateNewBuilding422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsCreateNewBuilding500Response' + /v1/buildings/{building_id}: + get: + tags: + - buildings + summary: Shows a building + operationId: Buildings_showBuilding + security: + - api_key: [] + - oauth: + - building_read + description: Shows a building + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the building to show + name: building_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the building + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuildingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuilding401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuilding403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuilding404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuilding422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsShowBuilding500Response' + put: + tags: + - buildings + summary: Updates an building + operationId: Buildings_updateBuildingTimeDependentAttributes + security: + - api_key: [] + - oauth: + - building_write + description: > + # Description + + Updates an building + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["planned_monthly_rent"] + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the building to update + name: building_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUpdate' + required: true + responses: + '200': + description: Building successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributes401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributes403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributes404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributes422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsUpdateBuildingTimeDependentAttributes500Response + delete: + tags: + - buildings + summary: Deletes the building within the current organisation. + operationId: Buildings_deleteBuilding + security: + - api_key: [] + - oauth: + - building_destroy + description: >- + Deletes the building within the current organisation. Account manager + only🔒🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the building to delete + name: building_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Building successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuildingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuilding401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuilding403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuilding404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuilding422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsDeleteBuilding500Response' + /v1/buildings/{building_id}/scorecard_memberships: + get: + tags: + - buildings + summary: List scorecard memberships by building + operationId: Buildings_listScorecardMemberships + security: + - api_key: [] + - oauth: + - building_read + description: List scorecard memberships by building + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the building to show + name: building_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard memberships + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsListScorecardMembershipsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsListScorecardMemberships401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsListScorecardMemberships403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsListScorecardMemberships404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsListScorecardMemberships422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsListScorecardMemberships500Response + /v1/building_unit_types: + get: + tags: + - building_unit_types + summary: >- + Returns all building unit types for that customer account including + default types + operationId: Buildingunittypes_getAll + security: + - api_key: [] + - oauth: + - building_unit_type_read + description: >- + Returns all building unit types for that customer account including + default types + parameters: + - description: ID of customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all building unit types + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesGetAll500Response' + post: + tags: + - building_unit_types + summary: Create building unit type. + operationId: Buildingunittypes_createType + security: + - api_key: [] + - oauth: + - building_unit_type_write + description: Create building unit type. Account manager only🔒🔒 + parameters: + - description: ID of customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitTypeCreate' + required: true + responses: + '200': + description: Create building unit type + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesCreateTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesCreateType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesCreateType403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesCreateType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesCreateType500Response' + /v1/building_unit_types/{building_unit_type_id}: + get: + tags: + - building_unit_types + summary: Shows a building unit type + operationId: Buildingunittypes_showType + security: + - api_key: [] + - oauth: + - building_unit_type_read + description: Shows a building unit type + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of building unit type to show + name: building_unit_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return building unit type + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesShowType500Response' + put: + tags: + - building_unit_types + summary: Updates a building unit type. + operationId: Buildingunittypes_updateBuildingUnitType + security: + - api_key: [] + - oauth: + - building_unit_type_write + description: Updates a building unit type. Account manager only🔒🔒 + parameters: + - description: ID of customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of building unit type to show + name: building_unit_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitTypeResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitType401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitType403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitType404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitType422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunittypesUpdateBuildingUnitType500Response + delete: + tags: + - building_unit_types + summary: Deletes building unit type within the current customer account. + operationId: Buildingunittypes_delete + security: + - api_key: [] + - oauth: + - building_unit_type_destroy + description: >- + Deletes building unit type within the current customer account. Account + manager only🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of building unit type to show + name: building_unit_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDeleteResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDelete401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDelete403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDelete404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDelete422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunittypesDelete500Response' + /v1/building_units: + get: + tags: + - building_units + summary: Returns all building units within the given organisation + operationId: Buildingunits_getAllWithinOrganisation + security: + - api_key: [] + - oauth: + - building_unit_read + description: > + # Description + + Returns all building units within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID on other systems of the buildings to show + name: external_id + in: query + required: false + schema: + type: string + - description: The name on other systems of the buildings to show + name: source_system + in: query + required: false + schema: + type: string + - description: The IDs of building + name: building_ids + in: query + required: false + example: 1,2,3 + schema: + type: string + - description: | + Filter building units with standard fields
+ { + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + name: presets_standard_fields + in: query + required: true + schema: + type: object + - description: > + Filter building units with customer_attributes fields
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + name: presets_customer_attributes + in: query + required: true + schema: + type: object + - description: | + Filter units with tag label
+ { + building_unit: ['label_of_a_tag',...] + } + name: tags + in: query + required: false + schema: + type: object + - description: > + Filter building units with category label related to building_units +
+ { + building: {} + building_unit: { building_unit_places: ["Building unit place label"] } + } + name: categories + in: query + required: false + schema: + type: object + responses: + '200': + description: Returns all building units within the given organisation + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsGetAllWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsGetAllWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsGetAllWithinOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsGetAllWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsGetAllWithinOrganisation500Response + post: + tags: + - building_units + summary: Creates a building unit + operationId: Buildingunits_createUnit + security: + - api_key: [] + - oauth: + - building_unit_write + description: > + # Description + + Creates a building unit + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitCreate' + required: true + responses: + '201': + description: Building unit successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsCreateUnitResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsCreateUnit401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsCreateUnit403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsCreateUnit422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsCreateUnit500Response' + /v1/building_units/{building_unit_id}: + get: + tags: + - building_units + summary: Shows a building unit and all memberships of that unit + operationId: Buildingunits_showUnitMemberships + security: + - api_key: [] + - oauth: + - building_unit_read + description: Shows a building unit and all memberships of that unit + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the building unit to show + name: building_unit_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns building unit + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsShowUnitMembershipsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsShowUnitMemberships401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsShowUnitMemberships403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsShowUnitMemberships404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsShowUnitMemberships422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsShowUnitMemberships500Response + put: + tags: + - building_units + summary: Updates the building unit + operationId: Buildingunits_updateUnit + security: + - api_key: [] + - oauth: + - building_unit_write + description: > + # Description + + Updates the building unit + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["quality_of_available_features", + "current_condition", "planned_monthly_rent", "planned_operating_cost", + "planned_total_rent", "planned_deposit", + "heating_costs_in_operating_costs", "quality_of_available_features", + "current_condition"] + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the building unit to be updated + name: building_unit_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitUpdate' + required: true + responses: + '200': + description: Returns the updated building unit + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnitResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnit401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnit403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnit404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnit422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitsUpdateUnit500Response' + delete: + tags: + - building_units + summary: Destroys the building unit and all memberships of that unit! + operationId: Buildingunits_destroyUnitAndMemberships + security: + - api_key: [] + - oauth: + - building_unit_destroy + description: Destroys the building unit and all memberships of that unit! + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the building unit to be destroyed + name: building_unit_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the destroyed building unit + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMembershipsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMemberships401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMemberships403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMemberships404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMemberships422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsDestroyUnitAndMemberships500Response + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + tags: + - building_unit_memberships + summary: Destroys the organisation membership + operationId: Buildingunitmemberships_destroyOrganisationMembership + security: + - api_key: [] + - oauth: + - building_unit_membership_destroy + description: Destroys the organisation membership + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the organisation membership to be destroyed + name: building_unit_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsDestroyOrganisationMembership500Response + /v1/building_unit_memberships: + post: + tags: + - building_unit_memberships + summary: Creates a membership in building unit + operationId: Buildingunitmemberships_createMembershipInUnit + security: + - api_key: [] + - oauth: + - building_unit_membership_write + description: Creates a membership in building unit + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsCreateMembershipInUnitResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsCreateMembershipInUnit401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsCreateMembershipInUnit403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsCreateMembershipInUnit422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitmembershipsCreateMembershipInUnit500Response + /v1/building_energies: + get: + tags: + - building_energies + summary: Return building energies of the building + operationId: Buildingenergies_getBuildingEnergies + security: + - api_key: [] + - oauth: + - building_energy_read + description: Return building energies of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building energies of the building + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingenergiesGetBuildingEnergiesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingenergiesGetBuildingEnergies401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingenergiesGetBuildingEnergies500Response + post: + tags: + - building_energies + summary: Creates a building energy + operationId: Buildingenergies_createEnergy + security: + - api_key: [] + - oauth: + - building_energy_write + description: | + # Description + Creates a building energy + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesCreateEnergyResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesCreateEnergy401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesCreateEnergy403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesCreateEnergy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesCreateEnergy500Response' + /v1/building_energies/{building_energy_id}: + put: + tags: + - building_energies + summary: Update building energy + operationId: Buildingenergies_updateEnergy + security: + - api_key: [] + - oauth: + - building_energy_write + description: Update building energy + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building energy to update + name: building_energy_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyUpdate' + required: true + responses: + '200': + description: Building energy successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesUpdateEnergyResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesUpdateEnergy403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesUpdateEnergy422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingenergiesUpdateEnergy500Response' + /v1/buildings_finances: + get: + tags: + - buildings_finances + summary: Return building finances of the building + operationId: Buildingsfinances_returnBuildingFinances + security: + - api_key: [] + - oauth: + - buildings_finance_read + description: Return building finances of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building finances of the building + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsfinancesReturnBuildingFinancesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsfinancesReturnBuildingFinances401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingsfinancesReturnBuildingFinances500Response + post: + tags: + - buildings_finances + summary: Creates a building finance + operationId: Buildingsfinances_createFinance + security: + - api_key: [] + - oauth: + - buildings_finance_write + description: | + # Description + Creates a building finance + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesCreateFinanceResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesCreateFinance401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesCreateFinance403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesCreateFinance422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesCreateFinance500Response' + /v1/buildings_finances/{buildings_finance_id}: + put: + tags: + - buildings_finances + summary: Update building finance + operationId: Buildingsfinances_updateFinance + security: + - api_key: [] + - oauth: + - buildings_finance_write + description: Update building finance + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building finance to update + name: buildings_finance_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceUpdate' + required: true + responses: + '200': + description: Building finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesUpdateFinanceResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesUpdateFinance403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesUpdateFinance422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsfinancesUpdateFinance500Response' + /v1/building_units_finances: + post: + tags: + - building_units_finances + summary: Creates a building unit finance + operationId: Buildingunitsfinances_createFinance + security: + - api_key: [] + - oauth: + - building_units_finance_write + description: | + # Description + Creates a building unit finance + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesCreateFinanceResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesCreateFinance401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesCreateFinance403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesCreateFinance422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesCreateFinance500Response + /v1/building_units_finances/{building_units_finance_id}: + put: + tags: + - building_units_finances + summary: Update building unit finance + operationId: Buildingunitsfinances_updateFinance + security: + - api_key: [] + - oauth: + - building_units_finance_write + description: Update building unit finance + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit finance to update + name: building_units_finance_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceUpdate' + required: true + responses: + '200': + description: Building unit finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesUpdateFinanceResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesUpdateFinance403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesUpdateFinance422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitsfinancesUpdateFinance500Response + /v1/building_fms: + get: + tags: + - building_fms + summary: Return building fms of the building + operationId: Buildingfms_getBuildingFms + security: + - api_key: [] + - oauth: + - building_fm_read + description: Return building fms of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building fms of the building + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsGetBuildingFmsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsGetBuildingFms401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsGetBuildingFms500Response' + post: + tags: + - building_fms + summary: Creates a building fm + operationId: Buildingfms_createBuildingFm + security: + - api_key: [] + - oauth: + - building_fm_write + description: | + # Description + Creates a building fm + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsCreateBuildingFmResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsCreateBuildingFm401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsCreateBuildingFm403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsCreateBuildingFm422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsCreateBuildingFm500Response' + /v1/building_fms/{building_fm_id}: + put: + tags: + - building_fms + summary: Update building fm + operationId: Buildingfms_updateBuildingFm + security: + - api_key: [] + - oauth: + - building_fm_write + description: Update building fm + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building fm to update + name: building_fm_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmUpdate' + required: true + responses: + '200': + description: Building fm successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsUpdateBuildingFmResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsUpdateBuildingFm403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsUpdateBuildingFm422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingfmsUpdateBuildingFm500Response' + /v1/building_unit_retails: + get: + tags: + - building_unit_retails + summary: Return building unit retails of the building + operationId: Buildingunitretails_list + security: + - api_key: [] + - oauth: + - building_unit_retail_read + description: Return building unit retails of the building + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitretailsListResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitretailsList401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitretailsList500Response' + post: + tags: + - building_unit_retails + summary: Creates a building unit retail + operationId: Buildingunitretails_createRetailUnit + security: + - api_key: [] + - oauth: + - building_unit_retail_write + description: | + # Description + Creates a building unit retail + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailCreate' + required: true + responses: + '201': + description: Building unit retail successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsCreateRetailUnitResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsCreateRetailUnit401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsCreateRetailUnit403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsCreateRetailUnit422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsCreateRetailUnit500Response + /v1/building_unit_retails/{building_unit_retail_id}: + put: + tags: + - building_unit_retails + summary: Update building unit retail + operationId: Buildingunitretails_updateUnitRetail + security: + - api_key: [] + - oauth: + - building_unit_retail_write + description: Update building unit retail + parameters: + - description: ID of the building + name: building_unit_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit retail to update + name: building_unit_retail_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsUpdateUnitRetailResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsUpdateUnitRetail403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsUpdateUnitRetail422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailsUpdateUnitRetail500Response + /v1/building_unit_retail_metrics: + get: + tags: + - building_unit_retail_metrics + summary: Return building unit retails of the building unit retail + operationId: Buildingunitretailmetrics_getBuildingUnitRetails + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_read + description: Return building unit retails of the building unit retail + parameters: + - description: ID of the building unit retail unit + name: building_unit_retail_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit retail + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsGetBuildingUnitRetailsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsGetBuildingUnitRetails401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsGetBuildingUnitRetails500Response + post: + tags: + - building_unit_retail_metrics + summary: Creates a building unit retail metric + operationId: Buildingunitretailmetrics_createMetric + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + description: | + # Description + Creates a building unit retail metric + parameters: + - description: ID of the building unit retail unit + name: building_unit_retail_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricCreate' + required: true + responses: + '201': + description: Building unit retail metric successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsCreateMetricResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsCreateMetric401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsCreateMetric403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsCreateMetric422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsCreateMetric500Response + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + tags: + - building_unit_retail_metrics + summary: Update building unit retail + operationId: Buildingunitretailmetrics_updateRetailBuildingUnit + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + description: Update building unit retail + parameters: + - description: ID of the building unit retail + name: building_unit_retail_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit retail metric to update + name: building_unit_retail_metric_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsUpdateRetailBuildingUnitResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsUpdateRetailBuildingUnit403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsUpdateRetailBuildingUnit422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitretailmetricsUpdateRetailBuildingUnit500Response + /v1/building_waters: + get: + tags: + - building_waters + summary: Return building waters of the building + operationId: Buildingwaters_getBuildingWaters + security: + - api_key: [] + - oauth: + - building_water_read + description: Return building waters of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building waters of the building + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingwatersGetBuildingWatersResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersGetBuildingWaters401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersGetBuildingWaters500Response + post: + tags: + - building_waters + summary: Creates a building water + operationId: Buildingwaters_createBuildingWater + security: + - api_key: [] + - oauth: + - building_water_write + description: | + # Description + Creates a building water + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingwatersCreateBuildingWaterResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersCreateBuildingWater401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersCreateBuildingWater403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersCreateBuildingWater422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersCreateBuildingWater500Response + /v1/building_waters/{building_water_id}: + put: + tags: + - building_waters + summary: Update building water + operationId: Buildingwaters_updateBuildingWater + security: + - api_key: [] + - oauth: + - building_water_write + description: Update building water + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building water to update + name: building_water_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterUpdate' + required: true + responses: + '200': + description: Building water successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingwatersUpdateBuildingWaterResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersUpdateBuildingWater403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersUpdateBuildingWater422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingwatersUpdateBuildingWater500Response + /v1/addtl_building_ids: + get: + tags: + - addtl_building_ids + summary: Return addtl building ids of the building + operationId: Addtlbuildingids_getBuildingIds + security: + - api_key: [] + - oauth: + - addtl_building_id_read + description: Return addtl building ids of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return addtl building ids + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsGetBuildingIdsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsGetBuildingIds401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsGetBuildingIds500Response' + post: + tags: + - addtl_building_ids + summary: Creates a addtl building id + operationId: Addtlbuildingids_createId + security: + - api_key: [] + - oauth: + - addtl_building_id_write + description: | + # Description + Creates a addtl building id + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsCreateIdResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsCreateId401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsCreateId403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsCreateId422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsCreateId500Response' + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + tags: + - addtl_building_ids + summary: Update addtl building id + operationId: Addtlbuildingids_updateBuildingId + security: + - api_key: [] + - oauth: + - addtl_building_id_write + description: Update addtl building id + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the addtl building id to update + name: addtl_building_id_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdUpdate' + required: true + responses: + '200': + description: Addtl building id successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlbuildingidsUpdateBuildingIdResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/AddtlbuildingidsUpdateBuildingId403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/AddtlbuildingidsUpdateBuildingId422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/AddtlbuildingidsUpdateBuildingId500Response + /v1/phases: + get: + tags: + - phases + summary: Return phases of the building + operationId: Phases_getBuildingPhases + security: + - api_key: [] + - oauth: + - phase_read + description: Return phases of the building + responses: + '200': + description: Return phases of the building or unit + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesGetBuildingPhasesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesGetBuildingPhases401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesGetBuildingPhases500Response' + post: + tags: + - phases + summary: Creates a phase + operationId: Phases_createPhase + security: + - api_key: [] + - oauth: + - phase_write + description: | + # Description + Creates a phase + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseCreate' + required: true + responses: + '201': + description: Phase successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesCreatePhaseResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesCreatePhase401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesCreatePhase403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesCreatePhase422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesCreatePhase500Response' + /v1/phases/{phase_id}: + put: + tags: + - phases + summary: Update phase + operationId: Phases_updatePhase + security: + - api_key: [] + - oauth: + - phase_write + description: Update phase + parameters: + - description: ID of the phase to update + name: phase_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseUpdate' + required: true + responses: + '200': + description: Building phase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesUpdatePhaseResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesUpdatePhase403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesUpdatePhase422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PhasesUpdatePhase500Response' + /v1/rent_trackers: + post: + tags: + - rent_trackers + summary: Creates a rent_tracker + operationId: Renttrackers_createRentTracker + security: + - api_key: [] + - oauth: + - rent_tracker_write + description: | + # Description + Creates a rent_tracker + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '201': + description: RentTracker successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersCreateRentTrackerResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersCreateRentTracker401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersCreateRentTracker403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersCreateRentTracker422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersCreateRentTracker500Response' + get: + tags: + - rent_trackers + summary: Return rent_trackers + operationId: Renttrackers_getRentTrackers + security: + - api_key: [] + - oauth: + - rent_tracker_read + description: Return rent_trackers + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: string + - description: ID of the organisation + name: organisation_id + in: query + schema: + type: string + - description: IDs of the units + name: unit_ids + in: query + example: 1,2,3 + schema: + type: string + - description: IDs of the contracts + name: contract_ids + in: query + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return rent_trackers + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTrackersResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTrackers401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTrackers500Response' + /v1/rent_trackers/{rent_tracker_id}: + get: + tags: + - rent_trackers + summary: Return rent_tracker + operationId: Renttrackers_getRentTracker + security: + - api_key: [] + - oauth: + - rent_tracker_read + description: Return rent_tracker + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: string + - description: ID of the rent_tracker + name: rent_tracker_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns rent_tracker + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTrackerResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTracker401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTracker403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTracker404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTracker422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersGetRentTracker500Response' + put: + tags: + - rent_trackers + summary: Update rent_tracker + operationId: Renttrackers_updateRentTracker + security: + - api_key: [] + - oauth: + - rent_tracker_write + description: Update rent_tracker + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: string + - description: ID of the rent_tracker to update + name: rent_tracker_id + in: path + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '200': + description: Building rent_tracker successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersUpdateRentTrackerResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersUpdateRentTracker403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersUpdateRentTracker422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RenttrackersUpdateRentTracker500Response' + /v1/building_parkings: + get: + tags: + - building_parkings + summary: Return building parkings of the building + operationId: Buildingparkings_getBuildingParkings + security: + - api_key: [] + - oauth: + - building_parking_read + description: Return building parkings of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building parkings of the building + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsGetBuildingParkingsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsGetBuildingParkings401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsGetBuildingParkings500Response + post: + tags: + - building_parkings + summary: Creates a building parking + operationId: Buildingparkings_createNewParking + security: + - api_key: [] + - oauth: + - building_parking_write + description: | + # Description + Creates a building parking + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingparkingsCreateNewParkingResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsCreateNewParking401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsCreateNewParking403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsCreateNewParking422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingparkingsCreateNewParking500Response + /v1/building_parkings/{building_parking_id}: + put: + tags: + - building_parkings + summary: Update building parking + operationId: Buildingparkings_updateParking + security: + - api_key: [] + - oauth: + - building_parking_write + description: Update building parking + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building parking to update + name: building_parking_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingUpdate' + required: true + responses: + '200': + description: Building parking successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingparkingsUpdateParkingResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingparkingsUpdateParking403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingparkingsUpdateParking422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingparkingsUpdateParking500Response' + /v1/building_areas: + get: + tags: + - building_areas + summary: Return building areas of the building + operationId: Buildingareas_getBuildingAreas + security: + - api_key: [] + - oauth: + - building_area_read + description: Return building areas of the building + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasGetBuildingAreasResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasGetBuildingAreas401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasGetBuildingAreas500Response' + post: + tags: + - building_areas + summary: Creates a building area + operationId: Buildingareas_createNewBuildingArea + security: + - api_key: [] + - oauth: + - building_area_write + description: | + # Description + Creates a building area + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingareasCreateNewBuildingAreaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingareasCreateNewBuildingArea401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingareasCreateNewBuildingArea403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingareasCreateNewBuildingArea422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingareasCreateNewBuildingArea500Response + /v1/building_areas/{building_area_id}: + put: + tags: + - building_areas + summary: Update building area + operationId: Buildingareas_updateArea + security: + - api_key: [] + - oauth: + - building_area_write + description: Update building area + parameters: + - description: ID of the building + name: building_id + in: query + required: true + schema: + type: integer + - description: ID of the building area to update + name: building_area_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasUpdateAreaResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasUpdateArea403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasUpdateArea422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingareasUpdateArea500Response' + /v1/building_unit_areas: + get: + tags: + - building_unit_areas + summary: Return building areas of the building + operationId: Buildingunitareas_getBuildingAreas + security: + - api_key: [] + - oauth: + - building_unit_area_read + description: Return building areas of the building + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building unit + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasGetBuildingAreasResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitareasGetBuildingAreas401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitareasGetBuildingAreas500Response + post: + tags: + - building_unit_areas + summary: Creates a building area + operationId: Buildingunitareas_createArea + security: + - api_key: [] + - oauth: + - building_unit_area_write + description: | + # Description + Creates a building area + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasCreateAreaResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasCreateArea401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasCreateArea403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasCreateArea422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasCreateArea500Response' + /v1/building_unit_areas/{building_unit_area_id}: + put: + tags: + - building_unit_areas + summary: Update building area + operationId: Buildingunitareas_updateArea + security: + - api_key: [] + - oauth: + - building_unit_area_write + description: Update building area + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + - description: ID of the building area to update + name: building_unit_area_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasUpdateAreaResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasUpdateArea403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasUpdateArea422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitareasUpdateArea500Response' + /v1/building_unit_places: + get: + tags: + - building_unit_places + summary: Return building unit places of the unit + operationId: Buildingunitplaces_getUnitPlaces + security: + - api_key: [] + - oauth: + - building_unit_place_read + description: Return building unit places of the unit + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building unit places of the unit + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesGetUnitPlacesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacesGetUnitPlaces401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacesGetUnitPlaces500Response + post: + tags: + - building_unit_places + summary: Creates a building unit places + operationId: Buildingunitplaces_createPlace + security: + - api_key: [] + - oauth: + - building_unit_place_write + description: | + # Description + Creates a building unit places + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesCreatePlaceResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesCreatePlace401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesCreatePlace403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesCreatePlace422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesCreatePlace500Response' + /v1/building_unit_places/{building_unit_place_id}: + put: + tags: + - building_unit_places + summary: Update building unit place + operationId: Buildingunitplaces_updatePlace + security: + - api_key: [] + - oauth: + - building_unit_place_write + description: Update building unit place + parameters: + - description: ID of the building unit + name: building_unit_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit place to update + name: building_unit_place_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceUpdate' + required: true + responses: + '200': + description: Building unit place successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesUpdatePlaceResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesUpdatePlace403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesUpdatePlace422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingunitplacesUpdatePlace500Response' + /v1/building_unit_places_timeboxeds: + get: + tags: + - building_unit_places_timeboxeds + summary: Return building energies of the building + operationId: Buildingunitplacestimeboxeds_getBuildingEnergies + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_read + description: Return building energies of the building + parameters: + - description: ID of the building unit place + name: building_unit_place_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place timeboxes of the unit + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsGetBuildingEnergiesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsGetBuildingEnergies401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsGetBuildingEnergies500Response + post: + tags: + - building_unit_places_timeboxeds + summary: Creates a building unit place timeboxed + operationId: Buildingunitplacestimeboxeds_createTimeboxed + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + description: | + # Description + Creates a building energy + parameters: + - description: ID of the building unit place + name: building_unit_place_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedCreate' + required: true + responses: + '201': + description: Building unit place timeboxed successfully created! + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsCreateTimeboxedResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsCreateTimeboxed401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsCreateTimeboxed403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsCreateTimeboxed422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsCreateTimeboxed500Response + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + tags: + - building_unit_places_timeboxeds + summary: Update building unit place timeboxed + operationId: Buildingunitplacestimeboxeds_updateTimeboxed + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + description: Update building unit place timeboxed + parameters: + - description: ID of the building + name: building_unit_place_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit place timeboxed to update + name: building_unit_places_timeboxed_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedUpdate' + required: true + responses: + '200': + description: Building unit place timeboxed successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsUpdateTimeboxedResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsUpdateTimeboxed403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsUpdateTimeboxed422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacestimeboxedsUpdateTimeboxed500Response + /v1/building_unit_places_properties: + get: + tags: + - building_unit_places_properties + summary: Return building unit place properties + operationId: Buildingunitplacesproperties_returnProperties + security: + - api_key: [] + - oauth: + - building_unit_places_property_read + description: Return building unit place properties + parameters: + - description: ID of the building unit place timeboxed + name: building_unit_places_timeboxed_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place properties of the timeboxed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesReturnPropertiesResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesReturnProperties401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesReturnProperties500Response + post: + tags: + - building_unit_places_properties + summary: Creates a building unit place property + operationId: Buildingunitplacesproperties_createNew + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + description: | + # Description + Creates a building unit place property + parameters: + - description: ID of the building unit timeboxed + name: building_unit_places_timeboxed_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyCreate' + required: true + responses: + '201': + description: Building unit place property successfully created! + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesCreateNewResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesCreateNew401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesCreateNew403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesCreateNew422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesCreateNew500Response + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + tags: + - building_unit_places_properties + summary: Update building unit place property + operationId: Buildingunitplacesproperties_updateProperty + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + description: Update building unit place property + parameters: + - description: ID of the timeboxed + name: building_unit_places_timeboxed_id + in: query + required: true + schema: + type: integer + - description: ID of the building unit place property to update + name: building_unit_places_property_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyUpdate' + required: true + responses: + '200': + description: Building unit place property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesUpdatePropertyResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesUpdateProperty403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesUpdateProperty422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/BuildingunitplacespropertiesUpdateProperty500Response + /v1/people: + get: + tags: + - people + summary: Returns all people within the given organisation. + operationId: People_getAllWithinOrganisation + security: + - api_key: [] + - oauth: + - person_read + description: >- + Returns all people within the given organisation. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all people within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleGetAllWithinOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleGetAllWithinOrganisation401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleGetAllWithinOrganisation403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleGetAllWithinOrganisation422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleGetAllWithinOrganisation500Response' + post: + tags: + - people + summary: Creates a person. + operationId: People_createPerson + security: + - api_key: [] + - oauth: + - person_write + description: Creates a person. Organisation manager only 🔒 + parameters: + - description: The ID of the current organisation + name: current_organisation_id + in: query + required: false + schema: + type: integer + - description: Boolean check if the person is a contact + name: contact + in: query + required: false + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonCreate' + required: true + responses: + '201': + description: Person successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleCreatePersonResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleCreatePerson401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleCreatePerson403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleCreatePerson422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleCreatePerson500Response' + /v1/people/{person_id}: + get: + tags: + - people + summary: Shows a person. + operationId: People_showPerson + security: + - api_key: [] + - oauth: + - person_read + description: Shows a person. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the person to show + name: person_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the person + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPersonResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPerson401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPerson403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPerson404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPerson422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleShowPerson500Response' + put: + tags: + - people + summary: Updates an person. + operationId: People_updatePerson + security: + - api_key: [] + - oauth: + - person_write + description: Updates an person. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the person to update + name: person_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonUpdate' + required: true + responses: + '200': + description: Person successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleUpdatePersonResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleUpdatePerson401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleUpdatePerson403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleUpdatePerson422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/PeopleUpdatePerson500Response' + delete: + tags: + - people + summary: Deletes the person within the current organisation. + operationId: People_deletePersonWithinOrganisation + security: + - api_key: [] + - oauth: + - person_destroy + description: >- + Deletes the person within the current organisation. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the person to delete + name: person_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Person successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PeopleDeletePersonWithinOrganisation500Response + /v1/report_templates: + get: + tags: + - report_templates + summary: Returns all report template for current customer account + operationId: Reporttemplates_getAllTemplates + security: + - api_key: [] + - oauth: + - report_template_read + description: Returns all report template for current customer account + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all report templates + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesGetAllTemplatesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesGetAllTemplates401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesGetAllTemplates403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesGetAllTemplates422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesGetAllTemplates500Response' + post: + tags: + - report_templates + summary: Create report template. + operationId: Reporttemplates_createNewTemplate + security: + - api_key: [] + - oauth: + - report_template_write + description: Create report template. Customer account users only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Create report template + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesCreateNewTemplateResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesCreateNewTemplate401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesCreateNewTemplate403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesCreateNewTemplate422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesCreateNewTemplate500Response + /v1/report_templates/{report_template_id}: + get: + tags: + - report_templates + summary: Shows a report template + operationId: Reporttemplates_showTemplate + security: + - api_key: [] + - oauth: + - report_template_read + description: Shows a report template + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the report template + name: report_template_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return report template + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplateResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplate401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplate403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplate404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplate422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesShowTemplate500Response' + put: + tags: + - report_templates + summary: Update a report template. + operationId: Reporttemplates_updateTemplate + security: + - api_key: [] + - oauth: + - report_template_write + description: Update a report template. Customer account users only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the report template + name: report_template_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Report template successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplateResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplate401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplate403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplate404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplate422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ReporttemplatesUpdateTemplate500Response' + delete: + tags: + - report_templates + summary: Delete the report template. + operationId: Reporttemplates_deleteReportTemplate + security: + - api_key: [] + - oauth: + - report_template_destroy + description: Delete the report template. Customer account users only 🔒 + parameters: + - description: ID of the report template + name: report_template_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Report template successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplateResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplate401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplate403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplate404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplate422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReporttemplatesDeleteReportTemplate500Response + /v1/report_account_schemas: + get: + tags: + - report_account_schemas + summary: Returns all report account schemas for current customer account + operationId: Reportaccountschemas_getAll + security: + - api_key: [] + - oauth: + - report_account_schema_read + description: Returns all report account schemas for current customer account + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all report account schemas + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasGetAll500Response' + post: + tags: + - report_account_schemas + summary: Customer account users only 🔒 + operationId: Reportaccountschemas_createNewReportAccountSchema + security: + - api_key: [] + - oauth: + - report_account_schema_write + description: Create report account schema + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Create report account schema + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasCreateNewReportAccountSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasCreateNewReportAccountSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasCreateNewReportAccountSchema403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasCreateNewReportAccountSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasCreateNewReportAccountSchema500Response + /v1/report_account_schemas/{report_account_schema_id}: + get: + tags: + - report_account_schemas + summary: Shows a report account schema + operationId: Reportaccountschemas_showReportAccountSchema + security: + - api_key: [] + - oauth: + - report_account_schema_read + description: Shows a report account schema + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the report account schema + name: report_account_schema_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return report account schema + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchemaResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasShowReportAccountSchema500Response + put: + tags: + - report_account_schemas + summary: Update a report account schema. + operationId: Reportaccountschemas_updateSchema + security: + - api_key: [] + - oauth: + - report_account_schema_write + description: Update a report account schema. Customer account users only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the report account schema + name: report_account_schema_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Report account schema successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasUpdateSchemaResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasUpdateSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasUpdateSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasUpdateSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasUpdateSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasUpdateSchema500Response + delete: + tags: + - report_account_schemas + summary: Delete the report account schema. + operationId: Reportaccountschemas_deleteSchema + security: + - api_key: [] + - oauth: + - report_account_schema_destroy + description: Delete the report account schema. Customer account users only 🔒 + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the report account schema + name: report_account_schema_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Report account schema successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ReportaccountschemasDeleteSchemaResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasDeleteSchema401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasDeleteSchema403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasDeleteSchema404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasDeleteSchema422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ReportaccountschemasDeleteSchema500Response + /v1/person_memberships: + get: + tags: + - person_memberships + summary: 'Returns all person_memberships within the given organisation. ' + operationId: Personmemberships_listWithinOrganisation + security: + - api_key: [] + - oauth: + - person_membership_read + description: Returns all person_memberships within the given organisation. + parameters: + - description: The ID of the current organisation + name: current_organisation_id + in: query + required: true + schema: + type: integer + - description: The ID of the member + name: member_id + in: query + required: true + schema: + type: integer + - description: The type of the member + name: member_type + in: query + required: true + schema: + type: string + responses: + '200': + description: Returns all person_memberships within the given customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsListWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsListWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsListWithinOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsListWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsListWithinOrganisation500Response + post: + tags: + - person_memberships + summary: Creates a membership in person + operationId: Personmemberships_createMembershipInPerson + security: + - api_key: [] + - oauth: + - person_membership_write + description: Creates a membership in person + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsCreateMembershipInPersonResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsCreateMembershipInPerson401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsCreateMembershipInPerson403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsCreateMembershipInPerson422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsCreateMembershipInPerson500Response + /v1/person_memberships/{person_membership_id}: + delete: + tags: + - person_memberships + summary: Destroys the person membership + operationId: Personmemberships_destroyMembership + security: + - api_key: [] + - oauth: + - person_membership_destroy + description: Destroys the person membership + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the person membership to be destroyed + name: person_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/PersonmembershipsDestroyMembership500Response + /v1/levels: + get: + tags: + - levels + summary: Returns all levels within the given organisation. + operationId: Levels_getAll + security: + - api_key: [] + - oauth: + - level_read + description: >- + Returns all levels within the given organisation. Organisation manager + only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the building + name: building_id + in: query + required: false + schema: + type: integer + - description: The name of the level + name: name + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all levels within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsGetAll500Response' + post: + tags: + - levels + summary: Creates a level + operationId: Levels_createNewLevel + security: + - api_key: [] + - oauth: + - level_write + description: Creates a level + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelCreate' + required: true + responses: + '201': + description: Level successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsCreateNewLevelResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsCreateNewLevel401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsCreateNewLevel403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsCreateNewLevel422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsCreateNewLevel500Response' + /v1/levels/{level_id}: + put: + tags: + - levels + summary: Updates an level + operationId: Levels_updateLevel + security: + - api_key: [] + - oauth: + - level_write + description: Updates an level + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the level to update + name: level_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Level' + required: true + responses: + '200': + description: Level successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevelResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevel401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevel403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevel404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevel422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsUpdateLevel500Response' + delete: + tags: + - levels + summary: Deletes the level within the current organisation + operationId: Levels_deleteLevel + security: + - api_key: [] + - oauth: + - level_destroy + description: Deletes the level within the current organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the level to delete + name: level_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Level successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevelResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevel401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevel403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevel404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevel422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsDeleteLevel500Response' + get: + tags: + - levels + summary: Shows a level. + operationId: Levels_showLevel + security: + - api_key: [] + - oauth: + - level_read + description: Shows a level. Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the level to show + name: level_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the level + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevelResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevel401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevel403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevel404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevel422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/LevelsShowLevel500Response' + /v1/room_and_zone_types: + get: + tags: + - room_and_zone_types + summary: Returns all room and area types currently available + operationId: Roomandzonetypes_getAll + security: + - api_key: [] + - oauth: + - room_and_zone_type_read + description: Returns all room and area types currently available + responses: + '200': + description: Returns all room and area types + content: + application/json: + schema: + $ref: '#/components/schemas/RoomandzonetypesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RoomandzonetypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RoomandzonetypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RoomandzonetypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RoomandzonetypesGetAll500Response' + /v1/rooms: + get: + tags: + - rooms + summary: Returns all rooms within the given organisation + operationId: Rooms_getAllWithinOrganisation + security: + - api_key: [] + - oauth: + - room_read + description: Returns all rooms within the given organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all rooms within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsGetAllWithinOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsGetAllWithinOrganisation401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsGetAllWithinOrganisation403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsGetAllWithinOrganisation422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsGetAllWithinOrganisation500Response' + post: + tags: + - rooms + summary: Creates a room + operationId: Rooms_createRoom + security: + - api_key: [] + - oauth: + - room_write + description: Creates a room + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomCreate' + required: true + responses: + '201': + description: Room successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsCreateRoomResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsCreateRoom401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsCreateRoom403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsCreateRoom422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsCreateRoom500Response' + /v1/rooms/{room_id}: + get: + tags: + - rooms + summary: Shows a room + operationId: Rooms_showRoom + security: + - api_key: [] + - oauth: + - room_read + description: Shows a room + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the room to show + name: room_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the room + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoomResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoom401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoom403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoom404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoom422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsShowRoom500Response' + put: + tags: + - rooms + summary: Updates an room + operationId: Rooms_updateRoom + security: + - api_key: [] + - oauth: + - room_write + description: Updates an room + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the room to update + name: room_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomUpdate' + required: true + responses: + '200': + description: Room successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoomResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoom401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoom403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoom404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoom422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsUpdateRoom500Response' + delete: + tags: + - rooms + summary: Deletes the room within the current organisation + operationId: Rooms_deleteRoomWithinOrganisation + security: + - api_key: [] + - oauth: + - room_destroy + description: Deletes the room within the current organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the room to delete + name: room_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Room successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/RoomsDeleteRoomWithinOrganisationResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RoomsDeleteRoomWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RoomsDeleteRoomWithinOrganisation403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/RoomsDeleteRoomWithinOrganisation404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RoomsDeleteRoomWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RoomsDeleteRoomWithinOrganisation500Response + /v1/zones: + post: + tags: + - zones + summary: Creates a zone + operationId: Zones_createZone + security: + - api_key: [] + - oauth: + - zone_write + description: Creates a zone + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneCreate' + required: true + responses: + '201': + description: Zone successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesCreateZoneResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesCreateZone401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesCreateZone403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesCreateZone422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesCreateZone500Response' + /v1/zones/{zone_id}: + put: + tags: + - zones + summary: Updates an zone + operationId: Zones_updateZone + security: + - api_key: [] + - oauth: + - zone_write + description: Updates an zone + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the zone to update + name: zone_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneUpdate' + required: true + responses: + '200': + description: Zone successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZoneResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZone401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZone403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZone404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZone422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesUpdateZone500Response' + delete: + tags: + - zones + summary: Deletes the zone within the current organisation + operationId: Zones_deleteZone + security: + - api_key: [] + - oauth: + - zone_destroy + description: Deletes the zone within the current organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the zone to delete + name: zone_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Zone successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZoneResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZone401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZone403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZone404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZone422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ZonesDeleteZone500Response' + /v1/departments: + get: + tags: + - departments + summary: Returns all departments within the given organisation + operationId: Departments_getAll + security: + - api_key: [] + - oauth: + - department_read + description: Returns all departments within the given organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all departments within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsGetAll500Response' + post: + tags: + - departments + summary: Creates a department within the current organisation + operationId: Departments_createNewDepartment + security: + - api_key: [] + - oauth: + - department_write + description: Creates a department within the current organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentCreate' + required: true + responses: + '201': + description: Department successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsCreateNewDepartmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsCreateNewDepartment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsCreateNewDepartment403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsCreateNewDepartment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsCreateNewDepartment500Response' + /v1/departments/{department_id}: + put: + tags: + - departments + summary: Updates an department within the current organisation. + operationId: Departments_updateDepartment + security: + - api_key: [] + - oauth: + - department_write + description: >- + Updates an department within the current organisation. Organisation + manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the department to update + name: department_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Department' + required: true + responses: + '200': + description: Department successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartment403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartment404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsUpdateDepartment500Response' + delete: + tags: + - departments + summary: Marks a department as deleted within the current organisation. + operationId: Departments_markAsDeleted + security: + - api_key: [] + - oauth: + - department_destroy + description: >- + Marks a department as deleted within the current organisation. + Organisation manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the department to delete + name: department_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Department successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentsMarkAsDeleted500Response' + /v1/manufacturers: + get: + tags: + - manufacturers + summary: Returns all manufacturers within the given organisation + operationId: Manufacturers_getAll + security: + - api_key: [] + - oauth: + - manufacturer_read + description: Returns all manufacturers within the given organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all manufacturers within the given organisation + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersGetAll500Response' + post: + tags: + - manufacturers + summary: Creates a manufacturer within the current organisation + operationId: Manufacturers_createNewManufacturer + security: + - api_key: [] + - oauth: + - manufacturer_write + description: Creates a manufacturer within the current organisation + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersCreateNewManufacturerResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersCreateNewManufacturer401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersCreateNewManufacturer403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersCreateNewManufacturer422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersCreateNewManufacturer500Response + /v1/manufacturers/{manufacturer_id}: + put: + tags: + - manufacturers + summary: Updates an manufacturer within the current organisation. + operationId: Manufacturers_updateManufacturer + security: + - api_key: [] + - oauth: + - manufacturer_write + description: >- + Updates an manufacturer within the current organisation. Organisation + manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the manufacturer to update + name: manufacturer_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Manufacturer' + required: true + responses: + '200': + description: Manufacturer successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateManufacturerResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersUpdateManufacturer401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersUpdateManufacturer403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersUpdateManufacturer404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersUpdateManufacturer422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersUpdateManufacturer500Response + delete: + tags: + - manufacturers + summary: Deletes the manufacturer within the current organisation. + operationId: Manufacturers_deleteManufacturer + security: + - api_key: [] + - oauth: + - manufacturer_destroy + description: >- + Deletes the manufacturer within the current organisation. Organisation + manager only 🔒 + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the manufacturer to delete + name: manufacturer_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Manufacturer successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteManufacturerResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersDeleteManufacturer401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersDeleteManufacturer403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersDeleteManufacturer404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersDeleteManufacturer422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ManufacturersDeleteManufacturer500Response + /v1/manufacturers/{manufacturer_id}/model_types: + get: + tags: + - manufacturers + operationId: Manufacturers_listModelTypes + security: + - api_key: [] + - oauth: + - manufacturer_read + description: Returns all types of models within the given manufacturer + parameters: + - description: The ID of the manufacturer + name: manufacturer_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of models within the given manufacturer + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersListModelTypesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersListModelTypes401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersListModelTypes403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersListModelTypes422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersListModelTypes500Response' + post: + tags: + - manufacturers + operationId: Manufacturers_createModelType + security: + - api_key: [] + - oauth: + - manufacturer_write + description: Creates a model_type + parameters: + - description: The ID of the manufacturer + name: manufacturer_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersCreateModelTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersCreateModelType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersCreateModelType403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersCreateModelType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersCreateModelType500Response' + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + put: + tags: + - manufacturers + operationId: Manufacturers_updateModelType + security: + - api_key: [] + - oauth: + - manufacturer_write + description: Updates an model_type + parameters: + - description: The ID of the model_type to update + name: id + in: path + required: true + schema: + type: integer + - description: The ID of the manufacturer + name: manufacturer_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelType' + required: true + responses: + '200': + description: Model type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersUpdateModelType500Response' + delete: + tags: + - manufacturers + operationId: Manufacturers_deleteModelType + security: + - api_key: [] + - oauth: + - manufacturer_destroy + description: Deletes the model_type + parameters: + - description: The ID of the model_type to delete + name: id + in: path + required: true + schema: + type: integer + - description: The ID of the manufacturer + name: manufacturer_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Model type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturersDeleteModelType500Response' + /v1/facility_types: + get: + tags: + - facility_types + summary: Returns all facility types. + operationId: Facilitytypes_getAll + security: + - api_key: [] + - oauth: + - facility_type_read + description: > + Returns all facility types. + + Use this endpoint to show a drop down of all available facility types. + Once a specific facility type is selected you can lazy load the matching + JSON schema via the Facility Types SHOW endpoint. + responses: + '200': + description: Returns all facility types excluding their schemas + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll500Response' + /v1/facility_types/facility_types_with_schema: + get: + tags: + - facility_types + summary: Returns all facility types. + operationId: Facilitytypes_getAll + security: + - api_key: [] + - oauth: + - facility_type_read + description: > + Returns all facility types. + + Use this endpoint if you implement an own cache mechanism. The facility + types do only change infrequently. + responses: + '200': + description: Returns all facility types including their schemas + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll200Response' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesGetAll500Response' + /v1/facility_types/{facility_type_id}: + get: + tags: + - facility_types + summary: Shows a facility type + operationId: Facilitytypes_showType + security: + - api_key: [] + - oauth: + - facility_type_read + description: Shows a facility type + parameters: + - description: The ID of the facility type to show + name: facility_type_id + in: path + required: true + schema: + type: integer + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns the facility type + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitytypesShowType500Response' + /v1/facilities: + get: + tags: + - facilities + summary: Returns all facilities within the given organisation + operationId: Facilities_getAllWithinOrganisation + security: + - api_key: [] + - oauth: + - facility_read + description: |+ + # Description + Returns all facilities within the given organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: Filter facilities by custom_id + name: custom_id + in: query + required: false + schema: + type: string + - description: Filter facilities by inventory_number + name: inventory_number + in: query + required: false + schema: + type: string + - description: Filter facilities by serial_number + name: serial_number + in: query + required: false + schema: + type: string + - description: Filter facilities by year_of_construction + name: year_of_construction + in: query + required: false + schema: + type: string + - description: Filter facilities by manufacturer_id + name: manufacturer_id + in: query + required: false + schema: + type: string + - description: Filter facilities by department_id + name: department_id + in: query + required: false + schema: + type: string + - description: Filter facilities by facility_type_id + name: facility_type_id + in: query + required: false + schema: + type: string + - description: Filter facilities by property_id + name: property_id + in: query + required: false + schema: + type: string + - description: Filter facilities by lot_id + name: lot_id + in: query + required: false + schema: + type: string + - description: Filter facilities by building_id + name: building_id + in: query + required: false + schema: + type: string + - description: Filter facilities by level_id + name: level_id + in: query + required: false + schema: + type: string + - description: Filter facilities by room_id + name: room_id + in: query + required: false + schema: + type: string + - description: Filter facilities by zone_id + name: zone_id + in: query + required: false + schema: + type: string + - description: Filter facilities by user_id + name: user_id + in: query + required: false + schema: + type: string + - description: page for pagination by default 0 + name: page + in: query + required: false + schema: + type: number + - description: number of items per page by default 50 + name: per_page + in: query + required: false + schema: + type: number + responses: + '200': + description: Returns all facilities within the given organisation + content: + application/json: + schema: + $ref: >- + #/components/schemas/FacilitiesGetAllWithinOrganisationResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/FacilitiesGetAllWithinOrganisation401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/FacilitiesGetAllWithinOrganisation403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/FacilitiesGetAllWithinOrganisation422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/FacilitiesGetAllWithinOrganisation500Response + post: + tags: + - facilities + summary: Creates a facility + operationId: Facilities_createFacility + security: + - api_key: [] + - oauth: + - facility_write + description: |+ + # Description + Creates a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityCreate' + required: true + responses: + '201': + description: Facility successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesCreateFacilityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesCreateFacility401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesCreateFacility403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesCreateFacility422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesCreateFacility500Response' + /v1/facilities/{facility_id}: + get: + tags: + - facilities + summary: Shows a facility + operationId: Facilities_showFacility + security: + - api_key: [] + - oauth: + - facility_read + description: |+ + # Description + Shows a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the facility to show + name: facility_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the facility + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacilityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacility401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacility403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacility404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacility422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesShowFacility500Response' + put: + tags: + - facilities + summary: Updates an facility + operationId: Facilities_updateFacility + security: + - api_key: [] + - oauth: + - facility_write + description: |+ + # Description + Updates an facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the facility to update + name: facility_id + in: path + required: true + schema: + type: integer + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityUpdate' + required: true + responses: + '200': + description: Facility successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacilityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacility401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacility403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacility404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacility422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesUpdateFacility500Response' + delete: + tags: + - facilities + summary: Deletes the facility within the current organisation + operationId: Facilities_deleteFacility + security: + - api_key: [] + - oauth: + - facility_destroy + description: |+ + # Description + Deletes the facility within the current organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the facility to delete + name: facility_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Facility successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacilityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacility401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacility403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacility404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacility422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/FacilitiesDeleteFacility500Response' + /v1/activities: + get: + tags: + - activities + summary: Returns all activities within the given organisation. + operationId: Activities_listWithFilters + security: + - api_key: [] + - oauth: + - activity_read + description: >- + Returns all activities within the given organisation. They can be + filtered based on property or building + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID property to filter the activities. + name: property_id + in: query + required: false + schema: + type: string + - description: The ID of building to filter activities + name: building_id + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all activities within the given organisation. + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesListWithFiltersResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesListWithFilters401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesListWithFilters403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesListWithFilters422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesListWithFilters500Response' + post: + tags: + - activities + summary: Creates an activity + operationId: Activities_createActivity + security: + - api_key: [] + - oauth: + - activity_write + description: >+ + # Description + + Creates an activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityCreate' + required: true + responses: + '201': + description: Activity successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesCreateActivityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesCreateActivity401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesCreateActivity403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesCreateActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesCreateActivity500Response' + /v1/activities/{activity_id}: + get: + tags: + - activities + summary: Shows a activity + operationId: Activities_showActivity + security: + - api_key: [] + - oauth: + - activity_read + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the activity to show + name: activity_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity500Response' + put: + tags: + - activities + summary: Update the activity + operationId: Activities_updateActivity + security: + - api_key: [] + - oauth: + - activity_write + description: Update the activity + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the activity you want to update + name: activity_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityUpdate' + required: true + responses: + '200': + description: Activity successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesUpdateActivityResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesUpdateActivity403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesUpdateActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesUpdateActivity500Response' + delete: + tags: + - activities + summary: Delete the activity + operationId: Activities_removeActivity + security: + - api_key: [] + - oauth: + - activity_destroy + description: Delete the activity + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: ID of the activity you want to delete + name: activity_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Activity successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesRemoveActivityResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesRemoveActivity403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesRemoveActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesRemoveActivity500Response' + /v1/activities/{external_id}/reference: + get: + tags: + - activities + summary: Shows a activity + operationId: Activities_showActivity + security: + - api_key: [] + - oauth: + - activity_read + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The External ID of the activity to show + name: external_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity200Response' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesShowActivity500Response' + /v1/activity_types: + get: + tags: + - activity_types + summary: Returns all activity types + operationId: Activitytypes_getAll + security: + - api_key: [] + - oauth: + - activity_type_read + description: Returns all activity types, Admin, Supervisor 🔒 + parameters: + - description: The ID of the current account + name: customer_account_id + in: query + required: false + schema: + type: integer + responses: + '200': + description: Returns all activity types + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesGetAll500Response' + post: + tags: + - activity_types + summary: Creates an activity type + operationId: Activitytypes_createActivity + security: + - api_key: [] + - oauth: + - activity_type_write + description: | + # Description + Creates an activity type + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: false + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '201': + description: Activity type successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesCreateActivityResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesCreateActivity401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesCreateActivity403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesCreateActivity422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesCreateActivity500Response' + /v1/activity_types/{activity_type_id}: + get: + tags: + - activity_types + summary: Shows a activity type + operationId: Activitytypes_showActivityType + security: + - api_key: [] + - oauth: + - activity_type_read + description: | + # Description + Shows a activity type + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: false + schema: + type: integer + - description: The ID of the activity type to show + name: activity_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity type + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityType403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityType404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesShowActivityType500Response' + put: + tags: + - activity_types + summary: Update the activity type + operationId: Activitytypes_updateType + security: + - api_key: [] + - oauth: + - activity_type_write + description: Update the activity type + parameters: + - description: The ID of the activity type to show + name: activity_type_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '200': + description: Activity type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesUpdateTypeResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesUpdateType403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesUpdateType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesUpdateType500Response' + delete: + tags: + - activity_types + summary: Delete the activity type + operationId: Activitytypes_deleteActivityType + security: + - api_key: [] + - oauth: + - activity_type_destroy + description: Delete the activity type + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: false + schema: + type: integer + - description: The ID of the activity type to show + name: activity_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Activity type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitytypesDeleteActivityTypeResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ActivitytypesDeleteActivityType403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ActivitytypesDeleteActivityType422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ActivitytypesDeleteActivityType500Response + /v1/attachments: + post: + tags: + - attachments + summary: Creates an attachment + operationId: Attachments_createNewAttachment + security: + - api_key: [] + - oauth: + - attachment_write + description: >+ + # Description + + Creates an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentCreate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsCreateNewAttachmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsCreateNewAttachment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsCreateNewAttachment403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsCreateNewAttachment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsCreateNewAttachment500Response' + /v1/attachments/copy: + post: + tags: + - attachments + summary: Duplicate an attachment + operationId: Attachments_duplicateAttachment + security: + - api_key: [] + - oauth: + - attachment_write + description: >+ + # Description + + Duplicate an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentDuplicate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsDuplicateAttachmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsDuplicateAttachment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsDuplicateAttachment403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsDuplicateAttachment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsDuplicateAttachment500Response' + /v1/attachments/{attachment_id}: + delete: + tags: + - attachments + summary: Marks an attachment as deleted. + operationId: Attachments_markAsDeleted + security: + - api_key: [] + - oauth: + - attachment_destroy + description: >+ + # Description + + Marks an attachment as deleted. + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - description: The ID of the attachment to delete + name: attachment_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Attachment successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentsMarkAsDeleted500Response' + /v1/images: + post: + tags: + - images + summary: Creates an image + operationId: Images_createImage + security: + - api_key: [] + - oauth: + - image_write + description: >+ + # Description + + Creates an image + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageCreate' + required: true + responses: + '201': + description: Image successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesCreateImageResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesCreateImage401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesCreateImage403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesCreateImage422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesCreateImage500Response' + /v1/images/{image_id}: + put: + tags: + - images + summary: Updates an image. + operationId: Images_updateImage + security: + - api_key: [] + - oauth: + - image_write + description: >+ + # Description + + Updates an image. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - description: The ID of the image to update + name: image_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageUpdate' + required: true + responses: + '200': + description: Image successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImageResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImage401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImage403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImage404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImage422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesUpdateImage500Response' + delete: + tags: + - images + summary: Marks an image as deleted. + operationId: Images_markAsDeleted + security: + - api_key: [] + - oauth: + - image_destroy + description: >+ + # Description + + Marks an image as deleted. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - description: The ID of the image to delete + name: image_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Image successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ImagesMarkAsDeleted500Response' + /v1/time_dependent_attributes: + get: + tags: + - time_dependent_attributes + summary: Returns all time_dependent_attributes within the given parent + operationId: Timedependentattributes_getAllWithinParent + security: + - api_key: [] + - oauth: + - time_dependent_attribute_read + description: Returns all time_dependent_attributes within the given parent + parameters: + - description: Filter time_dependent_attributes by id. + name: id + in: query + required: false + schema: + type: string + - description: Filter time_dependent_attributes by parent_id. + name: parent_id + in: query + required: false + schema: + type: string + - description: | + Filter time_dependent_attributes by parent_type. + Allowed parent_types: Building, Building::Unit + name: parent_type + in: query + required: false + schema: + type: string + - description: Filter time_dependent_attributes by attribute_key. + name: attribute_key + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all time_dependent_attributes within the given parent + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesGetAllWithinParentResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesGetAllWithinParent401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesGetAllWithinParent403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesGetAllWithinParent422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesGetAllWithinParent500Response + post: + tags: + - time_dependent_attributes + summary: Creates a time_dependent_attribute + operationId: Timedependentattributes_createAttribute + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + description: | + # Description + Creates a time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttribute' + required: true + responses: + '201': + description: TimeDependentAttribute successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesCreateAttributeResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesCreateAttribute401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesCreateAttribute403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesCreateAttribute422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesCreateAttribute500Response + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + put: + tags: + - time_dependent_attributes + summary: Updates an time_dependent_attribute + operationId: Timedependentattributes_updateAttribute + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + description: | + # Description + Updates an time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + parameters: + - description: The ID of the time_dependent_attribute to update + name: time_dependent_attribute_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttribute' + required: true + responses: + '200': + description: TimeDependentAttribute successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttributeResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttribute401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttribute403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttribute404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttribute422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesUpdateAttribute500Response + delete: + tags: + - time_dependent_attributes + summary: Deletes the specified time_dependent_attribute + operationId: Timedependentattributes_deleteTimeDependentAttribute + security: + - api_key: [] + - oauth: + - time_dependent_attribute_destroy + description: Deletes the specified time_dependent_attribute + parameters: + - description: The ID of the time_dependent_attribute to delete + name: time_dependent_attribute_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: TimeDependentAttribute successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttributeResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttribute401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttribute403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttribute404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttribute422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TimedependentattributesDeleteTimeDependentAttribute500Response + /v1/webhooks: + get: + tags: + - webhooks + summary: Returns all webhooks + operationId: Webhooks_getAll + security: + - api_key: [] + - oauth: + - webhook_read + description: Returns all webhooks within the given customer account. + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all webhooks within the organisation + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetAll500Response' + post: + tags: + - webhooks + summary: Creates a webhook + operationId: Webhooks_createNewWebhook + security: + - api_key: [] + - oauth: + - webhook_write + description: | + # Description + Creates a new webhook + # URL + The url where the payload will be sent + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + # Modes + testing = 0 , live = 1 + # Organisation IDs + Leaving it empy will send the event to all of the customer account organisations + # Secret + This secret is used to encrypt checksum + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreate' + required: true + responses: + '201': + description: Webhook successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksCreateNewWebhookResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksCreateNewWebhook401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksCreateNewWebhook403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksCreateNewWebhook422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksCreateNewWebhook500Response' + /v1/webhooks/{webhook_id}: + get: + tags: + - webhooks + summary: Shows a webhook + operationId: Webhooks_showWebhook + security: + - api_key: [] + - oauth: + - webhook_read + description: Shows a webhook, Organisation manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + name: webhook_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the webhook + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhookResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhook401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhook403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhook404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhook422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksShowWebhook500Response' + put: + tags: + - webhooks + summary: Updates a webhook + operationId: Webhooks_updateWebhook + security: + - api_key: [] + - oauth: + - webhook_write + description: | + # Description + Updates a webhook, Organisation manager 🔒 + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + name: webhook_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Webhook' + required: true + responses: + '200': + description: Webhook successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksUpdateWebhookResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksUpdateWebhook401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksUpdateWebhook403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksUpdateWebhook422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksUpdateWebhook500Response' + delete: + tags: + - webhooks + summary: Deletes the webhook within the current organisation. + operationId: Webhooks_deleteWebhookById + security: + - api_key: [] + - oauth: + - webhook_destroy + description: >- + Deletes the webhook within the current organisation. Organisation + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the webhook to delete + name: webhook_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Webhook successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookByIdResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookById401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookById403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookById404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookById422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksDeleteWebhookById500Response' + /v1/tags: + get: + tags: + - tags + summary: Returns all tags within the given customer account. + operationId: Tags_getAllTagsWithCounts + security: + - api_key: [] + - oauth: + - tag_read + description: >- + Returns all tags within the given customer account. It also returns the + count of buildings and units + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: Search for the label + name: label + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all tags within the given customer account + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllTagsWithCountsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllTagsWithCounts401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllTagsWithCounts403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllTagsWithCounts422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsGetAllTagsWithCounts500Response' + post: + tags: + - tags + summary: Creates a tag + operationId: Tags_createTag + security: + - api_key: [] + - oauth: + - tag_write + description: | + # Description + Creates a tag + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagCreate' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateTagResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateTag401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateTag403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateTag422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateTag500Response' + /v1/tags/{tag_id}: + put: + tags: + - tags + summary: Update the tag + operationId: Tags_updateTag + security: + - api_key: [] + - oauth: + - tag_write + description: Update the tag + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the tag you want to update + name: tag_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdate' + required: true + responses: + '200': + description: Tag successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsUpdateTagResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsUpdateTag403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsUpdateTag422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsUpdateTag500Response' + delete: + tags: + - tags + summary: Marks a tag as deleted. + operationId: Tags_markAsDeleted + security: + - api_key: [] + - oauth: + - tag_destroy + description: | + # Description + Marks a tag as deleted. + parameters: + - description: The ID of the current customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the tag to delete + name: tag_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Tag successfully marked as deleted + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeletedResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeleted401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeleted403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeleted404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeleted422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMarkAsDeleted500Response' + /v1/tags/merge: + post: + tags: + - tags + summary: Merges master tags with other tags + operationId: Tags_mergeMasterTags + security: + - api_key: [] + - oauth: + - tag_write + description: | + # Description + Master tag is the main tag that get all other tags building or units + Other tags after the merge will be deleted + parameters: + - description: The ID of the current_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeBody' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeMasterTagsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeMasterTags401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeMasterTags403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeMasterTags422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeMasterTags500Response' + /v1/tags/assign_buildings: + put: + tags: + - tags + summary: Assign multiple tags to multiple buildings + operationId: Tags_assignBuildings + security: + - api_key: [] + - oauth: + - tag_write + description: > + # Description + + Assign multiple tags to multiple buildings + + ATTENTION ⚠️ This will NOT delete previously assigned tags to those + buildings + + If you see more tags they probably are assigned from building + create/update endpoint. + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagAssignBuildings' + required: true + responses: + '200': + description: Tags assigned successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TagsAssignBuildingsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TagsAssignBuildings401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/TagsAssignBuildings403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/TagsAssignBuildings422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/TagsAssignBuildings500Response' + /v1/imports: + get: + tags: + - csv_imports + summary: Return all imports + operationId: Csvimports_getAllImports + security: + - api_key: [] + - oauth: + - import_read + description: Return all imports + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: Filter by is_demo + name: is_demo + in: query + required: false + schema: + type: boolean + - description: Filter the imports by type + name: location_type + in: query + required: false + schema: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + responses: + '200': + description: Return all imports for the specific customer account + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetAllImportsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetAllImports401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetAllImports500Response' + post: + tags: + - csv_imports + summary: Creates a import by file + operationId: Csvimports_createByFile + security: + - api_key: [] + - oauth: + - import_write + description: | + # Description + Creates a new import + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the organisation + name: organisation_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportCreate' + required: true + responses: + '201': + description: Csv imported successfully! + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShowCreate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsCreateByFileResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsCreateByFile403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsCreateByFile422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsCreateByFile500Response' + /v1/imports/{import_id}: + get: + tags: + - csv_imports + summary: Shows information for specific import + operationId: Csvimports_getInfo + security: + - api_key: [] + - oauth: + - import_read + description: Shows information for an import. + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the csv import + name: import_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Return an import + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfoResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfo401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfo403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfo404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfo422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsGetInfo500Response' + put: + tags: + - csv_imports + summary: Update the import + operationId: Csvimports_updateImport + security: + - api_key: [] + - oauth: + - import_write + description: Update the import + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the import you want to update + name: import_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportUpdate' + required: true + responses: + '200': + description: Import successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsUpdateImportResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsUpdateImport403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsUpdateImport422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/CsvimportsUpdateImport500Response' + /v1/scorecards: + get: + tags: + - scorecards + summary: Returns all scorecards + operationId: Scorecards_listAllScorecards + security: + - api_key: [] + - oauth: + - scorecard_read + description: Returns all scorecards within the given customer account. + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Returns all scorecards within the customer account + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsListAllScorecardsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsListAllScorecards401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsListAllScorecards403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsListAllScorecards422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsListAllScorecards500Response' + post: + tags: + - scorecards + summary: Creates a scorecard + operationId: Scorecards_createNewScorecard + security: + - api_key: [] + - oauth: + - scorecard_write + description: > + # Description + + Creates a new scorecard. This only creates a new scorecard. The score + calculation + + is triggered when the scorecard is assigned to a building. Check + scorecard_memberships + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardCreate' + required: true + responses: + '201': + description: Scorecard successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsCreateNewScorecardResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsCreateNewScorecard401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsCreateNewScorecard403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsCreateNewScorecard422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsCreateNewScorecard500Response' + /v1/scorecards/{scorecard_id}: + get: + tags: + - scorecards + summary: Shows a scorecard + operationId: Scorecards_showDetails + security: + - api_key: [] + - oauth: + - scorecard_read + description: Shows a scorecard, Organisation manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + name: scorecard_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetailsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetails401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetails403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetails404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetails422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsShowDetails500Response' + put: + tags: + - scorecards + summary: Updates a scorecard + operationId: Scorecards_updateScorecard + security: + - api_key: [] + - oauth: + - scorecard_write + description: | + # Description + Updates a scorecard, Organisation manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + name: scorecard_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Scorecard' + required: true + responses: + '200': + description: Scorecard successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsUpdateScorecardResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsUpdateScorecard401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsUpdateScorecard403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsUpdateScorecard422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsUpdateScorecard500Response' + delete: + tags: + - scorecards + summary: Deletes the scorecard within the current account. + operationId: Scorecards_deleteWithinAccount + security: + - api_key: [] + - oauth: + - scorecard_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard to delete + name: scorecard_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: Scorecard successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccountResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccount401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccount403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccount404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccount422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsDeleteWithinAccount500Response' + /v1/scorecard_segments: + post: + tags: + - scorecard_segments + summary: Creates a scorecard segment + operationId: Scorecardsegments_createNewSegment + security: + - api_key: [] + - oauth: + - scorecard_segment_write + description: | + # Description + Creates a new scorecard segment + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentCreate' + required: true + responses: + '201': + description: Scorecard segment successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsCreateNewSegmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsegmentsCreateNewSegment401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsegmentsCreateNewSegment403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsegmentsCreateNewSegment422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsegmentsCreateNewSegment500Response + /v1/scorecard_segments/{scorecard_segment_id}: + put: + tags: + - scorecard_segments + summary: Updates a scorecard segment + operationId: Scorecardsegments_updateSegment + security: + - api_key: [] + - oauth: + - scorecard_segment_write + description: | + # Description + Updates a scorecard segment, Account manager 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard segment (only shows the scorecards based on + current_organisation_id) + name: scorecard_segment_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegment' + required: true + responses: + '200': + description: Scorecard segment successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsUpdateSegmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsUpdateSegment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsUpdateSegment403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsUpdateSegment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsUpdateSegment500Response' + delete: + tags: + - scorecard_segments + summary: Deletes the scorecard segment within the current account. + operationId: Scorecardsegments_deleteSegment + security: + - api_key: [] + - oauth: + - scorecard_segment_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard segment to delete + name: scorecard_segment_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: Scorecard segment successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegmentResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegment401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegment403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegment404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegment422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsegmentsDeleteSegment500Response' + /v1/scorecard_topics: + post: + tags: + - scorecard_topics + summary: Creates a scorecard topic + operationId: Scorecardtopics_createNewTopic + security: + - api_key: [] + - oauth: + - scorecard_topic_write + description: | + # Description + Creates a new scorecard topic + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicCreate' + required: true + responses: + '201': + description: Scorecard topic successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsCreateNewTopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsCreateNewTopic401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsCreateNewTopic403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsCreateNewTopic422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsCreateNewTopic500Response' + /v1/scorecard_topics/{scorecard_topic_id}: + put: + tags: + - scorecard_topics + summary: Updates a scorecard topic + operationId: Scorecardtopics_updateTopic + security: + - api_key: [] + - oauth: + - scorecard_topic_write + description: | + # Description + Updates a scorecard topic, Account manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard topic (only shows the topic based on current + account) + name: scorecard_topic_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopic' + required: true + responses: + '200': + description: scorecard topic successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsUpdateTopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsUpdateTopic401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsUpdateTopic403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsUpdateTopic422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsUpdateTopic500Response' + delete: + tags: + - scorecard_topics + summary: Deletes the scorecard topic within the current segment. + operationId: Scorecardtopics_deleteTopic + security: + - api_key: [] + - oauth: + - scorecard_topic_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard topic to delete + name: scorecard_topic_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: scorecard topic successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopic401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopic403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopic404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopic422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardtopicsDeleteTopic500Response' + /v1/scorecard_subtopics: + post: + tags: + - scorecard_subtopics + summary: Creates a scorecard subtopic + operationId: Scorecardsubtopics_createSubtopic + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + description: | + # Description + Creates a new scorecard subtopic + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicCreate' + required: true + responses: + '201': + description: Scorecard subtopic successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsubtopicsCreateSubtopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsCreateSubtopic401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsCreateSubtopic403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsCreateSubtopic422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsCreateSubtopic500Response + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + put: + tags: + - scorecard_subtopics + summary: Updates a scorecard subtopic + operationId: Scorecardsubtopics_updateSubtopic + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + description: | + # Description + Updates a scorecard subtopic, Account manager 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard subtopic (only shows the subtopic based on + current account) + name: scorecard_subtopic_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopic' + required: true + responses: + '200': + description: scorecard subtopic successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsubtopicsUpdateSubtopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsUpdateSubtopic401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsUpdateSubtopic403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsUpdateSubtopic422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsUpdateSubtopic500Response + delete: + tags: + - scorecard_subtopics + summary: Deletes the scorecard subtopic within the current segment. + operationId: Scorecardsubtopics_deleteSubtopic + security: + - api_key: [] + - oauth: + - scorecard_subtopic_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard subtopic to delete + name: scorecard_subtopic_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: scorecard subtopic successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardsubtopicsDeleteSubtopicResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsDeleteSubtopic401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsDeleteSubtopic403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsDeleteSubtopic404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsDeleteSubtopic422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardsubtopicsDeleteSubtopic500Response + /v1/scorecard_memberships/de_assign: + post: + tags: + - scorecard_memberships + summary: De-assigns scorecard memberships from scorecard + operationId: Scorecardmemberships_deAssign + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: | + # Description + De-assigns scorecard memberships from scorecard + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipDeAssign' + required: true + responses: + '201': + description: Scorecard membership de-assigned successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsDeAssignResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsDeAssign401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsDeAssign403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsDeAssign422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsDeAssign500Response' + /v1/scorecard_memberships: + get: + tags: + - scorecard_memberships + summary: 'Returns all scorecard memberships within the given account. ' + operationId: Scorecardmemberships_listAllScorecardMemberships + security: + - api_key: [] + - oauth: + - scorecard_membership_read + description: Returns all scorecard memberships within the given account. + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID on other scorecard to filter memberships + name: scorecard_id + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard_memberships within the given customer account + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsListAllScorecardMembershipsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsListAllScorecardMemberships401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsListAllScorecardMemberships403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsListAllScorecardMemberships422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsListAllScorecardMemberships500Response + post: + tags: + - scorecard_memberships + summary: Creates a scorecard membership + operationId: Scorecardmemberships_createMembership + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: | + # Description + Creates a new scorecard membership + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCreate' + required: true + responses: + '201': + description: Scorecard membership successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCreateMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCreateMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCreateMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCreateMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCreateMembership500Response + /v1/scorecard_memberships/{scorecard_membership_id}: + get: + tags: + - scorecard_memberships + summary: Shows a scorecard membership + operationId: Scorecardmemberships_showMembership + security: + - api_key: [] + - oauth: + - scorecard_membership_read + description: Shows a scorecard membership, Customer account manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + name: scorecard_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsShowMembership500Response + delete: + tags: + - scorecard_memberships + summary: Deletes the scorecard membership within the current account. + operationId: Scorecardmemberships_deleteMembership + security: + - api_key: [] + - oauth: + - scorecard_membership_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard membership to delete + name: scorecard_membership_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: Scorecard membership successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsDeleteMembership500Response + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + tags: + - scorecard_memberships + summary: Refresh a scorecard membership + operationId: Scorecardmemberships_refreshMembership + security: + - api_key: [] + - oauth: + - scorecard_membership_read + description: Refresh a scorecard membership, Customer account manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + name: scorecard_membership_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembershipResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembership403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembership404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshMembership500Response + /v1/scorecard_memberships/refresh_by_scorecard: + post: + tags: + - scorecard_memberships + summary: Refresh scores for specific scorecard/s + operationId: Scorecardmemberships_refreshScores + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: Refresh scores for specific scorecard/s + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByScorecard' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardmembershipsRefreshScoresResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshScores401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshScores403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshScores404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshScores422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshScores500Response + /v1/scorecard_memberships/refresh_all_by_parent: + post: + tags: + - scorecard_memberships + summary: Refresh all scorecards by parent + operationId: Scorecardmemberships_refreshAllByParent + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: Refresh all scorecards by parent + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByParent' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParentResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParent401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParent403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParent404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParent422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsRefreshAllByParent500Response + /v1/scorecard_memberships/calculated_costs: + post: + tags: + - scorecard_memberships + summary: Calculated costs of scorecard memberships + operationId: Scorecardmemberships_calculateCosts + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: >- + Return calculated costs of scorecard memberships, Customer account + manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCostsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCosts401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCosts403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCosts404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCosts422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCalculateCosts500Response + /v1/scorecard_memberships/count_buildings: + post: + tags: + - scorecard_memberships + summary: Get number of buildings by providing scorecard ids + operationId: Scorecardmemberships_countBuildingsByScorecardIds + security: + - api_key: [] + - oauth: + - scorecard_membership_write + description: >- + Get number of buildings by providing scorecard ids, Customer account + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIdsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIds401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIds403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIds404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIds422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardmembershipsCountBuildingsByScorecardIds500Response + /v1/scorecard_assigners: + get: + tags: + - scorecard_assigners + summary: 'Returns all scorecard assigners within the given account. ' + operationId: Scorecardassigners_getAll + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + description: Returns all scorecard assigners within the given account. + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID on other scorecard to filter assigners + name: scorecard_id + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard assigners within the given customer account + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersGetAll500Response' + post: + tags: + - scorecard_assigners + summary: Creates a scorecard assigner + operationId: Scorecardassigners_createNewScorecardAssigner + security: + - api_key: [] + - oauth: + - scorecard_assigner_write + description: | + # Description + Creates a new scorecard assigner + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardAssignerCreate' + required: true + responses: + '201': + description: Scorecard assigner successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersCreateNewScorecardAssignerResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersCreateNewScorecardAssigner401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersCreateNewScorecardAssigner403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersCreateNewScorecardAssigner422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersCreateNewScorecardAssigner500Response + /v1/scorecard_assigners/{scorecard_assigner_id}: + get: + tags: + - scorecard_assigners + summary: Shows a scorecard assigner + operationId: Scorecardassigners_show + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + description: Shows a scorecard assigner, Customer account manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the scorecard assigner (only shows the scorecards based on + current account) + name: scorecard_assigner_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard assigner + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShowResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShow401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShow403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShow404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShow422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardassignersShow500Response' + delete: + tags: + - scorecard_assigners + summary: Deletes the scorecard assigner within the current account. + operationId: Scorecardassigners_deleteScorecardAssigner + security: + - api_key: [] + - oauth: + - scorecard_assigner_destroy + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the scorecard assigner to delete + name: scorecard_assigner_id + in: path + required: true + schema: + type: integer + responses: + '201': + description: Scorecard assigner successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssignerResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssigner401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssigner403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssigner404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssigner422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/ScorecardassignersDeleteScorecardAssigner500Response + /v1/data_catalogs: + get: + tags: + - data_catalogs + summary: Returns all data catalogs + operationId: Datacatalogs_getAll + security: + - api_key: [] + - oauth: + - data_catalog_read + description: Returns all data catalogs within the given customer account. + parameters: + - description: The locale for filtering the data catalogs. + name: locale + in: query + required: false + schema: + type: string + enum: + - en + - de + - description: The ids of the apps for filtering the data catalogs. + name: app_ids + in: path + required: true + schema: + type: string + responses: + '200': + description: Returns all data catalogs within the app + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsGetAllResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsGetAll401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsGetAll403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsGetAll422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsGetAll500Response' + post: + tags: + - data_catalogs + summary: Creates a data catalog + operationId: Datacatalogs_createNewCatalog + security: + - api_key: [] + - oauth: + - data_catalog_write + description: | + # Description + Creates a new catalog + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogCreate' + required: true + responses: + '201': + description: data_catalog successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsCreateNewCatalogResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsCreateNewCatalog401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsCreateNewCatalog403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsCreateNewCatalog422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsCreateNewCatalog500Response' + /v1/data_catalogs/{data_catalog_id}: + get: + tags: + - data_catalogs + summary: Shows a data catalog + operationId: Datacatalogs_showDataCatalog + security: + - api_key: [] + - oauth: + - data_catalog_read + description: Shows a data_catalog, Customer account manager 🔒 + parameters: + - description: >- + The ID of the data_catalog (only shows the data_catalogs based on + current_organisation_id) + name: data_catalog_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalogResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalog401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalog403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalog404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalog422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsShowDataCatalog500Response' + put: + tags: + - data_catalogs + summary: Updates a data_catalog + operationId: Datacatalogs_updateCatalog + security: + - api_key: [] + - oauth: + - data_catalog_write + description: | + # Description + Updates a data_catalog, Organisation manager 🔒 + parameters: + - description: The ID of the data catalog (only shows the data catalog) + name: data_catalog_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalog' + required: true + responses: + '200': + description: Data catalog successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsUpdateCatalogResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsUpdateCatalog401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsUpdateCatalog403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsUpdateCatalog422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsUpdateCatalog500Response' + delete: + tags: + - data_catalogs + summary: Deletes the data catalog within the current app. + operationId: Datacatalogs_deleteCatalog + security: + - api_key: [] + - oauth: + - data_catalog_destroy + description: >- + Deletes the data_catalog within the current account. Customer account + manager only 🔒 + parameters: + - description: The ID of the data catalog to delete + name: data_catalog_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Data catalog successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalogResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalog401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalog403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalog404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalog422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/DatacatalogsDeleteCatalog500Response' + /v1/raw_data_catalogs: + get: + tags: + - raw_data_catalogs + summary: Returns all raw data catalogs + operationId: Rawdatacatalogs_getAllRawdataCatalogs + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + description: Returns all raw data catalogs within the given customer account. + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + Limit the number of results to return, if null then return all + results + name: limit + in: query + required: false + schema: + type: integer + - description: >- + The ordering of the results returned, if null then will return not + ordered results. + Possible columns: app_id, status, version, + Possible order: asc, desc + name: order_by + in: query + required: false + example: app_id.desc, status.desc, version.desc + schema: + type: string + responses: + '200': + description: Returns all raw data catalogs within the app + content: + application/json: + schema: + $ref: >- + #/components/schemas/RawdatacatalogsGetAllRawdataCatalogsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RawdatacatalogsGetAllRawdataCatalogs401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RawdatacatalogsGetAllRawdataCatalogs403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RawdatacatalogsGetAllRawdataCatalogs422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RawdatacatalogsGetAllRawdataCatalogs500Response + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + tags: + - raw_data_catalogs + summary: Shows a data catalog + operationId: Rawdatacatalogs_showDataCatalog + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + description: Shows a data_catalog, Customer account manager 🔒 + parameters: + - description: The ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: >- + The ID of the data_catalog (only shows the raw_data_catalogs based + on current_organisation_id) + name: raw_data_catalog_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalogResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalog401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalog403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalog404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalog422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RawdatacatalogsShowDataCatalog500Response' + /v1/rent_increase_types: + post: + tags: + - rent_increase_types + summary: Creates a rent_increase_type (Admin only) + operationId: Rentincreasetypes_createType + security: + - api_key: [] + - oauth: + - rent_increase_type_write + description: | + # Description + Creates a rent_increase_type + Category: 1 for indexed and 2 for graduated. + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '201': + description: RentIncreaseType successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesCreateTypeResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesCreateType401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesCreateType403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesCreateType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesCreateType500Response' + get: + tags: + - rent_increase_types + summary: Return rent_increase_types + operationId: Rentincreasetypes_getAllTypes + security: + - api_key: [] + - oauth: + - rent_increase_type_read + description: Return rent_increase_types + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return rent_increase_types + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetAllTypesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetAllTypes401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetAllTypes500Response' + /v1/rent_increase_types/{rent_increase_type_id}: + get: + tags: + - rent_increase_types + summary: Return rent_increase_type + operationId: Rentincreasetypes_getById + security: + - api_key: [] + - oauth: + - rent_increase_type_read + description: Return rent_increase_type + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent_increase_type + name: rent_increase_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_type + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetByIdResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetById401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetById403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetById404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetById422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesGetById500Response' + put: + tags: + - rent_increase_types + summary: Update rent_increase_type + operationId: Rentincreasetypes_updateType + security: + - api_key: [] + - oauth: + - rent_increase_type_write + description: | + # Description + Update rent_increase_type (Admin only) + Category: 1 for indexed and 2 for graduated. + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent_increase_type to update + name: rent_increase_type_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '200': + description: Building rent_increase_type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesUpdateTypeResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesUpdateType403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesUpdateType422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesUpdateType500Response' + delete: + tags: + - rent_increase_types + summary: Delete a rent_increase_type (Admin only) + operationId: Rentincreasetypes_delete + security: + - api_key: [] + - oauth: + - rent_increase_type_destroy + description: | + # Description + Delete a rent_increase_type. + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - description: The ID of the rent_increase_type to delete + name: rent_increase_type_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDeleteResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDelete401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDelete403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDelete404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDelete422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasetypesDelete500Response' + /v1/rent_increase_indices: + post: + tags: + - rent_increase_indices + summary: Creates a rent_increase_index (Admin only) + operationId: Rentincreaseindices_createIndex + security: + - api_key: [] + - oauth: + - rent_increase_index_write + description: | + # Description + Creates a rent_increase_index + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '201': + description: RentIncreaseIndex successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesCreateIndexResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesCreateIndex401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesCreateIndex403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesCreateIndex422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesCreateIndex500Response' + get: + tags: + - rent_increase_indices + summary: Return rent_increase_indices + operationId: Rentincreaseindices_getIndexData + security: + - api_key: [] + - oauth: + - rent_increase_index_read + description: Return rent_increase_indices + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent_increase_type + name: rent_increase_type_id + in: query + schema: + type: integer + - description: Date of the rent_increase_index + name: date + in: query + schema: + type: string + format: date + - description: Subtype (building_type) of the rent_increase + name: subtype + in: query + schema: + type: string + responses: + '200': + description: Return rent_increase_indices + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreaseindicesGetIndexDataResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesGetIndexData401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesGetIndexData500Response + /v1/rent_increase_indices/{rent_increase_index_id}: + get: + tags: + - rent_increase_indices + summary: Return rent_increase_index + operationId: Rentincreaseindices_returnRentIncreaseIndex + security: + - api_key: [] + - oauth: + - rent_increase_index_read + description: Return rent_increase_index + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent_increase_index + name: rent_increase_index_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_index + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndexResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndex401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndex403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndex404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndex422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesReturnRentIncreaseIndex500Response + put: + tags: + - rent_increase_indices + summary: Update rent_increase_index + operationId: Rentincreaseindices_updateRentIncreaseIndexById + security: + - api_key: [] + - oauth: + - rent_increase_index_write + description: | + # Description + Update rent_increase_index (Admin only) + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent_increase_index to update + name: rent_increase_index_id + in: path + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '200': + description: Building rent_increase_index successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesUpdateRentIncreaseIndexByIdResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesUpdateRentIncreaseIndexById403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesUpdateRentIncreaseIndexById422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesUpdateRentIncreaseIndexById500Response + delete: + tags: + - rent_increase_indices + summary: Delete a rent_increase_index (Admin only) + operationId: Rentincreaseindices_deleteRentIncreaseIndex + security: + - api_key: [] + - oauth: + - rent_increase_index_destroy + description: | + # Description + Delete a rent_increase_index. + parameters: + - name: customer_account_id + in: query + required: true + schema: + type: integer + - description: The ID of the rent_increase_index to delete + name: rent_increase_index_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_index successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndexResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndex401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndex403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndex404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndex422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreaseindicesDeleteRentIncreaseIndex500Response + /v1/task_memberships: + post: + tags: + - task_memberships + summary: Creates a task_membership + operationId: Taskmemberships_createMembership + security: + - api_key: [] + - oauth: + - task_membership_write + description: | + # Description + Creates a task_membership + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '201': + description: TaskMembership successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/TaskmembershipsCreateMembershipResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsCreateMembership401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsCreateMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsCreateMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsCreateMembership500Response + get: + tags: + - task_memberships + summary: Return task_memberships + operationId: Taskmemberships_getAllTaskMemberships + security: + - api_key: [] + - oauth: + - task_membership_read + description: Return task_memberships + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: IDs of the tasks + name: task_ids + in: query + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return task_memberships + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsGetAllTaskMembershipsResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsGetAllTaskMemberships401Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsGetAllTaskMemberships500Response + /v1/task_memberships/{task_membership_id}: + delete: + tags: + - task_memberships + summary: Delete the task_membership + operationId: Taskmemberships_deleteTaskMembership + security: + - api_key: [] + - oauth: + - task_membership_destroy + description: Delete the task_membership + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the task_membership you want to delete + name: task_membership_id + in: path + required: true + schema: + type: string + responses: + '200': + description: TaskMembership successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsDeleteTaskMembershipResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsDeleteTaskMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsDeleteTaskMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsDeleteTaskMembership500Response + put: + tags: + - task_memberships + summary: Update task_membership + operationId: Taskmemberships_updateMembership + security: + - api_key: [] + - oauth: + - task_membership_write + description: Update task_membership + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the task_membership to update + name: task_membership_id + in: path + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '200': + description: Building task_membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/TaskmembershipsUpdateMembershipResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsUpdateMembership403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsUpdateMembership422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/TaskmembershipsUpdateMembership500Response + /v1/rent_increases: + post: + tags: + - rent_increases + summary: Creates a rent's increase (Admin only) + operationId: Rentincreases_createNewIncrease + security: + - api_key: [] + - oauth: + - rent_increase_write + description: | + # Description + Creates a rent's increase + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseCreate' + required: true + responses: + '201': + description: RentIncrease successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesCreateNewIncreaseResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesCreateNewIncrease401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesCreateNewIncrease403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesCreateNewIncrease422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesCreateNewIncrease500Response' + get: + tags: + - rent_increases + summary: Return rent's increases + operationId: Rentincreases_getIncreases + security: + - api_key: [] + - oauth: + - rent_increase_read + description: Return rent's increases + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + responses: + '200': + description: Return rent's increases + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesGetIncreasesResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesGetIncreases401Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesGetIncreases500Response' + /v1/rent_increases/{rent_increase_id}/apply: + put: + tags: + - rent_increases + summary: Apply rent' increase + operationId: Rentincreases_applyRentIncrease + security: + - api_key: [] + - oauth: + - rent_increase_write + description: | + # Description + Apply rent_increase + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent' increase to update + name: rent_increase_id + in: path + required: true + schema: + type: integer + - name: apply + in: query + required: true + schema: + type: boolean + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesApplyRentIncreaseResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesApplyRentIncrease403Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesApplyRentIncrease422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesApplyRentIncrease500Response' + /v1/rent_increases/{rent_increase_id}: + get: + tags: + - rent_increases + summary: Return rent's increase + operationId: Rentincreases_returnIncrease + security: + - api_key: [] + - oauth: + - rent_increase_read + description: Return rent's increase + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent' increase + name: rent_increase_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Returns rent' increase + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncreaseResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncrease401Response' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncrease403Response' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncrease404Response' + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncrease422Response' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesReturnIncrease500Response' + put: + tags: + - rent_increases + summary: Update rent' increase + operationId: Rentincreases_updateRentIncrease + security: + - api_key: [] + - oauth: + - rent_increase_write + description: | + # Description + Update rent_increase (Admin only) + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + parameters: + - description: ID of the customer_account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the rent' increase to update + name: rent_increase_id + in: path + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncrease' + required: true + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesUpdateRentIncreaseResponse' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesUpdateRentIncrease403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesUpdateRentIncrease422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesUpdateRentIncrease500Response + delete: + tags: + - rent_increases + summary: Delete a rent_increase (Admin only) + operationId: Rentincreases_deleteRentIncrease + security: + - api_key: [] + - oauth: + - rent_increase_destroy + description: | + # Description + Delete a rent_increase. + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - description: The ID of the rent_increase to delete + name: rent_increase_id + in: path + required: true + schema: + type: integer + responses: + '200': + description: Rent's increase successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/RentincreasesDeleteRentIncreaseResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesDeleteRentIncrease401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesDeleteRentIncrease403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesDeleteRentIncrease404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesDeleteRentIncrease422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/RentincreasesDeleteRentIncrease500Response + /v1/emission_factor_settings/update: + post: + tags: + - emission_factor_settings + summary: Updates an EmissionFactorSetting + operationId: Emissionfactorsettings_updateEmissionFactorSetting + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + description: Updates an EmissionFactorSetting within account + parameters: + - description: The ID on customer_account of the EmissionFactorSettings to show + name: customer_account_id + in: query + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingUpdate' + required: true + responses: + '200': + description: EmissionFactorSetting successfully updated + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsUpdateEmissionFactorSetting500Response + /v1/emission_factor_settings: + get: + tags: + - emission_factor_settings + summary: Returns all EmissionFactorSettings within the given account + operationId: Emissionfactorsettings_getAllWithinAccount + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + description: Returns all EmissionFactorSettings within the given account + parameters: + - description: The ID on customer_account of the EmissionFactorSettings to show + name: customer_account_id + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns all EmissionFactorSettings within the given account + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsGetAllWithinAccountResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsGetAllWithinAccount401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsGetAllWithinAccount403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsGetAllWithinAccount422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsGetAllWithinAccount500Response + post: + tags: + - emission_factor_settings + summary: Creates an EmissionFactorSetting + operationId: Emissionfactorsettings_createEmissionFactorSetting + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + description: Creates an EmissionFactorSetting + parameters: + - description: The ID on customer_account of the EmissionFactorSettings to show + name: customer_account_id + in: query + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingCreate' + required: true + responses: + '201': + description: EmissionFactorSetting successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsCreateEmissionFactorSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsCreateEmissionFactorSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsCreateEmissionFactorSetting403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsCreateEmissionFactorSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsCreateEmissionFactorSetting500Response + /v1/emission_factor_settings/{emission_factor_setting_id}: + get: + tags: + - emission_factor_settings + summary: Shows a EmissionFactorSetting + operationId: Emissionfactorsettings_showEmissionFactorSetting + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + description: Shows a EmissionFactorSetting + parameters: + - description: The ID of the emission_factor_setting to show + name: emission_factor_setting_id + in: path + required: true + schema: + type: integer + - description: The ID on customer_account of the EmissionFactorSettings to show + name: customer_account_id + in: query + required: false + schema: + type: string + responses: + '200': + description: Returns the EmissionFactorSetting + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsShowEmissionFactorSetting500Response + delete: + tags: + - emission_factor_settings + summary: Deletes the EmissionFactorSetting within the account. + operationId: Emissionfactorsettings_deleteEmissionFactorSetting + security: + - api_key: [] + - oauth: + - emission_factor_setting_destroy + description: Deletes the EmissionFactorSetting within the account. + parameters: + - description: The ID of the emission_factor_setting to show + name: emission_factor_setting_id + in: path + required: true + schema: + type: integer + - description: The ID on customer_account of the EmissionFactorSettings to show + name: customer_account_id + in: query + required: false + schema: + type: string + responses: + '200': + description: EmissionFactorSetting successfully deleted + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSettingResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSetting401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSetting403Response + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSetting404Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSetting422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/EmissionfactorsettingsDeleteEmissionFactorSetting500Response + /v1/customer_account_category_configs: + post: + tags: + - customer_account_category_configs + summary: Creates a customer account category config + operationId: Customeraccountcategoryconfigs_createConfig + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + description: | + # Description + Creates a customer account category config + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigCreate' + required: true + responses: + '201': + description: Customer account category config successfully created + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsCreateConfigResponse + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsCreateConfig401Response + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsCreateConfig403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsCreateConfig422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsCreateConfig500Response + /v1/customer_account_category_configs/{customer_account_category_config_id}: + put: + tags: + - customer_account_category_configs + summary: Update the customer account category config + operationId: Customeraccountcategoryconfigs_updateConfig + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + description: Update the customer account category config + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account category config you want to update + name: customer_account_category_config_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfig' + required: true + responses: + '200': + description: Customer account category config successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsUpdateConfigResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsUpdateConfig403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsUpdateConfig422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsUpdateConfig500Response + delete: + tags: + - customer_account_category_configs + summary: Delete the customer account category config + operationId: Customeraccountcategoryconfigs_deleteConfig + security: + - api_key: [] + - oauth: + - customer_account_category_config_destroy + description: Delete the customer account category config + parameters: + - description: ID of the customer account + name: customer_account_id + in: query + required: true + schema: + type: integer + - description: ID of the customer account category config you want to delete + name: customer_account_category_config_id + in: path + required: true + schema: + type: string + responses: + '200': + description: Customer account category config successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsDeleteConfigResponse + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsDeleteConfig403Response + '422': + description: The request could not be processed + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsDeleteConfig422Response + '500': + description: An unexpected error occurred + content: + application/json: + schema: + $ref: >- + #/components/schemas/CustomeraccountcategoryconfigsDeleteConfig500Response +components: + parameters: + current_organisation_id: + description: ID of the current organisation + name: current_organisation_id + in: query + required: true + schema: + type: integer + requestBodies: + ContractMembershipCostCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCostCreate' + required: true + ActivityTypeCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeCreate' + required: true + ContractAdditionCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractAdditionCreate' + required: true + BuildingFilterSettingsCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFilterSettingsCreate' + required: true + SecurityDepositCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityDepositCreate' + required: true + TaskMembership: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembership' + required: true + RentIncreaseType: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseType' + required: true + OrganisationConfigCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationConfigCreate' + required: true + ContractGrantCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractGrantCreate' + required: true + BuildingSaveFiltersCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingSaveFiltersCreate' + required: true + RentTrackerCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerCreate' + required: true + ReportTemplateCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportTemplateCreate' + required: true + ReportAccountSchemaCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportAccountSchemaCreate' + required: true + ScorecardMembershipCost: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCost' + required: true + RentIncreaseIndices: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndices' + required: true + securitySchemes: + api_key: + type: apiKey + name: X-Api-Key + in: header + oauth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + scopes: + app_category_read: Get the app categories + app_config_read: Get the app_configs + app_config_write: Create or edit an app_config + app_config_destroy: Delete the app_config + app_data_repository_read: Get the app_data_repositories + app_data_repository_write: Create or edit an app_data_repository + app_data_repository_destroy: Delete the app_data_repository + app_subscription_read: Get the app_subscriptions + app_subscription_write: Create or edit an app_subscription + app_subscription_destroy: Delete the app_subscription + app_read: Get the apps + app_write: Create or edit an app + app_destroy: Delete the app + contract_addition_read: Get the contract_additions + contract_addition_write: Create or edit an contract_addition + contract_addition_destroy: Delete the contract_addition + contract_grant_read: Get the contract_grants + contract_grant_write: Create or edit an contract_grant + contract_grant_destroy: Delete the contract_grant + contract_membership_cost_read: Get the contract_membership_costs + contract_membership_cost_write: Create or edit an contract_membership_cost + contract_membership_cost_destroy: Delete the contract_membership_cost + contract_membership_write: Create or edit an contract_membership + contract_membership_destroy: Delete the contract_membership + contract_read: Get the contracts + contract_write: Create or edit an contract + contract_destroy: Delete the contract + cost_type_read: Get the cost_types + cost_type_write: Create or edit an cost_type + cost_type_destroy: Delete the cost_type + security_deposit_write: Create or edit an security_seposit + security_deposit_destroy: Delete the security_seposit + report_account_schema_read: Get the report_account_schemas + report_account_schema_write: Create or edit an report_account_schema + report_account_schema_destroy: Delete the report_account_schema + report_template_read: Get the report_templates + report_template_write: Create or edit the report_template + report_template_destroy: Delete the report_template + department_read: Get the departments + department_write: Create or edit an department + department_destroy: Delete the department + manufacturer_read: Get the manufacturers + manufacturer_write: Create or edit an manufacturer + manufacturer_destroy: Delete the manufacturer + room_and_zone_type_read: Get room_and_zone_types + room_read: Get the rooms + room_write: Create or edit an room + room_destroy: Delete the room + zone_write: Create or edit an zone + zone_destroy: Delete the zone + level_read: Get level + level_write: Create or edit an facility_type + level_destroy: Delete the facility_type + facility_read: Get facility + facility_write: Create or edit an facility_type + facility_destroy: Delete the facility_type + facility_type_read: Get the facility_types + plan_version_write: Create or edit an plan_version + plan_version_destroy: Delete the plan_version + plan_read: Get the plans + plan_write: Create or edit an plan + plan_destroy: Delete the plan + plan_config_read: Get the config of a plan + activity_read: Fetch activities + activity_write: Create and edit an activity + activity_destroy: Delete the activity + attachment_write: Create or edit an attachment + attachment_destroy: Delete the attachment + building_filter_setting_read: Get the building_filter_settings + building_filter_setting_write: Create or edit an building_filter_setting + building_filter_setting_destroy: Delete the building_filter_setting + building_save_filter_read: Get the building_save_filters + building_save_filter_write: Create or edit an building_save_filter + building_save_filter_destroy: Delete the building_save_filter + building_type_read: Get the building_types + building_unit_membership_write: Create or edit an building_unit_membership + building_unit_membership_destroy: Delete the building_unit_membership + building_unit_type_read: Get the building_unit_types + building_unit_type_write: Create or edit an building_unit_type + building_unit_type_destroy: Delete the building_unit_type + building_unit_read: Get the building_units + building_unit_write: Create or edit an building_unit + building_unit_destroy: Delete the building_unit + building_read: Get the buildings + building_write: Create or edit an building + building_destroy: Delete the building + customer_account_config_read: Get the customer_account_configs + customer_account_config_write: Create or edit an customer_account_config + customer_account_schema_read: Get the customer_account_schemas + customer_account_schema_write: Create or edit an customer_account_schema + customer_attributes_schema_membership_read: Get the customer_attributes_schema_memberships + customer_attributes_schema_membership_write: Create or edit an customer_attributes_schema_membership + customer_attributes_schema_read: Get the customer_attributes_schemas + customer_attributes_schema_write: Create or edit an customer_attributes_schema + image_write: Create or edit the image + image_destroy: Delete the image + lot_read: Get the lots + lot_write: Create or edit an lot + lot_destroy: Delete the lot + organisation_config_read: Get the organisation_configs + organisation_config_write: Create or edit an organisation_config + organisation_membership_read: Get the organisation_memberships + organisation_membership_write: Create or edit an organisation_membership + organisation_membership_destroy: Delete the organisation_membership + organisation_read: Get the organisations + organisation_write: Create or edit an organisation + person_read: Get the people + person_write: Create or edit an person + person_destroy: Delete the person + person_membership_write: Create or edit an person_membership + person_membership_destroy: Delete the person_membership + property_read: Get the properties + property_write: Create or edit an property + property_destroy: Delete the property + property_type_read: Get the property_types + user_write: Log In or edit, or reset password for an user + user_destroy: Log out + vpi_index_read: Get the vpi_index + credential_read: Get oauth credentials + dashboard_config_read: Get dashboard config for an account + dashboard_config_write: Add or edit the dashboard config for an account + dashboard_config_destroy: Remove the dashboard config for an account + time_dependent_attribute_read: Get time_dependent_attribute for an account + time_dependent_attribute_write: Add or edit the time_dependent_attribute for an account + time_dependent_attribute_destroy: Remove the time_dependent_attribute for an account + ep_code_combination_read: Get the ep_code_combinations + customer_account_write: '' + schemas: + PlatformConfig: + type: object + properties: + landing_page_marketing: + type: object + properties: + headline: + type: string + button_title: + type: string + button_link: + type: string + button_displayed: + type: boolean + image: + type: string + body: + type: string + PlatformConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + PlatformConfigCreate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + User: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + format: email + phone: + type: string + locale: + type: string + enum: + - de + - en + - gsw + user_settings: + type: object + UserShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - last_editor + properties: + thumbnail_url: + type: string + last_editor: + $ref: '#/components/schemas/User' + UserEmail: + properties: + email: + type: string + UserCreate: + allOf: + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + redirect_url: + type: string + role_policy_ids: + type: array + items: {} + UserUpdate: + allOf: + - $ref: '#/components/schemas/User' + - properties: + password: + type: string + current_password: + type: string + role_policy_ids: + type: array + items: {} + UserResetPasswordInstructions: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserInvitations: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserSignIn: + required: + - email + - password + properties: + email: + type: string + format: email + password: + type: string + UserSignedIn: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - api_key + properties: + role: + type: string + enum: + - admin + - client + api_key: + type: string + thumbnail_url: + type: string + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserWithRefreshedToken: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - api_key + - first_name + - last_name + - email + properties: + api_key: + type: string + Role: + type: object + properties: + description: + type: string + name: + type: string + role_policy_maps_attributes: + type: array + items: + type: object + properties: + id: + type: number + role_policy_id: + type: number + _destroy: + type: string + RoleShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RoleCreate: + allOf: + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + RoleIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + RolePolicy: + type: object + properties: + description: + type: string + name: + type: string + rules: + type: object + RolePolicyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RolePolicyCreate: + allOf: + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + RolePolicyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Tenant: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + TenantContract: + type: object + properties: + id: + type: string + start_date: + type: string + end_date: + type: string + TenantUnit: + type: object + properties: + id: + type: string + name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + province: + type: string + country: + type: string + zip_code: + type: string + latitude: + type: string + longitude: + type: string + TenantShow: + allOf: + - $ref: '#/components/schemas/Tenant' + - required: [] + properties: + contract: + $ref: '#/components/schemas/TenantContract' + unit: + $ref: '#/components/schemas/TenantUnit' + CustomerAccountTranslation: + type: object + properties: + language: + type: string + value: + type: string + field: + type: string + parent_id: + type: string + parent_type: + type: string + CustomerAccountTranslationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountTranslationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - required: + - name + - user + - last_editor + - organisation + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + CustomerAccountAttributeGroup: + type: object + properties: + name: + type: string + fields: + type: array + items: + type: string + read_only: + type: boolean + parent_type: + type: string + CustomerAccountAttributeGroupShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountAttributeGroupIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - required: + - name + - user + - last_editor + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + EpCodeCombination: + type: object + properties: + facility_type_id: + type: integer + ep_code: + type: string + repetition: + type: integer + EpCodeCombinationByFacilityType: + allOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/EpCodeCombinationIndex' + - required: + - facility_type_id + EpCodeCombinationIndex: + allOf: + - type: array + items: + $ref: '#/components/schemas/EpCodeCombination' + - required: + - facility_type_id + DashboardConfig: + type: object + properties: + aws_settings: + type: object + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_region: + type: string + aws_account_id: + type: string + dashboard_id: + type: string + identity_type: + type: string + enum: + - QUICKSIGHT + - IAM + - ANONYMOUS + DashboardConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + properties: + customer_account: + type: array + items: + $ref: '#/components/schemas/CustomerAccountLightShow' + embed_dashboard: + type: object + properties: + embed_url: + type: string + status: + type: number + request_id: + type: string + DashboardConfigCreate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + Dashboard: + type: object + properties: + description: + type: string + name: + type: string + looker_item: + type: string + looker_config: + type: object + position: + type: integer + show_dashboard: + type: boolean + DashboardShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Dashboard' + - required: + - looker_embed_url + properties: + looker_embed_url: + type: string + customer_account_id: + type: integer + type: + description: | + standard: that cannot be editable + custom: that are editable + type: string + enum: + - standard + - custom + DashboardIndex: + allOf: + - $ref: '#/components/schemas/Dashboard' + - properties: + type: + description: | + standard: that cannot be editable + custom: that are editable + type: string + enum: + - standard + - custom + looker_embed_url: + type: string + customer_account_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + DashboardUpdate: + allOf: + - required: + - show_dashboard + properties: + description: + type: string + name: + type: string + looker_item: + type: string + show_dashboard: + type: boolean + DashboardOrderUpdate: + allOf: + - required: + - dashboard_ids + properties: + dashboard_ids: + type: array + items: + type: integer + App: + type: object + properties: + name: + type: string + currency: + type: string + short_name: + type: string + logo_base64: + type: string + logo_filename_with_extension: + type: string + data_partner_interface: + type: string + default_retail_price: + type: integer + default_retail_currency: + type: string + default_realcube_price: + type: integer + default_realcube_currency: + type: string + default_price_category: + type: string + default_data_lifetime: + type: integer + catalog_update_frequency: + type: integer + data_partner_base_url: + type: string + data_partner_score_url: + type: string + AppShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCreate: + allOf: + - $ref: '#/components/schemas/App' + - required: + - name + - currency + AppIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCategory: + type: object + properties: + name: + type: string + AppCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppCategory' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + apps: + type: array + items: + $ref: '#/components/schemas/App' + AppSubscription: + type: object + properties: + description: + type: string + name: + type: string + periodicity: + type: string + price: + type: number + AppSubscriptionCreate: + allOf: + - properties: + app_id: + type: integer + name: + type: string + enum: + - Free Tier + - Premium + periodicity: + type: string + enum: + - month + - year + - $ref: '#/components/schemas/AppSubscription' + AppSubscriptionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppSubscription' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + required: + - name + - price + - periodicity + AppConfig: + type: object + properties: + organisation_ids: + type: array + items: + type: integer + AppConfigCreate: + properties: + organisation_ids: + type: array + items: + type: integer + app_subscription_id: + type: integer + AppConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + AppCategoryMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - app_id + - app_category_id + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/App' + app_category: + $ref: '#/components/schemas/AppCategory' + AppDataRepository: + type: object + properties: + app_data: + type: object + AppDataRepositoryCreate: + type: object + properties: + app_data: + type: object + app_subscription_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + AppDataRepositoryUpdate: + type: object + properties: + app_data: + type: object + AppDataRepositoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppDataRepository' + - required: + - app_data + - app_subscription_id + properties: + app_data: + properties: + example: + type: object + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + Plan: + type: object + properties: + description: + type: string + name: + type: string + trade: + type: string + enum: + - AA + - AR + - BA + - BD + - BG + - BP + - DV + - ET + - EW + - FA + - FT + - HT + - IA + - KP + - KT + - LP + - MT + - SB + - SI + - ST + - TE + - TG + - TW + - VE + - VM + - VP + - VT + plan_type: + type: string + enum: + - AA + - AB + - AF + - AM + - AP + - AU + - BA + - BC + - BE + - BG + - BL + - BM + - BN + - BP + - BS + - BT + - BW + - BZ + - DE + - DP + - DS + - DT + - EB + - EL + - EP + - ER + - ET + - EW + - FA + - FS + - FL + - FN + - FT + - FW + - GR + - HH + - HL + - HP + - HZ + - IP + - KA + - KL + - KM + - KO + - KP + - KW + - LA + - LE + - LF + - LG + - ME + - MS + - MT + - NL + - NS + - PP + - PZ + - RW + - SA + - SB + - SI + - SK + - SP + - SS + - SW + - TH + - TK + - TV + - UB + - VK + - VL + - VM + - VS + - VT + - WA + - WP + - AS + - MO + - BD + - PF + - TP + - MF + planning_phase: + type: string + enum: + - '00' + - '10' + - '20' + - '30' + - '40' + - '50' + - '60' + - '70' + - '80' + - '90' + - AQ + - WE + - XX + presentation: + type: string + enum: + - GR + - SC + - AN + - XX + - PE + - SH + - VI + plan_content: + type: string + floor: + type: string + PlanShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanCreate: + allOf: + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + PlanIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - building + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanConfig: + type: object + properties: + current_filename_config: + type: object + parent_type: + type: string + PlanConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlanConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + PlanVersion: + type: object + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + PlanVersionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - status + properties: + version: + type: string + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + PlanVersionCreate: + allOf: + - required: + - status + properties: + version: + type: string + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + PlanVersionUpdate: + allOf: + - required: + - status + properties: + version: + type: string + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + Organisation: + type: object + properties: + description: + type: string + name: + type: string + comment: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + OrganisationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - properties: + customer_accounts: + $ref: '#/components/schemas/CustomerAccountShow' + - required: + - name + - organisation_memberships + - last_editor + properties: + organisation_memberships: + $ref: '#/components/schemas/OrganisationMembershipShow' + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + nullable: true + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + OrganisationCreate: + allOf: + - $ref: '#/components/schemas/Organisation' + - required: + - name + OrganisationConfig: + type: object + required: + - id + - building + - building_unit + - user + - organisation + - last_editor + properties: + id: + type: integer + building: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserShow' + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + deleted_at: + type: string + format: date-time + OrganisationConfigCreate: + properties: + building: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + OrganisationMembership: + type: object + required: + - id + - user + - organisation + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + OrganisationMembershipCreate: + allOf: + - type: object + required: + - user_id + properties: + user_id: + type: integer + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + OrganisationMembershipCreateFromEmail: + type: object + required: + - email + properties: + email: + type: string + format: email + permitted_building_ids: + type: array + items: {} + OrganisationMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/OrganisationMembership' + - type: object + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationMembershipUpdate: + allOf: + - type: object + properties: + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + CustomerAccount: + properties: + time_attribute_schema: + type: object + properties: + building: + type: array + items: {} + unit: + type: array + items: {} + CustomerAccountShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountLightShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + has_contract: + type: boolean + demo_account: + type: boolean + demo_expires_at: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAttributesSchema: + type: object + properties: + version: + type: integer + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + CustomerAttributesSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - properties: + version: + type: integer + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_en: + type: object + json_schema_de: + type: object + required: + - name + - version + - attributes_type + - json_schema + CustomerAttributesSchemaCreate: + allOf: + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + required: + - name + - attributes_type + - json_schema_de + - json_schema_en + CustomerAttributesSchemaMembership: + type: object + properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchema' + CustomerAttributesSchemaMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAttributesSchemaMembership' + - required: + - organisation + - customer_attributes_schema + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + CustomerAttributesSchemaMembershipCreate: + type: object + properties: + organisation_id: + type: integer + customer_attributes_schema_id: + type: integer + required: + - organisation_id + - customer_attributes_schema_id + CustomerAccountConfig: + type: object + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + demo_data_uploaded: + type: boolean + PolicyAttributesMap: + properties: + policy_map: + type: object + CustomerAccountConfigShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - $ref: '#/components/schemas/PolicyAttributesMap' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + contract_csv_url: + type: string + example: >- + data:text/csv;base64,bmFtZSxwZXJzb25fZmlyc3RfbmFtZSxwZXJzb25fbGFzdF9uYW1lLGJ1aWxkaW5nX25hbWUsYnVpbGRpbmdfdW5pdF9uYW1lLGNvbnRyYWN0X21lbWJlcnNoaXBfdHlwZSxjb250cmFjdF90eXBlLHBhcmVudF9pZCxleHRlcm5hbF9pZCxyZW50YWxfcGVyaW9kLGNvbnRyYWN0X3N1Yl90eXBlLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbWluaW11bV9jb250cmFjdF90ZXJtLG5vdGljZV9wZXJpb2QsY2FuY2VsbGluZ19hdF9kYXRlLGNhbmNlbGxlZF9hdF9kYXRlLHJlbnRfaW5jcmVhc2VfYWxsb3dhbmNlLGluZGV4X2Jhc2VkX2NvbmZpZyxzdGF0dXMscGVyc29uX21lbWJlcnNoaXBzX2F0dHJpYnV0ZXMsbWVtYmVyc2hpcHNfYXR0cmlidXRlcyxjdXJyZW5jeSxLYWx0bWlldGUsU29uc3RpZ2UsRGllbnN0ZSxNd1N0LEluc3RhbmRoYWx0dW5nLFZlcndhbHR1bmdzZ2Viw7xocmVuLFJlcGFyYXR1cmVuLFZlcnNpY2hlcnVuZyx0ZXN0Y29zdCxUSGlTSVNURVNUCg== + landing_page_dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardIndex' + has_datamarket_access: + type: boolean + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountConfigCreate: + allOf: + - required: + - building_fields + - building_unit_fields + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + CustomerAccountConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - required: + - demo_data_uploaded + properties: + demo_data_uploaded: + type: boolean + CustomerAccountSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountSchemaUpdate: + type: object + properties: + name: + type: string + comment: + type: string + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountCategory: + type: object + properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + conversion_factor: + type: integer + customer_editable: + type: boolean + external_conversion: + type: boolean + category: + type: string + enum: + - length_metric + - area_metric + - area_norm + - currency + - energy_type + - energy_volume + - emission_volume + - finance + - water + - water_volume + - activity + - shop_concept + - retail + - retail_metric + - addl_id + - phase + - phase_status + - payment_category + - rent_tracker_payment + - parking + - summary_unit_type + - summary_unit_type_classifier + - building_area_type + - unit_area_type + - construction_project_category + - main_energy_source + - state_of_renovation + - heating_used_energy + - kitchen_type + - objectphase + - region + - role + - unit_type + - property + - property_value + - facility_type + - floor + - institution_type + - roof_form + - unit_role + - unit_finance + - certificate_issuer + - certificate_system + - achieved_certificate_level + - energy_performance + - energy_source + CustomerAccountCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategory' + - required: + - label_id + - customer_account_translations + properties: + label_id: + type: integer + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + CustomerAccountCategoryUpdate: + allOf: + - properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + customer_editable: + type: boolean + CustomerAccountCategoryIndex: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + - properties: + label_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Contract: + type: object + properties: + parent_id: + type: string + contract_type: + type: string + enum: + - tenancy_contract + - lease_contract + name: + type: string + external_id: + type: string + source_system: + type: string + rental_period: + type: string + contract_sub_type: + type: string + enum: + - empty + - owner_occupation + - rentable + start_date: + type: string + format: date-time + end_date: + type: string + format: date-time + minimum_contract_term: + type: string + format: date-time + debtor_number: + type: string + notice_period: + type: object + properties: + value: + type: number + period: + type: string + enum: + - days + - weeks + - months + - years + cancelling_at_date: + type: string + format: date-time + cancelled_at_date: + type: string + format: date-time + rent_increase_type: + type: string + enum: + - comparable_rent + - index_based_increase + - graduate_rent + rent_increase_allowance: + type: string + format: date-time + index_based_config: + type: object + properties: + base_index_date: + type: string + base_index_points: + type: integer + threshhold_type: + type: string + enum: + - percentage + - points + threshhold_value: + type: integer + increase_type: + type: string + enum: + - percentage + - value + increase_value: + type: integer + graduate_rent_config: + type: object + properties: + increase_period: + type: string + enum: + - monthly + - yearly + amount_type: + type: string + enum: + - percentage + - value + amount_value: + type: integer + increase_yearly_date: + type: string + increase_monthly_day: + type: string + status: + type: string + enum: + - draft + - final + - rejected + currency: + type: string + enum: + - EUR + - CHF + notes: + type: string + Amount: + type: object + properties: + name: + type: string + amount_per_month: + type: object + properties: + value: + type: number + currency: + type: string + enum: + - EUR + - USD + ContractAttributes: + properties: + person_memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + person_id: + type: string + member_id: + type: string + member_type: + type: string + role: + type: string + _destroy: + type: string + memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + member_id: + type: string + member_type: + type: string + _destroy: + type: string + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ContractShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - required: + - type + - status + - user + - last_editor + - customer_account + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + type: object + properties: + notes: + type: string + parent: + $ref: '#/components/schemas/ContractIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + organisation: + $ref: '#/components/schemas/Organisation' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + rent_increase_mappings: + type: array + items: + $ref: '#/components/schemas/RentIncreaseMappingShow' + ContractCreate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - required: + - type + - status + properties: + organisation_id: + type: integer + ContractUpdate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - properties: + organisation_id: + type: integer + ContractIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - properties: + thumbnail_url: + type: string + organisation: + type: object + properties: + id: + type: integer + name: + type: string + ContractMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - contract + - member + - last_editor + properties: + contract: + $ref: '#/components/schemas/Contract' + member: + type: object + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ContractMembershipCreate: + type: object + required: + - contract_id + - member_id + - member_type + properties: + contract_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - property + ContractMembershipCost: + type: object + properties: + description: + type: string + amount: + type: number + iban: + type: string + swift: + type: string + to_be_paid_at: + type: string + valid_from: + type: string + format: date-time + ContractMembershipCostShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractMembershipCost' + - required: + - amount + properties: + unit_type: + $ref: '#/components/schemas/BuildingUnitType' + cost_type: + $ref: '#/components/schemas/CostType' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractMembershipCostCreate: + allOf: + - $ref: '#/components/schemas/ContractMembershipCost' + - properties: + unit_type_id: + type: number + cost_type_id: + type: number + ContractAddition: + type: object + properties: + name: + type: string + signing_date: + type: string + format: date-time + ContractAdditionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + properties: + contract: + $ref: '#/components/schemas/Contract' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractAdditionCreate: + allOf: + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + ContractGrant: + type: object + properties: + description: + type: string + name: + type: string + total_amount: + type: number + grant_type: + type: string + enum: + - pre_opening + - rent_free_time + - other + fee_split: + type: array + items: + properties: + percentage: + type: number + date_received: + type: string + format: date-time + ContractGrantShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractGrantCreate: + allOf: + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + SecurityDeposit: + required: [] + type: object + properties: + amount: + type: integer + to_be_paid_before: + type: string + format: date-time + payment_type: + type: string + enum: + - one_time_payment + - paid_in_three_monthly_fees + deposit_type: + type: string + enum: + - cash + - bank_transaction + - savings_account + - surety + SecurityDepositShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + - user + - last_editor + - contract_membership + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + SecurityDepositCreate: + allOf: + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + CostType: + type: object + properties: + name: + type: string + category: + type: string + CostTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeCreate: + allOf: + - $ref: '#/components/schemas/CostType' + - required: + - name + PropertyType: + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Property: + type: object + properties: + name: + type: string + country: + type: string + zip_code: + type: string + city: + type: string + custom_id: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + PropertiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PropertyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - required: + - name + - property_type + - property_manager + - user + - organisation + - last_editor + - lots + - buildings + - attachments + properties: + deleted_at: + type: string + format: date-time + property_type: + $ref: '#/components/schemas/PropertyType' + property_manager: + $ref: '#/components/schemas/PropertyManager' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PropertyCreate: + allOf: + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/PropertiesAttributes' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + PropertyUpdate: + allOf: + - $ref: '#/components/schemas/Property' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + PropertyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/ActivitiesAttributes' + - required: + - name + - property_type + properties: + deleted_at: + type: string + format: date-time + property_manager_id: + type: integer + property_type: + $ref: '#/components/schemas/PropertyType' + thumbnail_url: + type: string + PropertyManager: + type: object + properties: + name: + type: string + email: + type: string + phone_number: + type: string + contact_first_name: + type: string + contact_last_name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + zip_code: + type: string + country: + type: string + PropertyManagerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerCreate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerUpdate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + Lot: + type: object + properties: + custom_id: + type: string + external_id: + type: string + source_system: + type: string + name: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + LotsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + LotShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + LotCreate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - property_id + - name + properties: + property_id: + type: integer + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + LotUpdate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + LotIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingFilterSettings: + type: object + properties: + name: + type: string + status: + type: boolean + tags_active: + type: boolean + fields: + type: array + items: + type: string + property_fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingFields: + type: object + properties: + fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingsShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingFilterSettingsCreate: + allOf: + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingSaveFilters: + type: object + properties: + name: + type: string + filter: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + BuildingSaveFiltersShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingSaveFiltersCreate: + allOf: + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + BuildingType: + type: object + required: + - id + - name + - code + properties: + id: + type: integer + name: + type: string + code: + type: string + parent_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Building: + type: object + properties: + name: + type: string + external_id: + type: string + source_system: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + latitude: + type: number + longitude: + type: number + units_count: + type: number + year_of_construction: + type: integer + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + architect: + type: string + contract_ids: + type: array + items: {} + organisation_id: + type: number + customer_attributes_schema_id: + type: number + planned_monthly_rent: + type: number + number_of_floors: + type: number + number_of_windows: + type: number + user_intervention_window_number: + type: number + user_intervention_window_area: + type: number + last_refurbishment_at: + type: string + format: date + heating_type: + type: string + main_energy_provider: + type: string + deso_facility: + type: boolean + institution_type: + type: array + items: + type: integer + facility_type: + type: array + items: + type: integer + number_of_lifts: + type: integer + protective_area: + type: boolean + parking_garage: + type: integer + main_energy_source: + type: integer + stairwells: + type: integer + state_of_renovation: + type: integer + construction_project_category: + type: integer + last_modernisation: + type: string + format: date-time + heating_used_energy: + type: array + items: + type: integer + kitchen_type: + type: integer + objectphase: + type: integer + region: + type: integer + floors_above_ground: + type: integer + floors_below_ground: + type: integer + customer_attributes: + type: object + fund_name: + type: string + own_use: + type: boolean + listed_building: + type: boolean + house_number: + type: string + address_suffix: + type: string + energy_certificate_type: + type: string + enum: + - consumption_orientated + - demand_orientated + energy_class: + type: string + stored_energy_validity: + type: string + format: date-time + accounting_rules_applied: + type: string + year_of_construction_heat_generator: + type: string + air_conditioning: + type: boolean + BuildingsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - type: object + required: + - name + - user + - building_type + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + facility_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + heating_used_energies: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + institution_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + roof_forms: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + objectphases: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + regions: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + kitchen_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + construction_project_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + state_of_renovations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + main_energy_sources: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingCreate: + allOf: + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - building_type_id + - parent_id + - parent_type + - name + - customer_attributes + - customer_attributes_schema_id + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUpdate: + allOf: + - $ref: '#/components/schemas/Building' + - properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + organisation_id: + type: integer + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingsAttributes' + BuildingIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + BuildingShowWithFacilities: + allOf: + - $ref: '#/components/schemas/BuildingShow' + - type: object + properties: + facilities_count: + type: number + BuildingPresets: + type: object + properties: + tags: + properties: + building: + type: array + items: {} + building_unit: + type: array + items: {} + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + BuildingIndexWithoutUnits: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + apps: + type: array + items: + type: string + BuildingForProperty: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + BuildingUnitType: + type: object + required: + - id + - name + - updated_at + - created_at + properties: + id: + type: integer + customer_account_id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitTypeCreate: + type: object + required: + - name + properties: + name: + type: string + BuildingUnit: + type: object + properties: + description: + type: string + name: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + tenant: + type: string + owner: + type: string + building_id: + type: number + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + social_floor_area_in_sqm: + type: number + market_rental_price: + type: number + format: float + number_of_rooms: + type: number + number_of_bedrooms: + type: number + number_of_bathrooms: + type: number + quality_of_available_features: + type: string + current_condition: + type: string + description_of_features: + type: string + features: + type: array + enum: + - einbauküche + - balkon/terrasse + - garten + - stufenloser_zugang + - wg_geeignet + - parkplatz_vorhanden + - haustiere_erlaubt + - aufzug + - gäste_wc + - keller + - wohnberechtigungsschein + items: {} + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + planned_monthly_rent: + type: number + planned_operating_cost: + type: number + planned_deposit: + type: number + planned_total_rent: + type: number + heating_costs_in_operating_costs: + type: boolean + contracted_lease_base_rent: + type: string + contracted_lease_operating_costs: + type: string + contracted_lease_deposit: + type: string + floor: + type: integer + group_home: + type: integer + customer_attributes: + type: object + BuildingUnitsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingUnitShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - required: + - name + - building + - type + - user + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneIndex' + facilites: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingUnitIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + contract_ids: + type: array + example: [] + items: {} + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingUnitCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - required: + - name + - building_id + - customer_attributes + properties: + building_id: + type: integer + building_unit_type_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUnitUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - properties: + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingUnitsAttributes' + BuildingUnitMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - unit + - member + - last_editor + properties: + unit: + $ref: '#/components/schemas/BuildingUnit' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingUnitMembershipCreate: + type: object + required: + - unit_id + - member_id + - member_type + properties: + unit_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - level + - room + - zone + - facility + BuildingEnergy: + type: object + properties: + energy_volume: + type: integer + co2_emission_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingEnergyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type + - building + - energy_volume_metric + - co2_emission_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingEnergyCreate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyIndex: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category + - building + - value_metric + properties: + building: + $ref: '#/components/schemas/Building' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceIndex: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category + - building_unit + - value_metric + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingFm: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingFmShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingFmCreate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmUpdate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmIndex: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetail: + type: object + BuildingUnitRetailShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept + - building_unit + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetailMetric: + type: object + properties: + value: + type: integer + BuildingUnitRetailMetricShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - building_unit_retail + - category + - value_metric + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailMetricCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingWater: + type: object + properties: + water_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingWaterShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category + - building + - water_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingWaterCreate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterUpdate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterIndex: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + AddtlBuildingId: + type: object + properties: + addtl_id: + type: string + AddtlBuildingIdShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + AddtlBuildingIdCreate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdUpdate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdIndex: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Phase: + type: object + properties: + version: + type: integer + parent_id: + type: integer + parent_type: + type: string + enum: + - building + - building::unit + phase_is_milestone: + type: boolean + szenario: + type: string + plan_start_date: + type: string + format: date-time + plan_end_date: + type: string + format: date-time + plan_cost: + type: integer + actual_start_date: + type: string + format: date-time + actual_end_date: + type: string + format: date-time + actual_cost: + type: integer + PhaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Phase' + - required: + - phase_category + - status + - plan_cost_metric + - actual_cost_metric + properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + PhaseCreate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseUpdate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseIndex: + allOf: + - $ref: '#/components/schemas/Phase' + - properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + RentTracker: + type: object + properties: + version: + type: integer + planned_pay: + type: integer + planned_pay_date: + type: string + format: date-time + actual_pay: + type: integer + actual_pay_date: + type: string + format: date-time + RentTrackerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category + - pay_currency + properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + building_unit: + $ref: '#/components/schemas/BuildingUnit' + property: + $ref: '#/components/schemas/Property' + building: + $ref: '#/components/schemas/Building' + contract: + $ref: '#/components/schemas/Contract' + lessor: + $ref: '#/components/schemas/Person' + child_of: + $ref: '#/components/schemas/RentTracker' + RentTrackerCreate: + allOf: + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category_id + - pay_currency_id + properties: + payment_category_id: + type: integer + pay_currency_id: + type: integer + building_unit_id: + type: integer + property_id: + type: integer + building_id: + type: integer + contract_id: + type: integer + lessor_id: + type: integer + child_of_id: + type: integer + lessee_ids: + type: array + items: + type: integer + RentTrackerIndex: + allOf: + - $ref: '#/components/schemas/RentTracker' + - properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingParking: + type: object + properties: + places: + type: integer + BuildingParkingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category + properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingParkingCreate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingUpdate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingIndex: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingArea: + type: object + properties: + volume: + type: integer + BuildingAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitArea: + type: object + properties: + volume: + type: integer + BuildingUnitAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlace: + type: object + BuildingUnitPlaceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label + properties: + building: + $ref: '#/components/schemas/Building' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlaceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlacesTimeboxed: + type: object + properties: + num_of_units: + type: integer + num_of_places: + type: integer + num_of_vacant_places: + type: integer + area: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitPlacesTimeboxedShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - building_unit_place + - area_metric + - area_norm + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesTimeboxedCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitPlacesProperty: + type: object + BuildingUnitPlacesPropertieshow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - building_unit_places_timeboxed + - property + - property_value + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesPropertyCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Person: + type: object + properties: + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + email: + type: string + phone: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + country: + type: string + external_id: + type: string + source_system: + type: string + PeopleAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PersonShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - required: + - name + - user + - organisation + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PersonCreate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + PersonUpdate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + PersonIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + - user + - organisation + ReportTemplate: + type: object + properties: + name: + type: string + query: + properties: + filters: + type: array + items: + properties: + dimension: + type: string + operator: + type: string + values: + type: array + items: {} + measures: + type: array + items: {} + dimensions: + type: array + items: {} + timeDimensions: + type: array + items: {} + ReportTemplateShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportTemplateCreate: + allOf: + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportAccountSchema: + type: object + properties: + cubes: + type: array + items: + properties: + name: + type: string + measures: + type: array + items: {} + dimensions: + type: array + items: {} + filters: + type: array + items: {} + timeDimensions: + type: array + items: {} + segments: + type: array + items: {} + limit: + type: integer + offset: + type: integer + order: + type: string + enum: + - asc + - desc + timezone: + type: string + renewQuery: + type: boolean + ungrouped: + type: boolean + ReportAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + ReportAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + PersonMembership: + type: object + properties: + person_id: + type: number + label_id: + type: number + role: + type: string + member_type: + type: string + member_id: + type: number + deleted_at: + type: string + format: date-time + PersonMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PersonMembership' + - required: + - user + - organisation + PersonMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + required: + - id + - person + - member + - last_editor + properties: + deleted_at: + type: string + format: date-time + label: + $ref: '#/components/schemas/CustomerAccountCategory' + person: + $ref: '#/components/schemas/Person' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + PersonMembershipCreate: + type: object + required: + - person_id + - member_id + - member_type + properties: + person_id: + type: integer + role: + type: string + enum: + - lessee + - lift_manager + - building_owner + - building_operator + - investor + - facility_manager + - property_manager + - asset_manager + - lessor + - contact + label_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - facility + - contract + Level: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: integer + category: + description: > + flat_roof: Flachdach + + saddleback_roof: Satteldach + + hipped_roof: Walmdach + + polygons_hipped_roof: Vielecken Walmdach + + crippled_hipped_roof: Krüppelwalmdach + + tent_roof: Zeltdach + + monopitch_roof: Pultdach + + schedule_roof: Scheddach + + mansard_roof: Mansardendach + + trailing_roof: Schleppdach + + only_roof: Nurdach + + roof_with_different_roof_pitches: Dach mit Verschiedenen + Dachneigungen + type: string + enum: + - flat_roof + - saddleback_roof + - hipped_roof + - polygons_hipped_roof + - crippled_hipped_roof + - tent_roof + - monopitch_roof + - schedule_roof + - mansard_roof + - trailing_roof + - only_roof + - roof_with_different_roof_pitches + LevelsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + LevelShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - required: + - name + - number + - building + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + LevelCreate: + allOf: + - $ref: '#/components/schemas/Level' + - required: + - building_id + - name + - number + properties: + building_id: + type: integer + - $ref: '#/components/schemas/LevelsAttributes' + LevelIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - $ref: '#/components/schemas/LevelsAttributes' + - properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + RoomAndZoneType: + type: object + required: + - id + - name + - code + - level + - net_floor_area_code + properties: + id: + type: integer + name: + type: string + code: + type: string + din_277_name: + type: string + example: + type: string + net_floor_area_code: + type: string + parent_id: + type: integer + depth: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Room: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: string + area_in_sqm: + type: number + height_in_m: + type: number + perimeter_in_m: + type: number + RoomsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + RoomShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - required: + - name + - user + - last_editor + - organisation + - level + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + level: + $ref: '#/components/schemas/LevelIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + RoomCreate: + allOf: + - $ref: '#/components/schemas/Room' + - required: + - level_id + - name + properties: + level_id: + type: integer + room_and_zone_type_id: + type: integer + - $ref: '#/components/schemas/RoomsAttributes' + RoomUpdate: + allOf: + - $ref: '#/components/schemas/Room' + - properties: + room_and_zone_type_id: + type: integer + RoomIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - $ref: '#/components/schemas/RoomsAttributes' + - required: + - name + properties: + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + level: + $ref: '#/components/schemas/Level' + thumbnail_url: + type: string + Zone: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + area_in_sqm: + type: number + ZoneShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - name + - user + - room_and_zone_type + - last_editor + - organisation + - zone + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + room: + $ref: '#/components/schemas/RoomIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + ZoneCreate: + allOf: + - $ref: '#/components/schemas/Zone' + - required: + - room_id + - room_and_zone_type_id + - name + properties: + room_id: + type: integer + room_and_zone_type_id: + type: integer + ZoneUpdate: + allOf: + - $ref: '#/components/schemas/Zone' + - properties: + room_and_zone_type_id: + type: integer + ZoneIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - room_and_zone_type_id + - name + properties: + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + Department: + type: object + properties: + name: + type: string + DepartmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Department' + - required: + - name + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + DepartmentCreate: + allOf: + - $ref: '#/components/schemas/Department' + - required: + - name + Manufacturer: + type: object + properties: + name: + type: string + ManufacturerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ManufacturerCreate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + ModelType: + type: object + properties: + name: + type: string + ModelTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ModelType' + - required: + - name + - type: object + required: + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ModelTypeCreate: + allOf: + - $ref: '#/components/schemas/ModelType' + - required: + - name + FacilityType: + type: object + required: + - id + - code + - group_1 + - version + properties: + description: + type: string + version: + type: integer + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + json_schema: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeIndex: + type: object + properties: + description: + type: string + version: + type: integer + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeWithSchema: + type: object + properties: + description: + type: string + version: + type: integer + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + json_schema: + type: object + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Facility: + type: object + properties: + name: + type: string + custom_id: + type: string + external_id: + type: string + source_system: + type: string + ep_code: + type: string + comment: + type: string + inventory_number: + type: string + serial_number: + type: string + year_of_construction: + type: integer + last_inspection_at: + type: string + format: date-time + last_maintenance_at: + type: string + format: date-time + next_inspection_at: + type: string + format: date-time + next_maintenance_at: + type: string + format: date-time + latitude: + type: number + longitude: + type: number + type_dependent_attributes: + type: object + equipment_collection: + type: boolean + quantity: + type: number + facility_parent: + type: string + FacilitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + FacilityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - required: + - name + - facility_type + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + parent: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + level: + $ref: '#/components/schemas/LevelIndex' + room: + $ref: '#/components/schemas/RoomIndex' + zone: + $ref: '#/components/schemas/ZoneIndex' + manufacturer: + $ref: '#/components/schemas/Manufacturer' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + facility_type: + $ref: '#/components/schemas/FacilityType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + activities: + type: array + items: + $ref: '#/components/schemas/ActivityForFacility' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + FacilityCreate: + allOf: + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - required: + - facility_type_id + - location_id + - location_type + properties: + facility_type_id: + type: integer + model_type_id: + type: integer + location_id: + type: integer + location_type: + type: string + enum: + - property + - lot + - building + - level + - room + - zone + manufacturer_id: + type: integer + parent_id: + type: integer + FacilityUpdate: + allOf: + - $ref: '#/components/schemas/Facility' + - properties: + facility_type_id: + type: integer + model_type_id: + type: integer + manufacturer_id: + type: integer + parent_id: + type: integer + - $ref: '#/components/schemas/FacilitiesAttributes' + FacilityIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - properties: + facility_type: + $ref: '#/components/schemas/FacilityType' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + Activity: + type: object + properties: + description: + type: string + category: + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + company: + type: string + external_id: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + ActivitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ActivityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Activity' + - required: + - deleted_at + - facility + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + facility: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + ActivityCreate: + allOf: + - $ref: '#/components/schemas/Activity' + - required: + - category + - company + - facility_ids + - property_id + properties: + activity_type_id: + type: integer + facility_ids: + type: array + items: + type: integer + property_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + ActivityUpdate: + allOf: + - required: + - category + - company + properties: + description: + type: string + category: + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + company: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + activity_type_id: + type: integer + ActivityIndex: + allOf: + - $ref: '#/components/schemas/Activity' + - $ref: '#/components/schemas/ActivitiesAttributes' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/Organisation' + facility: + $ref: '#/components/schemas/Facility' + attachments: + $ref: '#/components/schemas/Attachment' + ActivityForFacility: + allOf: + - $ref: '#/components/schemas/Activity' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + type: array + items: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + ActivityType: + type: object + properties: + name: + type: string + ActivityTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ActivityType' + - required: + - deleted_at + - user + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + ActivityTypeCreate: + allOf: + - $ref: '#/components/schemas/ActivityType' + - required: + - name + ActivityTypeIndex: + allOf: + - $ref: '#/components/schemas/ActivityType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Attachment: + type: object + properties: + description: + type: string + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + AttachmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Attachment' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + AttachmentCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + description: + type: string + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + category: + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + AttachmentDuplicate: + type: object + required: + - copy_attachment_id + properties: + copy_attachment_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + AttachmentIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + description: + type: string + name: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Image: + type: object + properties: + description: + type: string + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + ImageShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Image' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + ImageCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + description: + type: string + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageUpdate: + type: object + properties: + description: + type: string + name: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + description: + type: string + name: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + TimeDependentAttribute: + required: + - attribute_key + - attribute_value + - attribute_timestamp + - parent_id + - parent_type + type: object + properties: + parent_id: + type: integer + customer_account_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + attribute_key: + type: string + attribute_value: + type: string + attribute_type: + type: string + enum: + - individual + - global + attribute_timestamp: + type: string + format: date-time + TimeDependentAttributeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + TimeDependentAttributeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Webhook: + type: object + properties: + description: + type: string + url: + type: string + mode: + type: number + events: + type: array + items: {} + secret: + type: string + organisation_ids: + type: array + items: {} + WebhookShow: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/UserIndex' + organisation_ids: + type: array + items: + $ref: '#/components/schemas/Organisation' + WebhookCreate: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + WebhookIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Webhook' + - required: + - customer_account_id + Tag: + type: object + properties: + label: + type: string + TagShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Tag' + - required: + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagCreate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagsMergeBody: + properties: + master_tag: + type: integer + other_tags: + type: array + items: {} + TagUpdate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + label: + type: string + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagAssignBuildings: + allOf: + - required: + - building_ids + - tag_ids + properties: + building_ids: + type: array + items: + type: integer + tag_ids: + type: array + items: + type: integer + CsvImport: + type: object + properties: + location_type: + type: string + is_demo: + type: boolean + number_of_imported_records: + type: integer + metadata: + type: object + CsvImportShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CsvImport' + - required: + - organisation + - customer_account + properties: + metadata: + type: object + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportShowCreate: + required: + - import_data + - general_status + - invalid_columns + properties: + import_data: + $ref: '#/components/schemas/CsvImportShow' + metadata: + type: object + general_status: + type: string + invalid_columns: + type: array + items: + properties: + row_number: + type: integer + failed_rows: + type: object + CsvImportCreate: + type: object + required: + - location_type + - file_base64 + - file_filename_with_extension + properties: + location_type: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + is_demo: + type: boolean + metadata: + type: object + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + CsvImportIndex: + allOf: + - $ref: '#/components/schemas/CsvImportShow' + - properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportUpdate: + allOf: + - required: + - category + - company + properties: + status: + description: | + imported + canceled + partially_imported + type: string + enum: + - canceled + - draft + - partially_imported + - imported + Scorecard: + type: object + properties: + description: + type: string + name: + type: string + status: + type: string + enum: + - draft + - final + ScorecardShow: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + customer_account_id: + type: integer + assigners: + type: array + items: {} + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + segments: + $ref: '#/components/schemas/ScorecardSegment' + global: + type: boolean + ScorecardCreate: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - name + - status + properties: + global: + type: boolean + ScorecardIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + - segments + - active + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + assigners: + type: array + items: {} + segments: + $ref: '#/components/schemas/ScorecardSegment' + customer_account_id: + type: integer + global: + type: boolean + ScorecardSegment: + type: object + properties: + name: + type: string + weight_type: + type: string + position: + type: integer + ScorecardSegmentShow: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - name + - weight_type + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSegmentCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - scorecard_id + properties: + scorecard_id: + type: number + ScorecardTopic: + type: object + properties: + name: + type: string + weight_type: + type: string + weight_value: + type: integer + position: + type: integer + ScorecardTopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardTopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - scorecard_segment_id + properties: + scorecard_segment_id: + type: number + ScorecardSubtopic: + type: object + properties: + name: + type: string + weight_value: + type: integer + scorecard_scores: + type: array + items: + type: object + properties: + score: + type: integer + range_type: + type: string + enum: + - in_range + - eq + - lt + - lte + - gt + - gte + attribute_value: + type: string + example: Can be of a type string, date, or array with two elements! + attribute_type: + type: string + attribute_id: + type: string + position: + type: integer + ScorecardSubtopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSubtopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - scorecard_topic_id + properties: + scorecard_topic_id: + type: number + ScorecardMembership: + type: object + properties: + scorecard_id: + type: number + parent_type: + type: string + enum: + - building + - building_unit + - facility + parent_id: + type: number + SegmentScore: + type: object + properties: + score: + type: number + topic_scores: + type: array + items: + $ref: '#/components/schemas/TopicScore' + segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + TopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + subtopic_scores: + type: array + items: + $ref: '#/components/schemas/SubtopicScore' + topic: + $ref: '#/components/schemas/ScorecardTopicShow' + SubtopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + attribute_values: + type: object + example: '{ value: 123, type: numeric }' + status: + type: string + enum: + - pending + - calculated + - error + subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + ScorecardMembershipCost: + type: object + properties: + parent_id: + type: number + parent_type: + type: string + scorecard_id: + type: number + scorecard_name: + type: string + segment_id: + type: number + segment_name: + type: string + topic_id: + type: number + topic_name: + type: string + subtopic_id: + type: number + subtopic_name: + type: string + data_catalog_id: + type: number + technical_key: + type: string + name: + type: string + realcube_price: + type: integer + allOf: + - required: + - parent_ids + - scorecard_ids + properties: + parent_ids: + type: array + items: + type: integer + scorecard_ids: + type: array + items: + type: integer + ScorecardMembershipsIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - segment_scores + - scorecard_id + - parent_type + properties: + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + scorecard: + $ref: '#/components/schemas/Scorecard' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + parent: + $ref: '#/components/schemas/BuildingShow' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardMembershipsCosts: + allOf: + - properties: + id: + type: integer + - $ref: '#/components/schemas/ScorecardMembershipCost' + ScorecardMembershipsShow: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - scorecard_id + - parent_id + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + parent: + $ref: '#/components/schemas/BuildingShow' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + ScorecardMembershipDeAssign: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + ScorecardMembershipCreate: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByScorecard: + allOf: + - required: + - scorecard_id + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_ids: + type: array + items: + type: integer + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByParent: + allOf: + - required: + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + ScorecardMembershipCostResponse: + allOf: + - required: + - name + - realcube_price + - parent_id + - parent_type + - scorecard_id + - scorecard_name + - segment_id + - segment_name + - topic_id + - topic_name + - subtopic_id + - subtopic_name + - data_catalog_id + - technical_key + properties: + name: + type: string + realcube_price: + type: integer + parent_type: + type: string + parent_id: + type: integer + scorecard_id: + type: integer + scorecard_name: + type: string + segment_id: + type: integer + segment_name: + type: string + topic_id: + type: integer + topic_name: + type: string + CountBuildingsResponse: + allOf: + - required: + - scorecard_id + - nr_of_buildings + properties: + scorecard_id: + type: integer + nr_of_buildings: + type: integer + ScorecardAssigner: + type: object + ScorecardAssignersIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignersShow: + allOf: + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignerCreate: + allOf: + - required: + - assigner_id + - scorecard_id + properties: + assigner_ids: + type: array + items: + type: integer + scorecard_id: + type: number + DataCatalog: + type: object + properties: + description: + type: string + technical_key: + type: string + name: + type: string + sku: + type: string + source: + type: string + country: + type: string + locale: + type: string + quality_indicator: + type: string + enum: + - fact + - predicted + - estimated + category_l1: + type: string + category_l2: + type: string + category_l3: + type: string + category_l4: + type: string + category_l5: + type: string + realcube_price: + type: integer + realcube_currency: + type: string + realcube_price_category: + type: string + data_lifetime: + type: integer + attribute_type: + type: string + enum: + - numeric + - fixed + - boolean + - date + - string + unit: + type: string + data_catalogsShow: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + DataCatalogCreate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - technical_key + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + app_id: + type: integer + DataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + properties: + user_id: + type: integer + last_editor_id: + type: integer + app_id: + type: integer + RawDataCatalog: + type: object + properties: + version: + type: integer + status: + type: string + enum: + - applied + - new + raw_data: + type: object + RawDataCatalogsShow: + allOf: + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RawDataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RentIncreaseType: + type: object + properties: + description: + type: string + name: + type: string + category: + type: integer + RentIncreaseTypeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseIndices: + type: object + properties: + value: + type: integer + date: + type: string + format: date + rent_increase_type_id: + type: string + subtype: + type: string + enum: + - residential + - office + - commercial + RentIncreaseIndicesIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseIndices' + - properties: + deleted_at: + type: string + format: date-time + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseMapping: + type: object + properties: + values: + type: object + apply_automatically: + type: boolean + contract_id: + type: integer + rent_increase_type_id: + type: integer + user_id: + type: integer + last_editor_id: + type: integer + RentIncreaseMappingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseMapping' + - required: + - rent_increase_type + properties: + rent_increase_type: + type: object + RentIncreaseMappingIndex: + allOf: + - $ref: '#/components/schemas/RentIncreaseMapping' + - properties: + rent_increase_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + TaskMembership: + type: object + properties: + task_id: + type: integer + place_id: + type: integer + organisation_id: + type: integer + place_type: + type: string + enum: + - Building + - Building::Unit + TaskMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembership' + - properties: + organisation_id: + type: integer + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + TaskMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembershipShow' + - properties: + organisation_id: + type: integer + place_name: + type: string + place_parent_id: + type: integer + RentIncrease: + type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + RentIncreaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + customer_account: + type: object + contract_membership: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + member_type: + type: string + member_id: + type: string + member_name: + type: string + parent_id: + type: string + parent_name: + type: string + contract: + type: object + costs: + type: array + items: + type: object + RentIncreaseIndex: + allOf: + - required: + - id + - created_at + properties: + id: + type: integer + created_at: + type: string + format: date-time + contract_membership_id: + type: integer + start_date: + type: string + format: date-time + value: + type: integer + status: + type: integer + enum: + - 1 + - 2 + - 3 + recurring: + type: boolean + recurring_increase_month: + type: integer + recurring_increase_year: + type: integer + customer_account_id: + type: integer + contract_membership_member_type: + type: string + contract_membership_member_id: + type: integer + contract_membership_member_name: + type: string + person_name: + type: string + contract_start_date: + type: string + format: date-time + contract_membership_cost_amount: + type: integer + rent_increase_type_category: + type: string + rent_increase_type_name: + type: string + rent_increase_type_id: + type: integer + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + automatic_adjustment: + type: boolean + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + building_type: + type: string + enum: + - residential + - office + - commercial + RentIncreaseCreate: + allOf: + - $ref: '#/components/schemas/RentIncrease' + - properties: + rent_increase_type_id: + type: integer + contract_membership_id: + type: integer + EmissionFactorSetting: + type: object + properties: + value: + type: number + EmissionFactorSettingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/EmissionFactorSetting' + - type: object + required: + - value + - label + - customer_account + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + EmissionFactorSettingCreate: + allOf: + - $ref: '#/components/schemas/EmissionFactorSetting' + - required: + - value + - customer_account_id + - label_id + properties: + label_id: + type: integer + EmissionFactorSettingUpdate: + allOf: + - type: array + items: + type: object + properties: + label_id: + type: number + value: + type: number + CustomerAccountCategoryConfig: + type: object + properties: + display: + type: boolean + CustomerAccountCategoryConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - required: + - label_id + - customer_account_translations + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategory' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCategoryConfigCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - properties: + customer_account_category_id: + type: integer + SignInError: + properties: + title: + type: string + example: Invalid email password combination + source: + type: string + example: password + AuthenticationError: + properties: + title: + type: string + example: Invalid or missing api key + source: + type: string + example: X-Api-Key + AuthorizationError: + properties: + title: + type: string + example: Invalid or missing authorization + source: + type: string + example: X-Api-Key + UnprocessableRequestError: + properties: + title: + type: string + example: could not be deleted + source: + type: string + example: record + NotFoundError: + properties: + title: + type: string + example: Couldn't find Resource with 'id'=12 + source: + type: string + example: id + InternalServerError: + properties: + title: + type: string + example: We're sorry, but something went wrong + source: + type: string + example: application + ServiceUnavailableError: + properties: + title: + type: string + example: Service Temporarily Unavailable + source: + type: string + example: application + PersistedRecord: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - id + - updated_at + - created_at + PlatformconfigsShowAllConfigsResponse: + type: object + properties: {} + example: {} + PlatformconfigsShowAllConfigs401Response: + type: object + properties: {} + example: {} + PlatformconfigsShowAllConfigs403Response: + type: object + properties: {} + example: {} + PlatformconfigsShowAllConfigs404Response: + type: object + properties: {} + example: {} + PlatformconfigsShowAllConfigs422Response: + type: object + properties: {} + example: {} + PlatformconfigsShowAllConfigs500Response: + type: object + properties: {} + example: {} + PlatformconfigsCreateNewConfigResponse: + type: object + properties: {} + example: {} + PlatformconfigsCreateNewConfig401Response: + type: object + properties: {} + example: {} + PlatformconfigsCreateNewConfig403Response: + type: object + properties: {} + example: {} + PlatformconfigsCreateNewConfig422Response: + type: object + properties: {} + example: {} + PlatformconfigsCreateNewConfig500Response: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeletedResponse: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeleted401Response: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeleted403Response: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeleted404Response: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeleted422Response: + type: object + properties: {} + example: {} + PlatformconfigsMarkAsDeleted500Response: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisationResponse: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisation401Response: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisation403Response: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisation404Response: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisation422Response: + type: object + properties: {} + example: {} + PlatformconfigsUpdateWithinOrganisation500Response: + type: object + properties: {} + example: {} + UsersGetAllResponse: + type: object + properties: {} + example: {} + UsersGetAll401Response: + type: object + properties: {} + example: {} + UsersGetAll403Response: + type: object + properties: {} + example: {} + UsersGetAll422Response: + type: object + properties: {} + example: {} + UsersGetAll500Response: + type: object + properties: {} + example: {} + UsersCreateNewUserResponse: + type: object + properties: {} + example: {} + UsersCreateNewUser422Response: + type: object + properties: {} + example: {} + UsersCreateNewUser500Response: + type: object + properties: {} + example: {} + UsersAuthenticateUserResponse: + type: object + properties: {} + example: {} + UsersAuthenticateUser401Response: + type: object + properties: {} + example: {} + UsersAuthenticateUser422Response: + type: object + properties: {} + example: {} + UsersAuthenticateUser500Response: + type: object + properties: {} + example: {} + UsersRefreshTokenResponse: + type: object + properties: {} + example: {} + UsersRefreshToken401Response: + type: object + properties: {} + example: {} + UsersRefreshToken422Response: + type: object + properties: {} + example: {} + UsersRefreshToken500Response: + type: object + properties: {} + example: {} + UsersDeleteUserResponse: + type: object + properties: {} + example: {} + UsersDeleteUser401Response: + type: object + properties: {} + example: {} + UsersDeleteUser403Response: + type: object + properties: {} + example: {} + UsersDeleteUser404Response: + type: object + properties: {} + example: {} + UsersDeleteUser422Response: + type: object + properties: {} + example: {} + UsersDeleteUser500Response: + type: object + properties: {} + example: {} + UsersUpdateUserResponse: + type: object + properties: {} + example: {} + UsersUpdateUser401Response: + type: object + properties: {} + example: {} + UsersUpdateUser403Response: + type: object + properties: {} + example: {} + UsersUpdateUser404Response: + type: object + properties: {} + example: {} + UsersUpdateUser422Response: + type: object + properties: {} + example: {} + UsersUpdateUser500Response: + type: object + properties: {} + example: {} + UsersInvalidateApiTokenResponse: + type: object + properties: {} + example: {} + UsersInvalidateApiToken401Response: + type: object + properties: {} + example: {} + UsersInvalidateApiToken422Response: + type: object + properties: {} + example: {} + UsersInvalidateApiToken500Response: + type: object + properties: {} + example: {} + UsersSendResetInstructionsResponse: + type: object + properties: {} + example: {} + UsersSendResetInstructions404Response: + type: object + properties: {} + example: {} + UsersSendResetInstructions500Response: + type: object + properties: {} + example: {} + UsersSendInvitationResponse: + type: object + properties: {} + example: {} + UsersSendInvitation404Response: + type: object + properties: {} + example: {} + UsersSendInvitation500Response: + type: object + properties: {} + example: {} + RolesGetAllRolesResponse: + type: object + properties: {} + example: {} + RolesGetAllRoles401Response: + type: object + properties: {} + example: {} + RolesGetAllRoles403Response: + type: object + properties: {} + example: {} + RolesGetAllRoles422Response: + type: object + properties: {} + example: {} + RolesGetAllRoles500Response: + type: object + properties: {} + example: {} + RolesCreateRoleResponse: + type: object + properties: {} + example: {} + RolesCreateRole401Response: + type: object + properties: {} + example: {} + RolesCreateRole403Response: + type: object + properties: {} + example: {} + RolesCreateRole422Response: + type: object + properties: {} + example: {} + RolesCreateRole500Response: + type: object + properties: {} + example: {} + RolesRemoveRoleResponse: + type: object + properties: {} + example: {} + RolesRemoveRole401Response: + type: object + properties: {} + example: {} + RolesRemoveRole403Response: + type: object + properties: {} + example: {} + RolesRemoveRole404Response: + type: object + properties: {} + example: {} + RolesRemoveRole422Response: + type: object + properties: {} + example: {} + RolesRemoveRole500Response: + type: object + properties: {} + example: {} + RolesShowRoleResponse: + type: object + properties: {} + example: {} + RolesShowRole401Response: + type: object + properties: {} + example: {} + RolesShowRole403Response: + type: object + properties: {} + example: {} + RolesShowRole404Response: + type: object + properties: {} + example: {} + RolesShowRole422Response: + type: object + properties: {} + example: {} + RolesShowRole500Response: + type: object + properties: {} + example: {} + RolesUpdateRoleResponse: + type: object + properties: {} + example: {} + RolesUpdateRole401Response: + type: object + properties: {} + example: {} + RolesUpdateRole403Response: + type: object + properties: {} + example: {} + RolesUpdateRole422Response: + type: object + properties: {} + example: {} + RolesUpdateRole500Response: + type: object + properties: {} + example: {} + RolepoliciesGetAllResponse: + type: object + properties: {} + example: {} + RolepoliciesGetAll401Response: + type: object + properties: {} + example: {} + RolepoliciesGetAll403Response: + type: object + properties: {} + example: {} + RolepoliciesGetAll422Response: + type: object + properties: {} + example: {} + RolepoliciesGetAll500Response: + type: object + properties: {} + example: {} + RolepoliciesCreatePolicyResponse: + type: object + properties: {} + example: {} + RolepoliciesCreatePolicy401Response: + type: object + properties: {} + example: {} + RolepoliciesCreatePolicy403Response: + type: object + properties: {} + example: {} + RolepoliciesCreatePolicy422Response: + type: object + properties: {} + example: {} + RolepoliciesCreatePolicy500Response: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicyResponse: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicy401Response: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicy403Response: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicy404Response: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicy422Response: + type: object + properties: {} + example: {} + RolepoliciesDeletePolicy500Response: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicyResponse: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicy401Response: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicy403Response: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicy404Response: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicy422Response: + type: object + properties: {} + example: {} + RolepoliciesShowRolePolicy500Response: + type: object + properties: {} + example: {} + RolepoliciesUpdatePolicyResponse: + type: object + properties: {} + example: {} + RolepoliciesUpdatePolicy401Response: + type: object + properties: {} + example: {} + RolepoliciesUpdatePolicy403Response: + type: object + properties: {} + example: {} + RolepoliciesUpdatePolicy422Response: + type: object + properties: {} + example: {} + RolepoliciesUpdatePolicy500Response: + type: object + properties: {} + example: {} + TenantsListForBoardingTypeResponse: + type: object + properties: {} + example: {} + TenantsListForBoardingType401Response: + type: object + properties: {} + example: {} + TenantsListForBoardingType403Response: + type: object + properties: {} + example: {} + TenantsListForBoardingType404Response: + type: object + properties: {} + example: {} + TenantsListForBoardingType422Response: + type: object + properties: {} + example: {} + TenantsListForBoardingType500Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsGetAllTranslationsResponse: + type: object + properties: {} + example: {} + CustomeraccounttranslationsGetAllTranslations401Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsGetAllTranslations403Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsGetAllTranslations422Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsGetAllTranslations500Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsCreateTranslationResponse: + type: object + properties: {} + example: {} + CustomeraccounttranslationsCreateTranslation401Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsCreateTranslation403Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsCreateTranslation422Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsCreateTranslation500Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslationResponse: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslation401Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslation403Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslation404Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslation422Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsDeleteTranslation500Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslationResponse: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslation401Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslation403Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslation404Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslation422Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsShowTranslation500Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslationResponse: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslation401Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslation403Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslation404Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslation422Response: + type: object + properties: {} + example: {} + CustomeraccounttranslationsUpdateTranslation500Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsGetAllTranslationsResponse: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsGetAllTranslations401Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsGetAllTranslations403Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsGetAllTranslations422Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsGetAllTranslations500Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsCreateGroupResponse: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsCreateGroup401Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsCreateGroup403Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsCreateGroup422Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsCreateGroup500Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroupResponse: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroup401Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroup403Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroup404Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroup422Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsDeleteGroup500Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroupResponse: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroup401Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroup403Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroup404Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroup422Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsShowGroup500Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdateResponse: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdate401Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdate403Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdate404Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdate422Response: + type: object + properties: {} + example: {} + CustomeraccountattributegroupsUpdate500Response: + type: object + properties: {} + example: {} + EpcodecombinationsGetAllResponse: + type: object + properties: {} + example: {} + EpcodecombinationsGetAll401Response: + type: object + properties: {} + example: {} + EpcodecombinationsGetAll403Response: + type: object + properties: {} + example: {} + EpcodecombinationsGetAll422Response: + type: object + properties: {} + example: {} + EpcodecombinationsGetAll500Response: + type: object + properties: {} + example: {} + CredentialsGetUserByOAuthResponse: + type: object + properties: {} + example: {} + CredentialsGetUserByOAuth401Response: + type: object + properties: {} + example: {} + CredentialsGetUserByOAuth403Response: + type: object + properties: {} + example: {} + CredentialsGetUserByOAuth422Response: + type: object + properties: {} + example: {} + CredentialsGetUserByOAuth500Response: + type: object + properties: {} + example: {} + CredentialsReturnTokenResponse: + type: object + properties: {} + example: {} + CredentialsReturnToken401Response: + type: object + properties: {} + example: {} + CredentialsReturnToken403Response: + type: object + properties: {} + example: {} + CredentialsReturnToken422Response: + type: object + properties: {} + example: {} + CredentialsReturnToken500Response: + type: object + properties: {} + example: {} + DashboardconfigsCreateNewConfigResponse: + type: object + properties: {} + example: {} + DashboardconfigsCreateNewConfig401Response: + type: object + properties: {} + example: {} + DashboardconfigsCreateNewConfig403Response: + type: object + properties: {} + example: {} + DashboardconfigsCreateNewConfig422Response: + type: object + properties: {} + example: {} + DashboardconfigsCreateNewConfig500Response: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeletedResponse: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeleted401Response: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeleted403Response: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeleted404Response: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeleted422Response: + type: object + properties: {} + example: {} + DashboardconfigsMarkAsDeleted500Response: + type: object + properties: {} + example: {} + DashboardconfigsShowResponse: + type: object + properties: {} + example: {} + DashboardconfigsShow401Response: + type: object + properties: {} + example: {} + DashboardconfigsShow403Response: + type: object + properties: {} + example: {} + DashboardconfigsShow404Response: + type: object + properties: {} + example: {} + DashboardconfigsShow422Response: + type: object + properties: {} + example: {} + DashboardconfigsShow500Response: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisationResponse: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisation401Response: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisation403Response: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisation404Response: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisation422Response: + type: object + properties: {} + example: {} + DashboardconfigsUpdateWithinOrganisation500Response: + type: object + properties: {} + example: {} + DashboardsGetCustomerAccountResponse: + type: object + properties: {} + example: {} + DashboardsGetCustomerAccount401Response: + type: object + properties: {} + example: {} + DashboardsGetCustomerAccount500Response: + type: object + properties: {} + example: {} + DashboardsShowDashboardResponse: + type: object + properties: {} + example: {} + DashboardsShowDashboard401Response: + type: object + properties: {} + example: {} + DashboardsShowDashboard403Response: + type: object + properties: {} + example: {} + DashboardsShowDashboard422Response: + type: object + properties: {} + example: {} + DashboardsShowDashboard500Response: + type: object + properties: {} + example: {} + DashboardsUpdateDashboardResponse: + type: object + properties: {} + example: {} + DashboardsUpdateDashboard401Response: + type: object + properties: {} + example: {} + DashboardsUpdateDashboard403Response: + type: object + properties: {} + example: {} + DashboardsUpdateDashboard422Response: + type: object + properties: {} + example: {} + DashboardsUpdateDashboard500Response: + type: object + properties: {} + example: {} + DashboardsSynchroniseResponse: + type: object + properties: {} + example: {} + DashboardsSynchronise403Response: + type: object + properties: {} + example: {} + DashboardsSynchronise404Response: + type: object + properties: {} + example: {} + DashboardsSynchronise422Response: + type: object + properties: {} + example: {} + DashboardsSynchronise500Response: + type: object + properties: {} + example: {} + DashboardsExpireSessionsResponse: + type: object + properties: {} + example: {} + DashboardsExpireSessions403Response: + type: object + properties: {} + example: {} + DashboardsExpireSessions404Response: + type: object + properties: {} + example: {} + DashboardsExpireSessions422Response: + type: object + properties: {} + example: {} + DashboardsExpireSessions500Response: + type: object + properties: {} + example: {} + DashboardsCopyOnFolderResponse: + type: object + properties: {} + example: {} + DashboardsCopyOnFolder401Response: + type: object + properties: {} + example: {} + DashboardsCopyOnFolder403Response: + type: object + properties: {} + example: {} + DashboardsCopyOnFolder422Response: + type: object + properties: {} + example: {} + DashboardsCopyOnFolder500Response: + type: object + properties: {} + example: {} + DashboardsOrderDashboardsResponse: + type: object + properties: {} + example: {} + DashboardsOrderDashboards401Response: + type: object + properties: {} + example: {} + DashboardsOrderDashboards403Response: + type: object + properties: {} + example: {} + DashboardsOrderDashboards404Response: + type: object + properties: {} + example: {} + DashboardsOrderDashboards422Response: + type: object + properties: {} + example: {} + DashboardsOrderDashboards500Response: + type: object + properties: {} + example: {} + DashboardsReturnCustomerAccountExploreWithUrlResponse: + type: object + properties: {} + example: {} + DashboardsReturnCustomerAccountExploreWithUrl401Response: + type: object + properties: {} + example: {} + DashboardsReturnCustomerAccountExploreWithUrl500Response: + type: object + properties: {} + example: {} + AppsGetAllAppsResponse: + type: object + properties: {} + example: {} + AppsGetAllApps401Response: + type: object + properties: {} + example: {} + AppsGetAllApps403Response: + type: object + properties: {} + example: {} + AppsGetAllApps422Response: + type: object + properties: {} + example: {} + AppsGetAllApps500Response: + type: object + properties: {} + example: {} + AppsCreateAppResponse: + type: object + properties: {} + example: {} + AppsCreateApp401Response: + type: object + properties: {} + example: {} + AppsCreateApp403Response: + type: object + properties: {} + example: {} + AppsCreateApp422Response: + type: object + properties: {} + example: {} + AppsCreateApp500Response: + type: object + properties: {} + example: {} + AppsDeleteAppResponse: + type: object + properties: {} + example: {} + AppsDeleteApp401Response: + type: object + properties: {} + example: {} + AppsDeleteApp403Response: + type: object + properties: {} + example: {} + AppsDeleteApp404Response: + type: object + properties: {} + example: {} + AppsDeleteApp422Response: + type: object + properties: {} + example: {} + AppsDeleteApp500Response: + type: object + properties: {} + example: {} + AppsShowAppResponse: + type: object + properties: {} + example: {} + AppsShowApp401Response: + type: object + properties: {} + example: {} + AppsShowApp403Response: + type: object + properties: {} + example: {} + AppsShowApp404Response: + type: object + properties: {} + example: {} + AppsShowApp422Response: + type: object + properties: {} + example: {} + AppsShowApp500Response: + type: object + properties: {} + example: {} + AppsUpdateAppResponse: + type: object + properties: {} + example: {} + AppsUpdateApp401Response: + type: object + properties: {} + example: {} + AppsUpdateApp403Response: + type: object + properties: {} + example: {} + AppsUpdateApp422Response: + type: object + properties: {} + example: {} + AppsUpdateApp500Response: + type: object + properties: {} + example: {} + AppcategoriesGetAllCategoriesResponse: + type: object + properties: {} + example: {} + AppcategoriesGetAllCategories401Response: + type: object + properties: {} + example: {} + AppcategoriesGetAllCategories403Response: + type: object + properties: {} + example: {} + AppcategoriesGetAllCategories422Response: + type: object + properties: {} + example: {} + AppcategoriesGetAllCategories500Response: + type: object + properties: {} + example: {} + AppsubscriptionsGetAllSubsResponse: + type: object + properties: {} + example: {} + AppsubscriptionsGetAllSubs401Response: + type: object + properties: {} + example: {} + AppsubscriptionsGetAllSubs403Response: + type: object + properties: {} + example: {} + AppsubscriptionsGetAllSubs422Response: + type: object + properties: {} + example: {} + AppsubscriptionsGetAllSubs500Response: + type: object + properties: {} + example: {} + AppsubscriptionsCreateSubscriptionResponse: + type: object + properties: {} + example: {} + AppsubscriptionsCreateSubscription401Response: + type: object + properties: {} + example: {} + AppsubscriptionsCreateSubscription403Response: + type: object + properties: {} + example: {} + AppsubscriptionsCreateSubscription422Response: + type: object + properties: {} + example: {} + AppsubscriptionsCreateSubscription500Response: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscriptionResponse: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscription401Response: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscription403Response: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscription404Response: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscription422Response: + type: object + properties: {} + example: {} + AppsubscriptionsDeleteSubscription500Response: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscriptionResponse: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscription401Response: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscription403Response: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscription404Response: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscription422Response: + type: object + properties: {} + example: {} + AppsubscriptionsShowSubscription500Response: + type: object + properties: {} + example: {} + AppsubscriptionsUpdateSubscriptionResponse: + type: object + properties: {} + example: {} + AppsubscriptionsUpdateSubscription401Response: + type: object + properties: {} + example: {} + AppsubscriptionsUpdateSubscription403Response: + type: object + properties: {} + example: {} + AppsubscriptionsUpdateSubscription422Response: + type: object + properties: {} + example: {} + AppsubscriptionsUpdateSubscription500Response: + type: object + properties: {} + example: {} + AppconfigsGetAllConfigsResponse: + type: object + properties: {} + example: {} + AppconfigsGetAllConfigs401Response: + type: object + properties: {} + example: {} + AppconfigsGetAllConfigs403Response: + type: object + properties: {} + example: {} + AppconfigsGetAllConfigs422Response: + type: object + properties: {} + example: {} + AppconfigsGetAllConfigs500Response: + type: object + properties: {} + example: {} + AppconfigsCreateConfigResponse: + type: object + properties: {} + example: {} + AppconfigsCreateConfig401Response: + type: object + properties: {} + example: {} + AppconfigsCreateConfig403Response: + type: object + properties: {} + example: {} + AppconfigsCreateConfig422Response: + type: object + properties: {} + example: {} + AppconfigsCreateConfig500Response: + type: object + properties: {} + example: {} + AppconfigsDeleteConfigResponse: + type: object + properties: {} + example: {} + AppconfigsDeleteConfig401Response: + type: object + properties: {} + example: {} + AppconfigsDeleteConfig403Response: + type: object + properties: {} + example: {} + AppconfigsDeleteConfig404Response: + type: object + properties: {} + example: {} + AppconfigsDeleteConfig422Response: + type: object + properties: {} + example: {} + AppconfigsDeleteConfig500Response: + type: object + properties: {} + example: {} + AppconfigsShowConfigResponse: + type: object + properties: {} + example: {} + AppconfigsShowConfig401Response: + type: object + properties: {} + example: {} + AppconfigsShowConfig403Response: + type: object + properties: {} + example: {} + AppconfigsShowConfig404Response: + type: object + properties: {} + example: {} + AppconfigsShowConfig422Response: + type: object + properties: {} + example: {} + AppconfigsShowConfig500Response: + type: object + properties: {} + example: {} + AppconfigsUpdateConfigResponse: + type: object + properties: {} + example: {} + AppconfigsUpdateConfig401Response: + type: object + properties: {} + example: {} + AppconfigsUpdateConfig403Response: + type: object + properties: {} + example: {} + AppconfigsUpdateConfig422Response: + type: object + properties: {} + example: {} + AppconfigsUpdateConfig500Response: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembershipResponse: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembership401Response: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembership403Response: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembership404Response: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembership422Response: + type: object + properties: {} + example: {} + AppsDeleteCategoryMembership500Response: + type: object + properties: {} + example: {} + AppsCreateMembershipToCategoryResponse: + type: object + properties: {} + example: {} + AppsCreateMembershipToCategory401Response: + type: object + properties: {} + example: {} + AppsCreateMembershipToCategory403Response: + type: object + properties: {} + example: {} + AppsCreateMembershipToCategory422Response: + type: object + properties: {} + example: {} + AppsCreateMembershipToCategory500Response: + type: object + properties: {} + example: {} + AppdatarepositoriesGetAllDataRepositoriesResponse: + type: object + properties: {} + example: {} + AppdatarepositoriesGetAllDataRepositories401Response: + type: object + properties: {} + example: {} + AppdatarepositoriesGetAllDataRepositories403Response: + type: object + properties: {} + example: {} + AppdatarepositoriesGetAllDataRepositories422Response: + type: object + properties: {} + example: {} + AppdatarepositoriesGetAllDataRepositories500Response: + type: object + properties: {} + example: {} + AppdatarepositoriesCreateNewRepositoryResponse: + type: object + properties: {} + example: {} + AppdatarepositoriesCreateNewRepository401Response: + type: object + properties: {} + example: {} + AppdatarepositoriesCreateNewRepository403Response: + type: object + properties: {} + example: {} + AppdatarepositoriesCreateNewRepository422Response: + type: object + properties: {} + example: {} + AppdatarepositoriesCreateNewRepository500Response: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepositoryResponse: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepository401Response: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepository403Response: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepository404Response: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepository422Response: + type: object + properties: {} + example: {} + AppdatarepositoriesShowRepository500Response: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepositoryResponse: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepository401Response: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepository403Response: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepository404Response: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepository422Response: + type: object + properties: {} + example: {} + AppdatarepositoriesDeleteRepository500Response: + type: object + properties: {} + example: {} + AppdatarepositoriesUpdateRepositoryResponse: + type: object + properties: {} + example: {} + AppdatarepositoriesUpdateRepository401Response: + type: object + properties: {} + example: {} + AppdatarepositoriesUpdateRepository403Response: + type: object + properties: {} + example: {} + AppdatarepositoriesUpdateRepository422Response: + type: object + properties: {} + example: {} + AppdatarepositoriesUpdateRepository500Response: + type: object + properties: {} + example: {} + PlansGetAllInBuildingResponse: + type: object + properties: {} + example: {} + PlansGetAllInBuilding401Response: + type: object + properties: {} + example: {} + PlansGetAllInBuilding403Response: + type: object + properties: {} + example: {} + PlansGetAllInBuilding422Response: + type: object + properties: {} + example: {} + PlansGetAllInBuilding500Response: + type: object + properties: {} + example: {} + PlansCreateNewPlanResponse: + type: object + properties: {} + example: {} + PlansCreateNewPlan401Response: + type: object + properties: {} + example: {} + PlansCreateNewPlan403Response: + type: object + properties: {} + example: {} + PlansCreateNewPlan422Response: + type: object + properties: {} + example: {} + PlansCreateNewPlan500Response: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuildingResponse: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuilding401Response: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuilding403Response: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuilding404Response: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuilding422Response: + type: object + properties: {} + example: {} + PlansDeletePlanWithinBuilding500Response: + type: object + properties: {} + example: {} + PlansShowPlanResponse: + type: object + properties: {} + example: {} + PlansShowPlan401Response: + type: object + properties: {} + example: {} + PlansShowPlan403Response: + type: object + properties: {} + example: {} + PlansShowPlan404Response: + type: object + properties: {} + example: {} + PlansShowPlan422Response: + type: object + properties: {} + example: {} + PlansShowPlan500Response: + type: object + properties: {} + example: {} + PlansUpdatePlanResponse: + type: object + properties: {} + example: {} + PlansUpdatePlan401Response: + type: object + properties: {} + example: {} + PlansUpdatePlan403Response: + type: object + properties: {} + example: {} + PlansUpdatePlan422Response: + type: object + properties: {} + example: {} + PlansUpdatePlan500Response: + type: object + properties: {} + example: {} + PlanconfigsGetAllConfigsResponse: + type: object + properties: {} + example: {} + PlanconfigsGetAllConfigs401Response: + type: object + properties: {} + example: {} + PlanconfigsGetAllConfigs403Response: + type: object + properties: {} + example: {} + PlanconfigsGetAllConfigs422Response: + type: object + properties: {} + example: {} + PlanconfigsGetAllConfigs500Response: + type: object + properties: {} + example: {} + PlanversionsCreatePlanVersionResponse: + type: object + properties: {} + example: {} + PlanversionsCreatePlanVersion401Response: + type: object + properties: {} + example: {} + PlanversionsCreatePlanVersion403Response: + type: object + properties: {} + example: {} + PlanversionsCreatePlanVersion422Response: + type: object + properties: {} + example: {} + PlanversionsCreatePlanVersion500Response: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlanResponse: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlan401Response: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlan403Response: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlan404Response: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlan422Response: + type: object + properties: {} + example: {} + PlanversionsDeleteWithinCurrentPlan500Response: + type: object + properties: {} + example: {} + PlanversionsUpdateVersionResponse: + type: object + properties: {} + example: {} + PlanversionsUpdateVersion401Response: + type: object + properties: {} + example: {} + PlanversionsUpdateVersion403Response: + type: object + properties: {} + example: {} + PlanversionsUpdateVersion422Response: + type: object + properties: {} + example: {} + PlanversionsUpdateVersion500Response: + type: object + properties: {} + example: {} + OrganisationsListMemberRolesResponse: + type: object + properties: {} + example: {} + OrganisationsListMemberRoles401Response: + type: object + properties: {} + example: {} + OrganisationsListMemberRoles403Response: + type: object + properties: {} + example: {} + OrganisationsListMemberRoles422Response: + type: object + properties: {} + example: {} + OrganisationsListMemberRoles500Response: + type: object + properties: {} + example: {} + OrganisationsCreateUserForCustomerResponse: + type: object + properties: {} + example: {} + OrganisationsCreateUserForCustomer401Response: + type: object + properties: {} + example: {} + OrganisationsCreateUserForCustomer403Response: + type: object + properties: {} + example: {} + OrganisationsCreateUserForCustomer422Response: + type: object + properties: {} + example: {} + OrganisationsCreateUserForCustomer500Response: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisationResponse: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisation401Response: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisation403Response: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisation404Response: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisation422Response: + type: object + properties: {} + example: {} + OrganisationsDeleteOrganisation500Response: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisationResponse: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisation401Response: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisation403Response: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisation404Response: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisation422Response: + type: object + properties: {} + example: {} + OrganisationsUpdateOrganisation500Response: + type: object + properties: {} + example: {} + OrganisationconfigsCreateConfigForUserResponse: + type: object + properties: {} + example: {} + OrganisationconfigsCreateConfigForUser401Response: + type: object + properties: {} + example: {} + OrganisationconfigsCreateConfigForUser403Response: + type: object + properties: {} + example: {} + OrganisationconfigsCreateConfigForUser422Response: + type: object + properties: {} + example: {} + OrganisationconfigsCreateConfigForUser500Response: + type: object + properties: {} + example: {} + OrganisationconfigsDeleteResponse: + type: object + properties: {} + example: {} + OrganisationconfigsDelete401Response: + type: object + properties: {} + example: {} + OrganisationconfigsDelete403Response: + type: object + properties: {} + example: {} + OrganisationconfigsDelete404Response: + type: object + properties: {} + example: {} + OrganisationconfigsDelete422Response: + type: object + properties: {} + example: {} + OrganisationconfigsDelete500Response: + type: object + properties: {} + example: {} + OrganisationconfigsGetConfigResponse: + type: object + properties: {} + example: {} + OrganisationconfigsGetConfig401Response: + type: object + properties: {} + example: {} + OrganisationconfigsGetConfig403Response: + type: object + properties: {} + example: {} + OrganisationconfigsGetConfig422Response: + type: object + properties: {} + example: {} + OrganisationconfigsGetConfig500Response: + type: object + properties: {} + example: {} + OrganisationconfigsUpdateUserConfigResponse: + type: object + properties: {} + example: {} + OrganisationconfigsUpdateUserConfig401Response: + type: object + properties: {} + example: {} + OrganisationconfigsUpdateUserConfig403Response: + type: object + properties: {} + example: {} + OrganisationconfigsUpdateUserConfig422Response: + type: object + properties: {} + example: {} + OrganisationconfigsUpdateUserConfig500Response: + type: object + properties: {} + example: {} + OrganisationmembershipsGetAllResponse: + type: object + properties: {} + example: {} + OrganisationmembershipsGetAll401Response: + type: object + properties: {} + example: {} + OrganisationmembershipsGetAll403Response: + type: object + properties: {} + example: {} + OrganisationmembershipsGetAll422Response: + type: object + properties: {} + example: {} + OrganisationmembershipsGetAll500Response: + type: object + properties: {} + example: {} + OrganisationmembershipsCreateUserMembershipResponse: + type: object + properties: {} + example: {} + OrganisationmembershipsCreateUserMembership401Response: + type: object + properties: {} + example: {} + OrganisationmembershipsCreateUserMembership403Response: + type: object + properties: {} + example: {} + OrganisationmembershipsCreateUserMembership422Response: + type: object + properties: {} + example: {} + OrganisationmembershipsCreateUserMembership500Response: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembershipResponse: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembership401Response: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembership403Response: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembership404Response: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembership422Response: + type: object + properties: {} + example: {} + OrganisationmembershipsDeleteMembership500Response: + type: object + properties: {} + example: {} + OrganisationmembershipsUpdateMembershipResponse: + type: object + properties: {} + example: {} + OrganisationmembershipsUpdateMembership403Response: + type: object + properties: {} + example: {} + OrganisationmembershipsUpdateMembership422Response: + type: object + properties: {} + example: {} + OrganisationmembershipsUpdateMembership500Response: + type: object + properties: {} + example: {} + CustomeraccountsUpdateTimeAttributeSchemaResponse: + type: object + properties: {} + example: {} + CustomeraccountsUpdateTimeAttributeSchema401Response: + type: object + properties: {} + example: {} + CustomeraccountsUpdateTimeAttributeSchema403Response: + type: object + properties: {} + example: {} + CustomeraccountsUpdateTimeAttributeSchema404Response: + type: object + properties: {} + example: {} + CustomeraccountsUpdateTimeAttributeSchema500Response: + type: object + properties: {} + example: {} + CustomeraccountsGetAllUserAccountsResponse: + type: object + properties: {} + example: {} + CustomeraccountsGetAllUserAccounts401Response: + type: object + properties: {} + example: {} + CustomeraccountsGetAllUserAccounts403Response: + type: object + properties: {} + example: {} + CustomeraccountsGetAllUserAccounts404Response: + type: object + properties: {} + example: {} + CustomeraccountsGetAllUserAccounts500Response: + type: object + properties: {} + example: {} + CustomeraccountsGetCustomerAccountResponse: + type: object + properties: {} + example: {} + CustomeraccountsGetCustomerAccount401Response: + type: object + properties: {} + example: {} + CustomeraccountsGetCustomerAccount403Response: + type: object + properties: {} + example: {} + CustomeraccountsGetCustomerAccount404Response: + type: object + properties: {} + example: {} + CustomeraccountsGetCustomerAccount500Response: + type: object + properties: {} + example: {} + CustomerattributesschemasGetAllResponse: + type: object + properties: {} + example: {} + CustomerattributesschemasGetAll401Response: + type: object + properties: {} + example: {} + CustomerattributesschemasGetAll403Response: + type: object + properties: {} + example: {} + CustomerattributesschemasGetAll422Response: + type: object + properties: {} + example: {} + CustomerattributesschemasGetAll500Response: + type: object + properties: {} + example: {} + CustomerattributesschemasCreateSchemaResponse: + type: object + properties: {} + example: {} + CustomerattributesschemasCreateSchema401Response: + type: object + properties: {} + example: {} + CustomerattributesschemasCreateSchema403Response: + type: object + properties: {} + example: {} + CustomerattributesschemasCreateSchema422Response: + type: object + properties: {} + example: {} + CustomerattributesschemasCreateSchema500Response: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchemaResponse: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchema401Response: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchema403Response: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchema404Response: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchema422Response: + type: object + properties: {} + example: {} + CustomerattributesschemasShowSchema500Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsGetAllResponse: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsGetAll401Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsGetAll403Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsGetAll422Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsGetAll500Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsCreateMembershipResponse: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsCreateMembership401Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsCreateMembership403Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsCreateMembership422Response: + type: object + properties: {} + example: {} + CustomerattributesschemamembershipsCreateMembership500Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsGetConfigurationResponse: + type: object + properties: {} + example: {} + CustomeraccountconfigsGetConfiguration401Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsGetConfiguration500Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsCreateConfigurationResponse: + type: object + properties: {} + example: {} + CustomeraccountconfigsCreateConfiguration401Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsCreateConfiguration403Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsCreateConfiguration500Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsUpdateConfigurationResponse: + type: object + properties: {} + example: {} + CustomeraccountconfigsUpdateConfiguration401Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsUpdateConfiguration403Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsUpdateConfiguration404Response: + type: object + properties: {} + example: {} + CustomeraccountconfigsUpdateConfiguration500Response: + type: object + properties: {} + example: {} + CustomeraccountschemasGetAllResponse: + type: object + properties: {} + example: {} + CustomeraccountschemasGetAll401Response: + type: object + properties: {} + example: {} + CustomeraccountschemasGetAll403Response: + type: object + properties: {} + example: {} + CustomeraccountschemasGetAll422Response: + type: object + properties: {} + example: {} + CustomeraccountschemasGetAll500Response: + type: object + properties: {} + example: {} + CustomeraccountschemasCreateNewSchemaResponse: + type: object + properties: {} + example: {} + CustomeraccountschemasCreateNewSchema401Response: + type: object + properties: {} + example: {} + CustomeraccountschemasCreateNewSchema403Response: + type: object + properties: {} + example: {} + CustomeraccountschemasCreateNewSchema422Response: + type: object + properties: {} + example: {} + CustomeraccountschemasCreateNewSchema500Response: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchemaResponse: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchema401Response: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchema403Response: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchema404Response: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchema422Response: + type: object + properties: {} + example: {} + CustomeraccountschemasShowSchema500Response: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchemaResponse: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchema401Response: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchema403Response: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchema404Response: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchema422Response: + type: object + properties: {} + example: {} + CustomeraccountschemasUpdateSchema500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesGetCategoriesResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoriesGetCategories401Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesGetCategories500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesCreateAccountCategoryResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoriesCreateAccountCategory401Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesCreateAccountCategory403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesCreateAccountCategory422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesCreateAccountCategory500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesDeleteCategoryResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoriesDeleteCategory403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesDeleteCategory422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesDeleteCategory500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesUpdateCategoryResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoriesUpdateCategory403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesUpdateCategory422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoriesUpdateCategory500Response: + type: object + properties: {} + example: {} + ContractsGetAllContractsResponse: + type: object + properties: {} + example: {} + ContractsGetAllContracts401Response: + type: object + properties: {} + example: {} + ContractsGetAllContracts403Response: + type: object + properties: {} + example: {} + ContractsGetAllContracts422Response: + type: object + properties: {} + example: {} + ContractsGetAllContracts500Response: + type: object + properties: {} + example: {} + ContractsCreateNewContractResponse: + type: object + properties: {} + example: {} + ContractsCreateNewContract401Response: + type: object + properties: {} + example: {} + ContractsCreateNewContract403Response: + type: object + properties: {} + example: {} + ContractsCreateNewContract422Response: + type: object + properties: {} + example: {} + ContractsCreateNewContract500Response: + type: object + properties: {} + example: {} + ContractsDeleteContractResponse: + type: object + properties: {} + example: {} + ContractsDeleteContract401Response: + type: object + properties: {} + example: {} + ContractsDeleteContract403Response: + type: object + properties: {} + example: {} + ContractsDeleteContract404Response: + type: object + properties: {} + example: {} + ContractsDeleteContract422Response: + type: object + properties: {} + example: {} + ContractsDeleteContract500Response: + type: object + properties: {} + example: {} + ContractsShowContractResponse: + type: object + properties: {} + example: {} + ContractsShowContract401Response: + type: object + properties: {} + example: {} + ContractsShowContract403Response: + type: object + properties: {} + example: {} + ContractsShowContract404Response: + type: object + properties: {} + example: {} + ContractsShowContract422Response: + type: object + properties: {} + example: {} + ContractsShowContract500Response: + type: object + properties: {} + example: {} + ContractsUpdateContractResponse: + type: object + properties: {} + example: {} + ContractsUpdateContract401Response: + type: object + properties: {} + example: {} + ContractsUpdateContract403Response: + type: object + properties: {} + example: {} + ContractsUpdateContract404Response: + type: object + properties: {} + example: {} + ContractsUpdateContract422Response: + type: object + properties: {} + example: {} + ContractsUpdateContract500Response: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembershipResponse: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembership401Response: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembership403Response: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembership404Response: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembership422Response: + type: object + properties: {} + example: {} + ContractmembershipsDestroyMembership500Response: + type: object + properties: {} + example: {} + ContractmembershipsCreateMembershipInResponse: + type: object + properties: {} + example: {} + ContractmembershipsCreateMembershipIn401Response: + type: object + properties: {} + example: {} + ContractmembershipsCreateMembershipIn403Response: + type: object + properties: {} + example: {} + ContractmembershipsCreateMembershipIn422Response: + type: object + properties: {} + example: {} + ContractmembershipsCreateMembershipIn500Response: + type: object + properties: {} + example: {} + ContractmembershipcostsGetAllForMemberResponse: + type: object + properties: {} + example: {} + ContractmembershipcostsGetAllForMember401Response: + type: object + properties: {} + example: {} + ContractmembershipcostsGetAllForMember403Response: + type: object + properties: {} + example: {} + ContractmembershipcostsGetAllForMember422Response: + type: object + properties: {} + example: {} + ContractmembershipcostsGetAllForMember500Response: + type: object + properties: {} + example: {} + ContractmembershipcostsCreateNewMembershipCostResponse: + type: object + properties: {} + example: {} + ContractmembershipcostsCreateNewMembershipCost401Response: + type: object + properties: {} + example: {} + ContractmembershipcostsCreateNewMembershipCost403Response: + type: object + properties: {} + example: {} + ContractmembershipcostsCreateNewMembershipCost422Response: + type: object + properties: {} + example: {} + ContractmembershipcostsCreateNewMembershipCost500Response: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCostResponse: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCost401Response: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCost403Response: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCost404Response: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCost422Response: + type: object + properties: {} + example: {} + ContractmembershipcostsDeleteMembershipCost500Response: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCostResponse: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCost401Response: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCost403Response: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCost404Response: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCost422Response: + type: object + properties: {} + example: {} + ContractmembershipcostsShowMembershipCost500Response: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCostResponse: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCost401Response: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCost403Response: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCost404Response: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCost422Response: + type: object + properties: {} + example: {} + ContractmembershipcostsUpdateMembershipCost500Response: + type: object + properties: {} + example: {} + ContractadditionsGetAllForCurrentContractResponse: + type: object + properties: {} + example: {} + ContractadditionsGetAllForCurrentContract401Response: + type: object + properties: {} + example: {} + ContractadditionsGetAllForCurrentContract403Response: + type: object + properties: {} + example: {} + ContractadditionsGetAllForCurrentContract422Response: + type: object + properties: {} + example: {} + ContractadditionsGetAllForCurrentContract500Response: + type: object + properties: {} + example: {} + ContractadditionsCreateNewAdditionResponse: + type: object + properties: {} + example: {} + ContractadditionsCreateNewAddition401Response: + type: object + properties: {} + example: {} + ContractadditionsCreateNewAddition403Response: + type: object + properties: {} + example: {} + ContractadditionsCreateNewAddition422Response: + type: object + properties: {} + example: {} + ContractadditionsCreateNewAddition500Response: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAdditionResponse: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAddition401Response: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAddition403Response: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAddition404Response: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAddition422Response: + type: object + properties: {} + example: {} + ContractadditionsDeleteContractAddition500Response: + type: object + properties: {} + example: {} + ContractadditionsShowDetailResponse: + type: object + properties: {} + example: {} + ContractadditionsShowDetail401Response: + type: object + properties: {} + example: {} + ContractadditionsShowDetail403Response: + type: object + properties: {} + example: {} + ContractadditionsShowDetail404Response: + type: object + properties: {} + example: {} + ContractadditionsShowDetail422Response: + type: object + properties: {} + example: {} + ContractadditionsShowDetail500Response: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAdditionResponse: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAddition401Response: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAddition403Response: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAddition404Response: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAddition422Response: + type: object + properties: {} + example: {} + ContractadditionsUpdateContractAddition500Response: + type: object + properties: {} + example: {} + ContractgrantsGetAllForCurrentContractResponse: + type: object + properties: {} + example: {} + ContractgrantsGetAllForCurrentContract401Response: + type: object + properties: {} + example: {} + ContractgrantsGetAllForCurrentContract403Response: + type: object + properties: {} + example: {} + ContractgrantsGetAllForCurrentContract422Response: + type: object + properties: {} + example: {} + ContractgrantsGetAllForCurrentContract500Response: + type: object + properties: {} + example: {} + ContractgrantsCreateGrantResponse: + type: object + properties: {} + example: {} + ContractgrantsCreateGrant401Response: + type: object + properties: {} + example: {} + ContractgrantsCreateGrant403Response: + type: object + properties: {} + example: {} + ContractgrantsCreateGrant422Response: + type: object + properties: {} + example: {} + ContractgrantsCreateGrant500Response: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrantResponse: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrant401Response: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrant403Response: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrant404Response: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrant422Response: + type: object + properties: {} + example: {} + ContractgrantsDeleteGrant500Response: + type: object + properties: {} + example: {} + ContractgrantsShowGrantResponse: + type: object + properties: {} + example: {} + ContractgrantsShowGrant401Response: + type: object + properties: {} + example: {} + ContractgrantsShowGrant403Response: + type: object + properties: {} + example: {} + ContractgrantsShowGrant404Response: + type: object + properties: {} + example: {} + ContractgrantsShowGrant422Response: + type: object + properties: {} + example: {} + ContractgrantsShowGrant500Response: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrantResponse: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrant401Response: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrant403Response: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrant404Response: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrant422Response: + type: object + properties: {} + example: {} + ContractgrantsUpdateGrant500Response: + type: object + properties: {} + example: {} + SecuritydepositsCreateDepositResponse: + type: object + properties: {} + example: {} + SecuritydepositsCreateDeposit401Response: + type: object + properties: {} + example: {} + SecuritydepositsCreateDeposit403Response: + type: object + properties: {} + example: {} + SecuritydepositsCreateDeposit422Response: + type: object + properties: {} + example: {} + SecuritydepositsCreateDeposit500Response: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDepositResponse: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDeposit401Response: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDeposit403Response: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDeposit404Response: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDeposit422Response: + type: object + properties: {} + example: {} + SecuritydepositsDeleteDeposit500Response: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDepositResponse: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDeposit401Response: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDeposit403Response: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDeposit404Response: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDeposit422Response: + type: object + properties: {} + example: {} + SecuritydepositsUpdateSecurityDeposit500Response: + type: object + properties: {} + example: {} + CosttypesGetAllResponse: + type: object + properties: {} + example: {} + CosttypesGetAll401Response: + type: object + properties: {} + example: {} + CosttypesGetAll403Response: + type: object + properties: {} + example: {} + CosttypesGetAll422Response: + type: object + properties: {} + example: {} + CosttypesGetAll500Response: + type: object + properties: {} + example: {} + CosttypesCreateTypeOfCostResponse: + type: object + properties: {} + example: {} + CosttypesCreateTypeOfCost401Response: + type: object + properties: {} + example: {} + CosttypesCreateTypeOfCost403Response: + type: object + properties: {} + example: {} + CosttypesCreateTypeOfCost422Response: + type: object + properties: {} + example: {} + CosttypesCreateTypeOfCost500Response: + type: object + properties: {} + example: {} + CosttypesDeleteCostTypeResponse: + type: object + properties: {} + example: {} + CosttypesDeleteCostType401Response: + type: object + properties: {} + example: {} + CosttypesDeleteCostType403Response: + type: object + properties: {} + example: {} + CosttypesDeleteCostType404Response: + type: object + properties: {} + example: {} + CosttypesDeleteCostType422Response: + type: object + properties: {} + example: {} + CosttypesDeleteCostType500Response: + type: object + properties: {} + example: {} + CosttypesShowTypeResponse: + type: object + properties: {} + example: {} + CosttypesShowType401Response: + type: object + properties: {} + example: {} + CosttypesShowType403Response: + type: object + properties: {} + example: {} + CosttypesShowType404Response: + type: object + properties: {} + example: {} + CosttypesShowType422Response: + type: object + properties: {} + example: {} + CosttypesShowType500Response: + type: object + properties: {} + example: {} + CosttypesUpdateCostTypeResponse: + type: object + properties: {} + example: {} + CosttypesUpdateCostType401Response: + type: object + properties: {} + example: {} + CosttypesUpdateCostType403Response: + type: object + properties: {} + example: {} + CosttypesUpdateCostType404Response: + type: object + properties: {} + example: {} + CosttypesUpdateCostType422Response: + type: object + properties: {} + example: {} + CosttypesUpdateCostType500Response: + type: object + properties: {} + example: {} + PropertytypesGetAllAvailableResponse: + type: object + properties: {} + example: {} + PropertytypesGetAllAvailable401Response: + type: object + properties: {} + example: {} + PropertytypesGetAllAvailable403Response: + type: object + properties: {} + example: {} + PropertytypesGetAllAvailable422Response: + type: object + properties: {} + example: {} + PropertytypesGetAllAvailable500Response: + type: object + properties: {} + example: {} + PropertiesListForOrganisationResponse: + type: object + properties: {} + example: {} + PropertiesListForOrganisation401Response: + type: object + properties: {} + example: {} + PropertiesListForOrganisation403Response: + type: object + properties: {} + example: {} + PropertiesListForOrganisation422Response: + type: object + properties: {} + example: {} + PropertiesListForOrganisation500Response: + type: object + properties: {} + example: {} + PropertiesCreateForOrganisationResponse: + type: object + properties: {} + example: {} + PropertiesCreateForOrganisation403Response: + type: object + properties: {} + example: {} + PropertiesCreateForOrganisation422Response: + type: object + properties: {} + example: {} + PropertiesCreateForOrganisation500Response: + type: object + properties: {} + example: {} + PropertiesDeletePropertyWithinOrganisationResponse: + type: object + properties: {} + example: {} + PropertiesDeletePropertyWithinOrganisation403Response: + type: object + properties: {} + example: {} + PropertiesDeletePropertyWithinOrganisation422Response: + type: object + properties: {} + example: {} + PropertiesDeletePropertyWithinOrganisation500Response: + type: object + properties: {} + example: {} + PropertiesGetForOrganisationResponse: + type: object + properties: {} + example: {} + PropertiesGetForOrganisation403Response: + type: object + properties: {} + example: {} + PropertiesGetForOrganisation422Response: + type: object + properties: {} + example: {} + PropertiesGetForOrganisation500Response: + type: object + properties: {} + example: {} + PropertiesUpdateForOrganisationResponse: + type: object + properties: {} + example: {} + PropertiesUpdateForOrganisation403Response: + type: object + properties: {} + example: {} + PropertiesUpdateForOrganisation422Response: + type: object + properties: {} + example: {} + PropertiesUpdateForOrganisation500Response: + type: object + properties: {} + example: {} + PropertymanagersGetAllWithinCustomerResponse: + type: object + properties: {} + example: {} + PropertymanagersGetAllWithinCustomer401Response: + type: object + properties: {} + example: {} + PropertymanagersGetAllWithinCustomer403Response: + type: object + properties: {} + example: {} + PropertymanagersGetAllWithinCustomer422Response: + type: object + properties: {} + example: {} + PropertymanagersGetAllWithinCustomer500Response: + type: object + properties: {} + example: {} + PropertymanagersCreateNewManagerResponse: + type: object + properties: {} + example: {} + PropertymanagersCreateNewManager403Response: + type: object + properties: {} + example: {} + PropertymanagersCreateNewManager422Response: + type: object + properties: {} + example: {} + PropertymanagersCreateNewManager500Response: + type: object + properties: {} + example: {} + PropertymanagersDeleteManagerWithinAccountResponse: + type: object + properties: {} + example: {} + PropertymanagersDeleteManagerWithinAccount403Response: + type: object + properties: {} + example: {} + PropertymanagersDeleteManagerWithinAccount422Response: + type: object + properties: {} + example: {} + PropertymanagersDeleteManagerWithinAccount500Response: + type: object + properties: {} + example: {} + PropertymanagersGetCurrentManagerResponse: + type: object + properties: {} + example: {} + PropertymanagersGetCurrentManager403Response: + type: object + properties: {} + example: {} + PropertymanagersGetCurrentManager422Response: + type: object + properties: {} + example: {} + PropertymanagersGetCurrentManager500Response: + type: object + properties: {} + example: {} + PropertymanagersUpdateCurrentAccountUserResponse: + type: object + properties: {} + example: {} + PropertymanagersUpdateCurrentAccountUser403Response: + type: object + properties: {} + example: {} + PropertymanagersUpdateCurrentAccountUser422Response: + type: object + properties: {} + example: {} + PropertymanagersUpdateCurrentAccountUser500Response: + type: object + properties: {} + example: {} + LotsGetAllResponse: + type: object + properties: {} + example: {} + LotsGetAll401Response: + type: object + properties: {} + example: {} + LotsGetAll403Response: + type: object + properties: {} + example: {} + LotsGetAll422Response: + type: object + properties: {} + example: {} + LotsGetAll500Response: + type: object + properties: {} + example: {} + LotsCreateNewLotResponse: + type: object + properties: {} + example: {} + LotsCreateNewLot401Response: + type: object + properties: {} + example: {} + LotsCreateNewLot403Response: + type: object + properties: {} + example: {} + LotsCreateNewLot422Response: + type: object + properties: {} + example: {} + LotsCreateNewLot500Response: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisationResponse: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisation401Response: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisation403Response: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisation404Response: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisation422Response: + type: object + properties: {} + example: {} + LotsDeleteLotWithinOrganisation500Response: + type: object + properties: {} + example: {} + LotsShowLotResponse: + type: object + properties: {} + example: {} + LotsShowLot401Response: + type: object + properties: {} + example: {} + LotsShowLot403Response: + type: object + properties: {} + example: {} + LotsShowLot404Response: + type: object + properties: {} + example: {} + LotsShowLot422Response: + type: object + properties: {} + example: {} + LotsShowLot500Response: + type: object + properties: {} + example: {} + LotsUpdateLotResponse: + type: object + properties: {} + example: {} + LotsUpdateLot401Response: + type: object + properties: {} + example: {} + LotsUpdateLot403Response: + type: object + properties: {} + example: {} + LotsUpdateLot422Response: + type: object + properties: {} + example: {} + LotsUpdateLot500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllSettingsResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllSettings401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllSettings403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllSettings422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllSettings500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsCreateSettingsResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsCreateSettings401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsCreateSettings403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsCreateSettings422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsCreateSettings500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllFieldsResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllFields401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllFields403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllFields422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsGetAllFields500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSettingResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSetting401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSetting403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSetting404Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSetting422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsDeleteSetting500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSettingResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSetting401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSetting403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSetting404Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSetting422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsShowSetting500Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSettingResponse: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSetting401Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSetting403Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSetting404Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSetting422Response: + type: object + properties: {} + example: {} + BuildingfiltersettingsUpdateSetting500Response: + type: object + properties: {} + example: {} + BuildingsavefiltersGetAllFiltersResponse: + type: object + properties: {} + example: {} + BuildingsavefiltersGetAllFilters401Response: + type: object + properties: {} + example: {} + BuildingsavefiltersGetAllFilters403Response: + type: object + properties: {} + example: {} + BuildingsavefiltersGetAllFilters422Response: + type: object + properties: {} + example: {} + BuildingsavefiltersGetAllFilters500Response: + type: object + properties: {} + example: {} + BuildingsavefiltersCreateBuildingSaveFilterResponse: + type: object + properties: {} + example: {} + BuildingsavefiltersCreateBuildingSaveFilter401Response: + type: object + properties: {} + example: {} + BuildingsavefiltersCreateBuildingSaveFilter403Response: + type: object + properties: {} + example: {} + BuildingsavefiltersCreateBuildingSaveFilter422Response: + type: object + properties: {} + example: {} + BuildingsavefiltersCreateBuildingSaveFilter500Response: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilterResponse: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilter401Response: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilter403Response: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilter404Response: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilter422Response: + type: object + properties: {} + example: {} + BuildingsavefiltersDeleteSaveFilter500Response: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilterResponse: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilter401Response: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilter403Response: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilter404Response: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilter422Response: + type: object + properties: {} + example: {} + BuildingsavefiltersShowSaveFilter500Response: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilterResponse: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilter401Response: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilter403Response: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilter404Response: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilter422Response: + type: object + properties: {} + example: {} + BuildingsavefiltersUpdateSaveFilter500Response: + type: object + properties: {} + example: {} + BuildingtypesGetAllBuildingTypesResponse: + type: object + properties: {} + example: {} + BuildingtypesGetAllBuildingTypes401Response: + type: object + properties: {} + example: {} + BuildingtypesGetAllBuildingTypes403Response: + type: object + properties: {} + example: {} + BuildingtypesGetAllBuildingTypes422Response: + type: object + properties: {} + example: {} + BuildingtypesGetAllBuildingTypes500Response: + type: object + properties: {} + example: {} + BuildingsGetAllWithinOrganisationResponse: + type: object + properties: {} + example: {} + BuildingsGetAllWithinOrganisation401Response: + type: object + properties: {} + example: {} + BuildingsGetAllWithinOrganisation403Response: + type: object + properties: {} + example: {} + BuildingsGetAllWithinOrganisation422Response: + type: object + properties: {} + example: {} + BuildingsGetAllWithinOrganisation500Response: + type: object + properties: {} + example: {} + BuildingsCreateNewBuildingResponse: + type: object + properties: {} + example: {} + BuildingsCreateNewBuilding401Response: + type: object + properties: {} + example: {} + BuildingsCreateNewBuilding403Response: + type: object + properties: {} + example: {} + BuildingsCreateNewBuilding422Response: + type: object + properties: {} + example: {} + BuildingsCreateNewBuilding500Response: + type: object + properties: {} + example: {} + BuildingsDeleteBuildingResponse: + type: object + properties: {} + example: {} + BuildingsDeleteBuilding401Response: + type: object + properties: {} + example: {} + BuildingsDeleteBuilding403Response: + type: object + properties: {} + example: {} + BuildingsDeleteBuilding404Response: + type: object + properties: {} + example: {} + BuildingsDeleteBuilding422Response: + type: object + properties: {} + example: {} + BuildingsDeleteBuilding500Response: + type: object + properties: {} + example: {} + BuildingsShowBuildingResponse: + type: object + properties: {} + example: {} + BuildingsShowBuilding401Response: + type: object + properties: {} + example: {} + BuildingsShowBuilding403Response: + type: object + properties: {} + example: {} + BuildingsShowBuilding404Response: + type: object + properties: {} + example: {} + BuildingsShowBuilding422Response: + type: object + properties: {} + example: {} + BuildingsShowBuilding500Response: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributesResponse: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributes401Response: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributes403Response: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributes404Response: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributes422Response: + type: object + properties: {} + example: {} + BuildingsUpdateBuildingTimeDependentAttributes500Response: + type: object + properties: {} + example: {} + BuildingsListScorecardMembershipsResponse: + type: object + properties: {} + example: {} + BuildingsListScorecardMemberships401Response: + type: object + properties: {} + example: {} + BuildingsListScorecardMemberships403Response: + type: object + properties: {} + example: {} + BuildingsListScorecardMemberships404Response: + type: object + properties: {} + example: {} + BuildingsListScorecardMemberships422Response: + type: object + properties: {} + example: {} + BuildingsListScorecardMemberships500Response: + type: object + properties: {} + example: {} + BuildingunittypesGetAllResponse: + type: object + properties: {} + example: {} + BuildingunittypesGetAll401Response: + type: object + properties: {} + example: {} + BuildingunittypesGetAll403Response: + type: object + properties: {} + example: {} + BuildingunittypesGetAll422Response: + type: object + properties: {} + example: {} + BuildingunittypesGetAll500Response: + type: object + properties: {} + example: {} + BuildingunittypesCreateTypeResponse: + type: object + properties: {} + example: {} + BuildingunittypesCreateType401Response: + type: object + properties: {} + example: {} + BuildingunittypesCreateType403Response: + type: object + properties: {} + example: {} + BuildingunittypesCreateType422Response: + type: object + properties: {} + example: {} + BuildingunittypesCreateType500Response: + type: object + properties: {} + example: {} + BuildingunittypesDeleteResponse: + type: object + properties: {} + example: {} + BuildingunittypesDelete401Response: + type: object + properties: {} + example: {} + BuildingunittypesDelete403Response: + type: object + properties: {} + example: {} + BuildingunittypesDelete404Response: + type: object + properties: {} + example: {} + BuildingunittypesDelete422Response: + type: object + properties: {} + example: {} + BuildingunittypesDelete500Response: + type: object + properties: {} + example: {} + BuildingunittypesShowTypeResponse: + type: object + properties: {} + example: {} + BuildingunittypesShowType401Response: + type: object + properties: {} + example: {} + BuildingunittypesShowType403Response: + type: object + properties: {} + example: {} + BuildingunittypesShowType404Response: + type: object + properties: {} + example: {} + BuildingunittypesShowType422Response: + type: object + properties: {} + example: {} + BuildingunittypesShowType500Response: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitTypeResponse: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitType401Response: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitType403Response: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitType404Response: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitType422Response: + type: object + properties: {} + example: {} + BuildingunittypesUpdateBuildingUnitType500Response: + type: object + properties: {} + example: {} + BuildingunitsGetAllWithinOrganisationResponse: + type: object + properties: {} + example: {} + BuildingunitsGetAllWithinOrganisation401Response: + type: object + properties: {} + example: {} + BuildingunitsGetAllWithinOrganisation403Response: + type: object + properties: {} + example: {} + BuildingunitsGetAllWithinOrganisation422Response: + type: object + properties: {} + example: {} + BuildingunitsGetAllWithinOrganisation500Response: + type: object + properties: {} + example: {} + BuildingunitsCreateUnitResponse: + type: object + properties: {} + example: {} + BuildingunitsCreateUnit401Response: + type: object + properties: {} + example: {} + BuildingunitsCreateUnit403Response: + type: object + properties: {} + example: {} + BuildingunitsCreateUnit422Response: + type: object + properties: {} + example: {} + BuildingunitsCreateUnit500Response: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMembershipsResponse: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMemberships401Response: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMemberships403Response: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMemberships404Response: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMemberships422Response: + type: object + properties: {} + example: {} + BuildingunitsDestroyUnitAndMemberships500Response: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMembershipsResponse: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMemberships401Response: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMemberships403Response: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMemberships404Response: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMemberships422Response: + type: object + properties: {} + example: {} + BuildingunitsShowUnitMemberships500Response: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnitResponse: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnit401Response: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnit403Response: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnit404Response: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnit422Response: + type: object + properties: {} + example: {} + BuildingunitsUpdateUnit500Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembershipResponse: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembership401Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembership403Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembership404Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembership422Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsDestroyOrganisationMembership500Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsCreateMembershipInUnitResponse: + type: object + properties: {} + example: {} + BuildingunitmembershipsCreateMembershipInUnit401Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsCreateMembershipInUnit403Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsCreateMembershipInUnit422Response: + type: object + properties: {} + example: {} + BuildingunitmembershipsCreateMembershipInUnit500Response: + type: object + properties: {} + example: {} + BuildingenergiesGetBuildingEnergiesResponse: + type: object + properties: {} + example: {} + BuildingenergiesGetBuildingEnergies401Response: + type: object + properties: {} + example: {} + BuildingenergiesGetBuildingEnergies500Response: + type: object + properties: {} + example: {} + BuildingenergiesCreateEnergyResponse: + type: object + properties: {} + example: {} + BuildingenergiesCreateEnergy401Response: + type: object + properties: {} + example: {} + BuildingenergiesCreateEnergy403Response: + type: object + properties: {} + example: {} + BuildingenergiesCreateEnergy422Response: + type: object + properties: {} + example: {} + BuildingenergiesCreateEnergy500Response: + type: object + properties: {} + example: {} + BuildingenergiesUpdateEnergyResponse: + type: object + properties: {} + example: {} + BuildingenergiesUpdateEnergy403Response: + type: object + properties: {} + example: {} + BuildingenergiesUpdateEnergy422Response: + type: object + properties: {} + example: {} + BuildingenergiesUpdateEnergy500Response: + type: object + properties: {} + example: {} + BuildingsfinancesReturnBuildingFinancesResponse: + type: object + properties: {} + example: {} + BuildingsfinancesReturnBuildingFinances401Response: + type: object + properties: {} + example: {} + BuildingsfinancesReturnBuildingFinances500Response: + type: object + properties: {} + example: {} + BuildingsfinancesCreateFinanceResponse: + type: object + properties: {} + example: {} + BuildingsfinancesCreateFinance401Response: + type: object + properties: {} + example: {} + BuildingsfinancesCreateFinance403Response: + type: object + properties: {} + example: {} + BuildingsfinancesCreateFinance422Response: + type: object + properties: {} + example: {} + BuildingsfinancesCreateFinance500Response: + type: object + properties: {} + example: {} + BuildingsfinancesUpdateFinanceResponse: + type: object + properties: {} + example: {} + BuildingsfinancesUpdateFinance403Response: + type: object + properties: {} + example: {} + BuildingsfinancesUpdateFinance422Response: + type: object + properties: {} + example: {} + BuildingsfinancesUpdateFinance500Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesCreateFinanceResponse: + type: object + properties: {} + example: {} + BuildingunitsfinancesCreateFinance401Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesCreateFinance403Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesCreateFinance422Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesCreateFinance500Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesUpdateFinanceResponse: + type: object + properties: {} + example: {} + BuildingunitsfinancesUpdateFinance403Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesUpdateFinance422Response: + type: object + properties: {} + example: {} + BuildingunitsfinancesUpdateFinance500Response: + type: object + properties: {} + example: {} + BuildingfmsGetBuildingFmsResponse: + type: object + properties: {} + example: {} + BuildingfmsGetBuildingFms401Response: + type: object + properties: {} + example: {} + BuildingfmsGetBuildingFms500Response: + type: object + properties: {} + example: {} + BuildingfmsCreateBuildingFmResponse: + type: object + properties: {} + example: {} + BuildingfmsCreateBuildingFm401Response: + type: object + properties: {} + example: {} + BuildingfmsCreateBuildingFm403Response: + type: object + properties: {} + example: {} + BuildingfmsCreateBuildingFm422Response: + type: object + properties: {} + example: {} + BuildingfmsCreateBuildingFm500Response: + type: object + properties: {} + example: {} + BuildingfmsUpdateBuildingFmResponse: + type: object + properties: {} + example: {} + BuildingfmsUpdateBuildingFm403Response: + type: object + properties: {} + example: {} + BuildingfmsUpdateBuildingFm422Response: + type: object + properties: {} + example: {} + BuildingfmsUpdateBuildingFm500Response: + type: object + properties: {} + example: {} + BuildingunitretailsListResponse: + type: object + properties: {} + example: {} + BuildingunitretailsList401Response: + type: object + properties: {} + example: {} + BuildingunitretailsList500Response: + type: object + properties: {} + example: {} + BuildingunitretailsCreateRetailUnitResponse: + type: object + properties: {} + example: {} + BuildingunitretailsCreateRetailUnit401Response: + type: object + properties: {} + example: {} + BuildingunitretailsCreateRetailUnit403Response: + type: object + properties: {} + example: {} + BuildingunitretailsCreateRetailUnit422Response: + type: object + properties: {} + example: {} + BuildingunitretailsCreateRetailUnit500Response: + type: object + properties: {} + example: {} + BuildingunitretailsUpdateUnitRetailResponse: + type: object + properties: {} + example: {} + BuildingunitretailsUpdateUnitRetail403Response: + type: object + properties: {} + example: {} + BuildingunitretailsUpdateUnitRetail422Response: + type: object + properties: {} + example: {} + BuildingunitretailsUpdateUnitRetail500Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsGetBuildingUnitRetailsResponse: + type: object + properties: {} + example: {} + BuildingunitretailmetricsGetBuildingUnitRetails401Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsGetBuildingUnitRetails500Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsCreateMetricResponse: + type: object + properties: {} + example: {} + BuildingunitretailmetricsCreateMetric401Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsCreateMetric403Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsCreateMetric422Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsCreateMetric500Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsUpdateRetailBuildingUnitResponse: + type: object + properties: {} + example: {} + BuildingunitretailmetricsUpdateRetailBuildingUnit403Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsUpdateRetailBuildingUnit422Response: + type: object + properties: {} + example: {} + BuildingunitretailmetricsUpdateRetailBuildingUnit500Response: + type: object + properties: {} + example: {} + BuildingwatersGetBuildingWatersResponse: + type: object + properties: {} + example: {} + BuildingwatersGetBuildingWaters401Response: + type: object + properties: {} + example: {} + BuildingwatersGetBuildingWaters500Response: + type: object + properties: {} + example: {} + BuildingwatersCreateBuildingWaterResponse: + type: object + properties: {} + example: {} + BuildingwatersCreateBuildingWater401Response: + type: object + properties: {} + example: {} + BuildingwatersCreateBuildingWater403Response: + type: object + properties: {} + example: {} + BuildingwatersCreateBuildingWater422Response: + type: object + properties: {} + example: {} + BuildingwatersCreateBuildingWater500Response: + type: object + properties: {} + example: {} + BuildingwatersUpdateBuildingWaterResponse: + type: object + properties: {} + example: {} + BuildingwatersUpdateBuildingWater403Response: + type: object + properties: {} + example: {} + BuildingwatersUpdateBuildingWater422Response: + type: object + properties: {} + example: {} + BuildingwatersUpdateBuildingWater500Response: + type: object + properties: {} + example: {} + AddtlbuildingidsGetBuildingIdsResponse: + type: object + properties: {} + example: {} + AddtlbuildingidsGetBuildingIds401Response: + type: object + properties: {} + example: {} + AddtlbuildingidsGetBuildingIds500Response: + type: object + properties: {} + example: {} + AddtlbuildingidsCreateIdResponse: + type: object + properties: {} + example: {} + AddtlbuildingidsCreateId401Response: + type: object + properties: {} + example: {} + AddtlbuildingidsCreateId403Response: + type: object + properties: {} + example: {} + AddtlbuildingidsCreateId422Response: + type: object + properties: {} + example: {} + AddtlbuildingidsCreateId500Response: + type: object + properties: {} + example: {} + AddtlbuildingidsUpdateBuildingIdResponse: + type: object + properties: {} + example: {} + AddtlbuildingidsUpdateBuildingId403Response: + type: object + properties: {} + example: {} + AddtlbuildingidsUpdateBuildingId422Response: + type: object + properties: {} + example: {} + AddtlbuildingidsUpdateBuildingId500Response: + type: object + properties: {} + example: {} + PhasesGetBuildingPhasesResponse: + type: object + properties: {} + example: {} + PhasesGetBuildingPhases401Response: + type: object + properties: {} + example: {} + PhasesGetBuildingPhases500Response: + type: object + properties: {} + example: {} + PhasesCreatePhaseResponse: + type: object + properties: {} + example: {} + PhasesCreatePhase401Response: + type: object + properties: {} + example: {} + PhasesCreatePhase403Response: + type: object + properties: {} + example: {} + PhasesCreatePhase422Response: + type: object + properties: {} + example: {} + PhasesCreatePhase500Response: + type: object + properties: {} + example: {} + PhasesUpdatePhaseResponse: + type: object + properties: {} + example: {} + PhasesUpdatePhase403Response: + type: object + properties: {} + example: {} + PhasesUpdatePhase422Response: + type: object + properties: {} + example: {} + PhasesUpdatePhase500Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTrackersResponse: + type: object + properties: {} + example: {} + RenttrackersGetRentTrackers401Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTrackers500Response: + type: object + properties: {} + example: {} + RenttrackersCreateRentTrackerResponse: + type: object + properties: {} + example: {} + RenttrackersCreateRentTracker401Response: + type: object + properties: {} + example: {} + RenttrackersCreateRentTracker403Response: + type: object + properties: {} + example: {} + RenttrackersCreateRentTracker422Response: + type: object + properties: {} + example: {} + RenttrackersCreateRentTracker500Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTrackerResponse: + type: object + properties: {} + example: {} + RenttrackersGetRentTracker401Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTracker403Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTracker404Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTracker422Response: + type: object + properties: {} + example: {} + RenttrackersGetRentTracker500Response: + type: object + properties: {} + example: {} + RenttrackersUpdateRentTrackerResponse: + type: object + properties: {} + example: {} + RenttrackersUpdateRentTracker403Response: + type: object + properties: {} + example: {} + RenttrackersUpdateRentTracker422Response: + type: object + properties: {} + example: {} + RenttrackersUpdateRentTracker500Response: + type: object + properties: {} + example: {} + BuildingparkingsGetBuildingParkingsResponse: + type: object + properties: {} + example: {} + BuildingparkingsGetBuildingParkings401Response: + type: object + properties: {} + example: {} + BuildingparkingsGetBuildingParkings500Response: + type: object + properties: {} + example: {} + BuildingparkingsCreateNewParkingResponse: + type: object + properties: {} + example: {} + BuildingparkingsCreateNewParking401Response: + type: object + properties: {} + example: {} + BuildingparkingsCreateNewParking403Response: + type: object + properties: {} + example: {} + BuildingparkingsCreateNewParking422Response: + type: object + properties: {} + example: {} + BuildingparkingsCreateNewParking500Response: + type: object + properties: {} + example: {} + BuildingparkingsUpdateParkingResponse: + type: object + properties: {} + example: {} + BuildingparkingsUpdateParking403Response: + type: object + properties: {} + example: {} + BuildingparkingsUpdateParking422Response: + type: object + properties: {} + example: {} + BuildingparkingsUpdateParking500Response: + type: object + properties: {} + example: {} + BuildingareasGetBuildingAreasResponse: + type: object + properties: {} + example: {} + BuildingareasGetBuildingAreas401Response: + type: object + properties: {} + example: {} + BuildingareasGetBuildingAreas500Response: + type: object + properties: {} + example: {} + BuildingareasCreateNewBuildingAreaResponse: + type: object + properties: {} + example: {} + BuildingareasCreateNewBuildingArea401Response: + type: object + properties: {} + example: {} + BuildingareasCreateNewBuildingArea403Response: + type: object + properties: {} + example: {} + BuildingareasCreateNewBuildingArea422Response: + type: object + properties: {} + example: {} + BuildingareasCreateNewBuildingArea500Response: + type: object + properties: {} + example: {} + BuildingareasUpdateAreaResponse: + type: object + properties: {} + example: {} + BuildingareasUpdateArea403Response: + type: object + properties: {} + example: {} + BuildingareasUpdateArea422Response: + type: object + properties: {} + example: {} + BuildingareasUpdateArea500Response: + type: object + properties: {} + example: {} + BuildingunitareasGetBuildingAreasResponse: + type: object + properties: {} + example: {} + BuildingunitareasGetBuildingAreas401Response: + type: object + properties: {} + example: {} + BuildingunitareasGetBuildingAreas500Response: + type: object + properties: {} + example: {} + BuildingunitareasCreateAreaResponse: + type: object + properties: {} + example: {} + BuildingunitareasCreateArea401Response: + type: object + properties: {} + example: {} + BuildingunitareasCreateArea403Response: + type: object + properties: {} + example: {} + BuildingunitareasCreateArea422Response: + type: object + properties: {} + example: {} + BuildingunitareasCreateArea500Response: + type: object + properties: {} + example: {} + BuildingunitareasUpdateAreaResponse: + type: object + properties: {} + example: {} + BuildingunitareasUpdateArea403Response: + type: object + properties: {} + example: {} + BuildingunitareasUpdateArea422Response: + type: object + properties: {} + example: {} + BuildingunitareasUpdateArea500Response: + type: object + properties: {} + example: {} + BuildingunitplacesGetUnitPlacesResponse: + type: object + properties: {} + example: {} + BuildingunitplacesGetUnitPlaces401Response: + type: object + properties: {} + example: {} + BuildingunitplacesGetUnitPlaces500Response: + type: object + properties: {} + example: {} + BuildingunitplacesCreatePlaceResponse: + type: object + properties: {} + example: {} + BuildingunitplacesCreatePlace401Response: + type: object + properties: {} + example: {} + BuildingunitplacesCreatePlace403Response: + type: object + properties: {} + example: {} + BuildingunitplacesCreatePlace422Response: + type: object + properties: {} + example: {} + BuildingunitplacesCreatePlace500Response: + type: object + properties: {} + example: {} + BuildingunitplacesUpdatePlaceResponse: + type: object + properties: {} + example: {} + BuildingunitplacesUpdatePlace403Response: + type: object + properties: {} + example: {} + BuildingunitplacesUpdatePlace422Response: + type: object + properties: {} + example: {} + BuildingunitplacesUpdatePlace500Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsGetBuildingEnergiesResponse: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsGetBuildingEnergies401Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsGetBuildingEnergies500Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsCreateTimeboxedResponse: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsCreateTimeboxed401Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsCreateTimeboxed403Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsCreateTimeboxed422Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsCreateTimeboxed500Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsUpdateTimeboxedResponse: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsUpdateTimeboxed403Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsUpdateTimeboxed422Response: + type: object + properties: {} + example: {} + BuildingunitplacestimeboxedsUpdateTimeboxed500Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesReturnPropertiesResponse: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesReturnProperties401Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesReturnProperties500Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesCreateNewResponse: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesCreateNew401Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesCreateNew403Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesCreateNew422Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesCreateNew500Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesUpdatePropertyResponse: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesUpdateProperty403Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesUpdateProperty422Response: + type: object + properties: {} + example: {} + BuildingunitplacespropertiesUpdateProperty500Response: + type: object + properties: {} + example: {} + PeopleGetAllWithinOrganisationResponse: + type: object + properties: {} + example: {} + PeopleGetAllWithinOrganisation401Response: + type: object + properties: {} + example: {} + PeopleGetAllWithinOrganisation403Response: + type: object + properties: {} + example: {} + PeopleGetAllWithinOrganisation422Response: + type: object + properties: {} + example: {} + PeopleGetAllWithinOrganisation500Response: + type: object + properties: {} + example: {} + PeopleCreatePersonResponse: + type: object + properties: {} + example: {} + PeopleCreatePerson401Response: + type: object + properties: {} + example: {} + PeopleCreatePerson403Response: + type: object + properties: {} + example: {} + PeopleCreatePerson422Response: + type: object + properties: {} + example: {} + PeopleCreatePerson500Response: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisationResponse: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisation401Response: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisation403Response: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisation404Response: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisation422Response: + type: object + properties: {} + example: {} + PeopleDeletePersonWithinOrganisation500Response: + type: object + properties: {} + example: {} + PeopleShowPersonResponse: + type: object + properties: {} + example: {} + PeopleShowPerson401Response: + type: object + properties: {} + example: {} + PeopleShowPerson403Response: + type: object + properties: {} + example: {} + PeopleShowPerson404Response: + type: object + properties: {} + example: {} + PeopleShowPerson422Response: + type: object + properties: {} + example: {} + PeopleShowPerson500Response: + type: object + properties: {} + example: {} + PeopleUpdatePersonResponse: + type: object + properties: {} + example: {} + PeopleUpdatePerson401Response: + type: object + properties: {} + example: {} + PeopleUpdatePerson403Response: + type: object + properties: {} + example: {} + PeopleUpdatePerson422Response: + type: object + properties: {} + example: {} + PeopleUpdatePerson500Response: + type: object + properties: {} + example: {} + ReporttemplatesGetAllTemplatesResponse: + type: object + properties: {} + example: {} + ReporttemplatesGetAllTemplates401Response: + type: object + properties: {} + example: {} + ReporttemplatesGetAllTemplates403Response: + type: object + properties: {} + example: {} + ReporttemplatesGetAllTemplates422Response: + type: object + properties: {} + example: {} + ReporttemplatesGetAllTemplates500Response: + type: object + properties: {} + example: {} + ReporttemplatesCreateNewTemplateResponse: + type: object + properties: {} + example: {} + ReporttemplatesCreateNewTemplate401Response: + type: object + properties: {} + example: {} + ReporttemplatesCreateNewTemplate403Response: + type: object + properties: {} + example: {} + ReporttemplatesCreateNewTemplate422Response: + type: object + properties: {} + example: {} + ReporttemplatesCreateNewTemplate500Response: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplateResponse: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplate401Response: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplate403Response: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplate404Response: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplate422Response: + type: object + properties: {} + example: {} + ReporttemplatesDeleteReportTemplate500Response: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplateResponse: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplate401Response: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplate403Response: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplate404Response: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplate422Response: + type: object + properties: {} + example: {} + ReporttemplatesShowTemplate500Response: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplateResponse: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplate401Response: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplate403Response: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplate404Response: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplate422Response: + type: object + properties: {} + example: {} + ReporttemplatesUpdateTemplate500Response: + type: object + properties: {} + example: {} + ReportaccountschemasGetAllResponse: + type: object + properties: {} + example: {} + ReportaccountschemasGetAll401Response: + type: object + properties: {} + example: {} + ReportaccountschemasGetAll403Response: + type: object + properties: {} + example: {} + ReportaccountschemasGetAll422Response: + type: object + properties: {} + example: {} + ReportaccountschemasGetAll500Response: + type: object + properties: {} + example: {} + ReportaccountschemasCreateNewReportAccountSchemaResponse: + type: object + properties: {} + example: {} + ReportaccountschemasCreateNewReportAccountSchema401Response: + type: object + properties: {} + example: {} + ReportaccountschemasCreateNewReportAccountSchema403Response: + type: object + properties: {} + example: {} + ReportaccountschemasCreateNewReportAccountSchema422Response: + type: object + properties: {} + example: {} + ReportaccountschemasCreateNewReportAccountSchema500Response: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchemaResponse: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchema401Response: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchema403Response: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchema404Response: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchema422Response: + type: object + properties: {} + example: {} + ReportaccountschemasDeleteSchema500Response: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchemaResponse: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchema401Response: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchema403Response: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchema404Response: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchema422Response: + type: object + properties: {} + example: {} + ReportaccountschemasShowReportAccountSchema500Response: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchemaResponse: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchema401Response: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchema403Response: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchema404Response: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchema422Response: + type: object + properties: {} + example: {} + ReportaccountschemasUpdateSchema500Response: + type: object + properties: {} + example: {} + PersonmembershipsListWithinOrganisationResponse: + type: object + properties: {} + example: {} + PersonmembershipsListWithinOrganisation401Response: + type: object + properties: {} + example: {} + PersonmembershipsListWithinOrganisation403Response: + type: object + properties: {} + example: {} + PersonmembershipsListWithinOrganisation422Response: + type: object + properties: {} + example: {} + PersonmembershipsListWithinOrganisation500Response: + type: object + properties: {} + example: {} + PersonmembershipsCreateMembershipInPersonResponse: + type: object + properties: {} + example: {} + PersonmembershipsCreateMembershipInPerson401Response: + type: object + properties: {} + example: {} + PersonmembershipsCreateMembershipInPerson403Response: + type: object + properties: {} + example: {} + PersonmembershipsCreateMembershipInPerson422Response: + type: object + properties: {} + example: {} + PersonmembershipsCreateMembershipInPerson500Response: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembershipResponse: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembership401Response: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembership403Response: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembership404Response: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembership422Response: + type: object + properties: {} + example: {} + PersonmembershipsDestroyMembership500Response: + type: object + properties: {} + example: {} + LevelsGetAllResponse: + type: object + properties: {} + example: {} + LevelsGetAll401Response: + type: object + properties: {} + example: {} + LevelsGetAll403Response: + type: object + properties: {} + example: {} + LevelsGetAll422Response: + type: object + properties: {} + example: {} + LevelsGetAll500Response: + type: object + properties: {} + example: {} + LevelsCreateNewLevelResponse: + type: object + properties: {} + example: {} + LevelsCreateNewLevel401Response: + type: object + properties: {} + example: {} + LevelsCreateNewLevel403Response: + type: object + properties: {} + example: {} + LevelsCreateNewLevel422Response: + type: object + properties: {} + example: {} + LevelsCreateNewLevel500Response: + type: object + properties: {} + example: {} + LevelsDeleteLevelResponse: + type: object + properties: {} + example: {} + LevelsDeleteLevel401Response: + type: object + properties: {} + example: {} + LevelsDeleteLevel403Response: + type: object + properties: {} + example: {} + LevelsDeleteLevel404Response: + type: object + properties: {} + example: {} + LevelsDeleteLevel422Response: + type: object + properties: {} + example: {} + LevelsDeleteLevel500Response: + type: object + properties: {} + example: {} + LevelsShowLevelResponse: + type: object + properties: {} + example: {} + LevelsShowLevel401Response: + type: object + properties: {} + example: {} + LevelsShowLevel403Response: + type: object + properties: {} + example: {} + LevelsShowLevel404Response: + type: object + properties: {} + example: {} + LevelsShowLevel422Response: + type: object + properties: {} + example: {} + LevelsShowLevel500Response: + type: object + properties: {} + example: {} + LevelsUpdateLevelResponse: + type: object + properties: {} + example: {} + LevelsUpdateLevel401Response: + type: object + properties: {} + example: {} + LevelsUpdateLevel403Response: + type: object + properties: {} + example: {} + LevelsUpdateLevel404Response: + type: object + properties: {} + example: {} + LevelsUpdateLevel422Response: + type: object + properties: {} + example: {} + LevelsUpdateLevel500Response: + type: object + properties: {} + example: {} + RoomandzonetypesGetAllResponse: + type: object + properties: {} + example: {} + RoomandzonetypesGetAll401Response: + type: object + properties: {} + example: {} + RoomandzonetypesGetAll403Response: + type: object + properties: {} + example: {} + RoomandzonetypesGetAll422Response: + type: object + properties: {} + example: {} + RoomandzonetypesGetAll500Response: + type: object + properties: {} + example: {} + RoomsGetAllWithinOrganisationResponse: + type: object + properties: {} + example: {} + RoomsGetAllWithinOrganisation401Response: + type: object + properties: {} + example: {} + RoomsGetAllWithinOrganisation403Response: + type: object + properties: {} + example: {} + RoomsGetAllWithinOrganisation422Response: + type: object + properties: {} + example: {} + RoomsGetAllWithinOrganisation500Response: + type: object + properties: {} + example: {} + RoomsCreateRoomResponse: + type: object + properties: {} + example: {} + RoomsCreateRoom401Response: + type: object + properties: {} + example: {} + RoomsCreateRoom403Response: + type: object + properties: {} + example: {} + RoomsCreateRoom422Response: + type: object + properties: {} + example: {} + RoomsCreateRoom500Response: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisationResponse: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisation401Response: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisation403Response: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisation404Response: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisation422Response: + type: object + properties: {} + example: {} + RoomsDeleteRoomWithinOrganisation500Response: + type: object + properties: {} + example: {} + RoomsShowRoomResponse: + type: object + properties: {} + example: {} + RoomsShowRoom401Response: + type: object + properties: {} + example: {} + RoomsShowRoom403Response: + type: object + properties: {} + example: {} + RoomsShowRoom404Response: + type: object + properties: {} + example: {} + RoomsShowRoom422Response: + type: object + properties: {} + example: {} + RoomsShowRoom500Response: + type: object + properties: {} + example: {} + RoomsUpdateRoomResponse: + type: object + properties: {} + example: {} + RoomsUpdateRoom401Response: + type: object + properties: {} + example: {} + RoomsUpdateRoom403Response: + type: object + properties: {} + example: {} + RoomsUpdateRoom404Response: + type: object + properties: {} + example: {} + RoomsUpdateRoom422Response: + type: object + properties: {} + example: {} + RoomsUpdateRoom500Response: + type: object + properties: {} + example: {} + ZonesCreateZoneResponse: + type: object + properties: {} + example: {} + ZonesCreateZone401Response: + type: object + properties: {} + example: {} + ZonesCreateZone403Response: + type: object + properties: {} + example: {} + ZonesCreateZone422Response: + type: object + properties: {} + example: {} + ZonesCreateZone500Response: + type: object + properties: {} + example: {} + ZonesDeleteZoneResponse: + type: object + properties: {} + example: {} + ZonesDeleteZone401Response: + type: object + properties: {} + example: {} + ZonesDeleteZone403Response: + type: object + properties: {} + example: {} + ZonesDeleteZone404Response: + type: object + properties: {} + example: {} + ZonesDeleteZone422Response: + type: object + properties: {} + example: {} + ZonesDeleteZone500Response: + type: object + properties: {} + example: {} + ZonesUpdateZoneResponse: + type: object + properties: {} + example: {} + ZonesUpdateZone401Response: + type: object + properties: {} + example: {} + ZonesUpdateZone403Response: + type: object + properties: {} + example: {} + ZonesUpdateZone404Response: + type: object + properties: {} + example: {} + ZonesUpdateZone422Response: + type: object + properties: {} + example: {} + ZonesUpdateZone500Response: + type: object + properties: {} + example: {} + DepartmentsGetAllResponse: + type: object + properties: {} + example: {} + DepartmentsGetAll401Response: + type: object + properties: {} + example: {} + DepartmentsGetAll403Response: + type: object + properties: {} + example: {} + DepartmentsGetAll422Response: + type: object + properties: {} + example: {} + DepartmentsGetAll500Response: + type: object + properties: {} + example: {} + DepartmentsCreateNewDepartmentResponse: + type: object + properties: {} + example: {} + DepartmentsCreateNewDepartment401Response: + type: object + properties: {} + example: {} + DepartmentsCreateNewDepartment403Response: + type: object + properties: {} + example: {} + DepartmentsCreateNewDepartment422Response: + type: object + properties: {} + example: {} + DepartmentsCreateNewDepartment500Response: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeletedResponse: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeleted401Response: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeleted403Response: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeleted404Response: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeleted422Response: + type: object + properties: {} + example: {} + DepartmentsMarkAsDeleted500Response: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartmentResponse: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartment401Response: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartment403Response: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartment404Response: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartment422Response: + type: object + properties: {} + example: {} + DepartmentsUpdateDepartment500Response: + type: object + properties: {} + example: {} + ManufacturersGetAllResponse: + type: object + properties: {} + example: {} + ManufacturersGetAll401Response: + type: object + properties: {} + example: {} + ManufacturersGetAll403Response: + type: object + properties: {} + example: {} + ManufacturersGetAll422Response: + type: object + properties: {} + example: {} + ManufacturersGetAll500Response: + type: object + properties: {} + example: {} + ManufacturersCreateNewManufacturerResponse: + type: object + properties: {} + example: {} + ManufacturersCreateNewManufacturer401Response: + type: object + properties: {} + example: {} + ManufacturersCreateNewManufacturer403Response: + type: object + properties: {} + example: {} + ManufacturersCreateNewManufacturer422Response: + type: object + properties: {} + example: {} + ManufacturersCreateNewManufacturer500Response: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturerResponse: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturer401Response: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturer403Response: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturer404Response: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturer422Response: + type: object + properties: {} + example: {} + ManufacturersDeleteManufacturer500Response: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturerResponse: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturer401Response: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturer403Response: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturer404Response: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturer422Response: + type: object + properties: {} + example: {} + ManufacturersUpdateManufacturer500Response: + type: object + properties: {} + example: {} + ManufacturersListModelTypesResponse: + type: object + properties: {} + example: {} + ManufacturersListModelTypes401Response: + type: object + properties: {} + example: {} + ManufacturersListModelTypes403Response: + type: object + properties: {} + example: {} + ManufacturersListModelTypes422Response: + type: object + properties: {} + example: {} + ManufacturersListModelTypes500Response: + type: object + properties: {} + example: {} + ManufacturersCreateModelTypeResponse: + type: object + properties: {} + example: {} + ManufacturersCreateModelType401Response: + type: object + properties: {} + example: {} + ManufacturersCreateModelType403Response: + type: object + properties: {} + example: {} + ManufacturersCreateModelType422Response: + type: object + properties: {} + example: {} + ManufacturersCreateModelType500Response: + type: object + properties: {} + example: {} + ManufacturersDeleteModelTypeResponse: + type: object + properties: {} + example: {} + ManufacturersDeleteModelType401Response: + type: object + properties: {} + example: {} + ManufacturersDeleteModelType403Response: + type: object + properties: {} + example: {} + ManufacturersDeleteModelType404Response: + type: object + properties: {} + example: {} + ManufacturersDeleteModelType422Response: + type: object + properties: {} + example: {} + ManufacturersDeleteModelType500Response: + type: object + properties: {} + example: {} + ManufacturersUpdateModelTypeResponse: + type: object + properties: {} + example: {} + ManufacturersUpdateModelType401Response: + type: object + properties: {} + example: {} + ManufacturersUpdateModelType403Response: + type: object + properties: {} + example: {} + ManufacturersUpdateModelType404Response: + type: object + properties: {} + example: {} + ManufacturersUpdateModelType422Response: + type: object + properties: {} + example: {} + ManufacturersUpdateModelType500Response: + type: object + properties: {} + example: {} + FacilitytypesGetAllResponse: + type: object + properties: {} + example: {} + FacilitytypesGetAll401Response: + type: object + properties: {} + example: {} + FacilitytypesGetAll403Response: + type: object + properties: {} + example: {} + FacilitytypesGetAll422Response: + type: object + properties: {} + example: {} + FacilitytypesGetAll500Response: + type: object + properties: {} + example: {} + FacilitytypesGetAll200Response: + type: object + properties: {} + example: {} + FacilitytypesShowTypeResponse: + type: object + properties: {} + example: {} + FacilitytypesShowType401Response: + type: object + properties: {} + example: {} + FacilitytypesShowType403Response: + type: object + properties: {} + example: {} + FacilitytypesShowType404Response: + type: object + properties: {} + example: {} + FacilitytypesShowType422Response: + type: object + properties: {} + example: {} + FacilitytypesShowType500Response: + type: object + properties: {} + example: {} + FacilitiesGetAllWithinOrganisationResponse: + type: object + properties: {} + example: {} + FacilitiesGetAllWithinOrganisation401Response: + type: object + properties: {} + example: {} + FacilitiesGetAllWithinOrganisation403Response: + type: object + properties: {} + example: {} + FacilitiesGetAllWithinOrganisation422Response: + type: object + properties: {} + example: {} + FacilitiesGetAllWithinOrganisation500Response: + type: object + properties: {} + example: {} + FacilitiesCreateFacilityResponse: + type: object + properties: {} + example: {} + FacilitiesCreateFacility401Response: + type: object + properties: {} + example: {} + FacilitiesCreateFacility403Response: + type: object + properties: {} + example: {} + FacilitiesCreateFacility422Response: + type: object + properties: {} + example: {} + FacilitiesCreateFacility500Response: + type: object + properties: {} + example: {} + FacilitiesDeleteFacilityResponse: + type: object + properties: {} + example: {} + FacilitiesDeleteFacility401Response: + type: object + properties: {} + example: {} + FacilitiesDeleteFacility403Response: + type: object + properties: {} + example: {} + FacilitiesDeleteFacility404Response: + type: object + properties: {} + example: {} + FacilitiesDeleteFacility422Response: + type: object + properties: {} + example: {} + FacilitiesDeleteFacility500Response: + type: object + properties: {} + example: {} + FacilitiesShowFacilityResponse: + type: object + properties: {} + example: {} + FacilitiesShowFacility401Response: + type: object + properties: {} + example: {} + FacilitiesShowFacility403Response: + type: object + properties: {} + example: {} + FacilitiesShowFacility404Response: + type: object + properties: {} + example: {} + FacilitiesShowFacility422Response: + type: object + properties: {} + example: {} + FacilitiesShowFacility500Response: + type: object + properties: {} + example: {} + FacilitiesUpdateFacilityResponse: + type: object + properties: {} + example: {} + FacilitiesUpdateFacility401Response: + type: object + properties: {} + example: {} + FacilitiesUpdateFacility403Response: + type: object + properties: {} + example: {} + FacilitiesUpdateFacility404Response: + type: object + properties: {} + example: {} + FacilitiesUpdateFacility422Response: + type: object + properties: {} + example: {} + FacilitiesUpdateFacility500Response: + type: object + properties: {} + example: {} + ActivitiesListWithFiltersResponse: + type: object + properties: {} + example: {} + ActivitiesListWithFilters401Response: + type: object + properties: {} + example: {} + ActivitiesListWithFilters403Response: + type: object + properties: {} + example: {} + ActivitiesListWithFilters422Response: + type: object + properties: {} + example: {} + ActivitiesListWithFilters500Response: + type: object + properties: {} + example: {} + ActivitiesCreateActivityResponse: + type: object + properties: {} + example: {} + ActivitiesCreateActivity401Response: + type: object + properties: {} + example: {} + ActivitiesCreateActivity403Response: + type: object + properties: {} + example: {} + ActivitiesCreateActivity422Response: + type: object + properties: {} + example: {} + ActivitiesCreateActivity500Response: + type: object + properties: {} + example: {} + ActivitiesRemoveActivityResponse: + type: object + properties: {} + example: {} + ActivitiesRemoveActivity403Response: + type: object + properties: {} + example: {} + ActivitiesRemoveActivity422Response: + type: object + properties: {} + example: {} + ActivitiesRemoveActivity500Response: + type: object + properties: {} + example: {} + ActivitiesShowActivityResponse: + type: object + properties: {} + example: {} + ActivitiesShowActivity401Response: + type: object + properties: {} + example: {} + ActivitiesShowActivity403Response: + type: object + properties: {} + example: {} + ActivitiesShowActivity404Response: + type: object + properties: {} + example: {} + ActivitiesShowActivity422Response: + type: object + properties: {} + example: {} + ActivitiesShowActivity500Response: + type: object + properties: {} + example: {} + ActivitiesUpdateActivityResponse: + type: object + properties: {} + example: {} + ActivitiesUpdateActivity403Response: + type: object + properties: {} + example: {} + ActivitiesUpdateActivity422Response: + type: object + properties: {} + example: {} + ActivitiesUpdateActivity500Response: + type: object + properties: {} + example: {} + ActivitiesShowActivity200Response: + type: object + properties: {} + example: {} + ActivitytypesGetAllResponse: + type: object + properties: {} + example: {} + ActivitytypesGetAll401Response: + type: object + properties: {} + example: {} + ActivitytypesGetAll403Response: + type: object + properties: {} + example: {} + ActivitytypesGetAll422Response: + type: object + properties: {} + example: {} + ActivitytypesGetAll500Response: + type: object + properties: {} + example: {} + ActivitytypesCreateActivityResponse: + type: object + properties: {} + example: {} + ActivitytypesCreateActivity401Response: + type: object + properties: {} + example: {} + ActivitytypesCreateActivity403Response: + type: object + properties: {} + example: {} + ActivitytypesCreateActivity422Response: + type: object + properties: {} + example: {} + ActivitytypesCreateActivity500Response: + type: object + properties: {} + example: {} + ActivitytypesDeleteActivityTypeResponse: + type: object + properties: {} + example: {} + ActivitytypesDeleteActivityType403Response: + type: object + properties: {} + example: {} + ActivitytypesDeleteActivityType422Response: + type: object + properties: {} + example: {} + ActivitytypesDeleteActivityType500Response: + type: object + properties: {} + example: {} + ActivitytypesShowActivityTypeResponse: + type: object + properties: {} + example: {} + ActivitytypesShowActivityType401Response: + type: object + properties: {} + example: {} + ActivitytypesShowActivityType403Response: + type: object + properties: {} + example: {} + ActivitytypesShowActivityType404Response: + type: object + properties: {} + example: {} + ActivitytypesShowActivityType422Response: + type: object + properties: {} + example: {} + ActivitytypesShowActivityType500Response: + type: object + properties: {} + example: {} + ActivitytypesUpdateTypeResponse: + type: object + properties: {} + example: {} + ActivitytypesUpdateType403Response: + type: object + properties: {} + example: {} + ActivitytypesUpdateType422Response: + type: object + properties: {} + example: {} + ActivitytypesUpdateType500Response: + type: object + properties: {} + example: {} + AttachmentsCreateNewAttachmentResponse: + type: object + properties: {} + example: {} + AttachmentsCreateNewAttachment401Response: + type: object + properties: {} + example: {} + AttachmentsCreateNewAttachment403Response: + type: object + properties: {} + example: {} + AttachmentsCreateNewAttachment422Response: + type: object + properties: {} + example: {} + AttachmentsCreateNewAttachment500Response: + type: object + properties: {} + example: {} + AttachmentsDuplicateAttachmentResponse: + type: object + properties: {} + example: {} + AttachmentsDuplicateAttachment401Response: + type: object + properties: {} + example: {} + AttachmentsDuplicateAttachment403Response: + type: object + properties: {} + example: {} + AttachmentsDuplicateAttachment422Response: + type: object + properties: {} + example: {} + AttachmentsDuplicateAttachment500Response: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeletedResponse: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeleted401Response: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeleted403Response: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeleted404Response: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeleted422Response: + type: object + properties: {} + example: {} + AttachmentsMarkAsDeleted500Response: + type: object + properties: {} + example: {} + ImagesCreateImageResponse: + type: object + properties: {} + example: {} + ImagesCreateImage401Response: + type: object + properties: {} + example: {} + ImagesCreateImage403Response: + type: object + properties: {} + example: {} + ImagesCreateImage422Response: + type: object + properties: {} + example: {} + ImagesCreateImage500Response: + type: object + properties: {} + example: {} + ImagesMarkAsDeletedResponse: + type: object + properties: {} + example: {} + ImagesMarkAsDeleted401Response: + type: object + properties: {} + example: {} + ImagesMarkAsDeleted403Response: + type: object + properties: {} + example: {} + ImagesMarkAsDeleted404Response: + type: object + properties: {} + example: {} + ImagesMarkAsDeleted422Response: + type: object + properties: {} + example: {} + ImagesMarkAsDeleted500Response: + type: object + properties: {} + example: {} + ImagesUpdateImageResponse: + type: object + properties: {} + example: {} + ImagesUpdateImage401Response: + type: object + properties: {} + example: {} + ImagesUpdateImage403Response: + type: object + properties: {} + example: {} + ImagesUpdateImage404Response: + type: object + properties: {} + example: {} + ImagesUpdateImage422Response: + type: object + properties: {} + example: {} + ImagesUpdateImage500Response: + type: object + properties: {} + example: {} + TimedependentattributesGetAllWithinParentResponse: + type: object + properties: {} + example: {} + TimedependentattributesGetAllWithinParent401Response: + type: object + properties: {} + example: {} + TimedependentattributesGetAllWithinParent403Response: + type: object + properties: {} + example: {} + TimedependentattributesGetAllWithinParent422Response: + type: object + properties: {} + example: {} + TimedependentattributesGetAllWithinParent500Response: + type: object + properties: {} + example: {} + TimedependentattributesCreateAttributeResponse: + type: object + properties: {} + example: {} + TimedependentattributesCreateAttribute401Response: + type: object + properties: {} + example: {} + TimedependentattributesCreateAttribute403Response: + type: object + properties: {} + example: {} + TimedependentattributesCreateAttribute422Response: + type: object + properties: {} + example: {} + TimedependentattributesCreateAttribute500Response: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttributeResponse: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttribute401Response: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttribute403Response: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttribute404Response: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttribute422Response: + type: object + properties: {} + example: {} + TimedependentattributesDeleteTimeDependentAttribute500Response: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttributeResponse: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttribute401Response: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttribute403Response: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttribute404Response: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttribute422Response: + type: object + properties: {} + example: {} + TimedependentattributesUpdateAttribute500Response: + type: object + properties: {} + example: {} + WebhooksGetAllResponse: + type: object + properties: {} + example: {} + WebhooksGetAll401Response: + type: object + properties: {} + example: {} + WebhooksGetAll403Response: + type: object + properties: {} + example: {} + WebhooksGetAll422Response: + type: object + properties: {} + example: {} + WebhooksGetAll500Response: + type: object + properties: {} + example: {} + WebhooksCreateNewWebhookResponse: + type: object + properties: {} + example: {} + WebhooksCreateNewWebhook401Response: + type: object + properties: {} + example: {} + WebhooksCreateNewWebhook403Response: + type: object + properties: {} + example: {} + WebhooksCreateNewWebhook422Response: + type: object + properties: {} + example: {} + WebhooksCreateNewWebhook500Response: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookByIdResponse: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookById401Response: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookById403Response: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookById404Response: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookById422Response: + type: object + properties: {} + example: {} + WebhooksDeleteWebhookById500Response: + type: object + properties: {} + example: {} + WebhooksShowWebhookResponse: + type: object + properties: {} + example: {} + WebhooksShowWebhook401Response: + type: object + properties: {} + example: {} + WebhooksShowWebhook403Response: + type: object + properties: {} + example: {} + WebhooksShowWebhook404Response: + type: object + properties: {} + example: {} + WebhooksShowWebhook422Response: + type: object + properties: {} + example: {} + WebhooksShowWebhook500Response: + type: object + properties: {} + example: {} + WebhooksUpdateWebhookResponse: + type: object + properties: {} + example: {} + WebhooksUpdateWebhook401Response: + type: object + properties: {} + example: {} + WebhooksUpdateWebhook403Response: + type: object + properties: {} + example: {} + WebhooksUpdateWebhook422Response: + type: object + properties: {} + example: {} + WebhooksUpdateWebhook500Response: + type: object + properties: {} + example: {} + TagsGetAllTagsWithCountsResponse: + type: object + properties: {} + example: {} + TagsGetAllTagsWithCounts401Response: + type: object + properties: {} + example: {} + TagsGetAllTagsWithCounts403Response: + type: object + properties: {} + example: {} + TagsGetAllTagsWithCounts422Response: + type: object + properties: {} + example: {} + TagsGetAllTagsWithCounts500Response: + type: object + properties: {} + example: {} + TagsCreateTagResponse: + type: object + properties: {} + example: {} + TagsCreateTag401Response: + type: object + properties: {} + example: {} + TagsCreateTag403Response: + type: object + properties: {} + example: {} + TagsCreateTag422Response: + type: object + properties: {} + example: {} + TagsCreateTag500Response: + type: object + properties: {} + example: {} + TagsMarkAsDeletedResponse: + type: object + properties: {} + example: {} + TagsMarkAsDeleted401Response: + type: object + properties: {} + example: {} + TagsMarkAsDeleted403Response: + type: object + properties: {} + example: {} + TagsMarkAsDeleted404Response: + type: object + properties: {} + example: {} + TagsMarkAsDeleted422Response: + type: object + properties: {} + example: {} + TagsMarkAsDeleted500Response: + type: object + properties: {} + example: {} + TagsUpdateTagResponse: + type: object + properties: {} + example: {} + TagsUpdateTag403Response: + type: object + properties: {} + example: {} + TagsUpdateTag422Response: + type: object + properties: {} + example: {} + TagsUpdateTag500Response: + type: object + properties: {} + example: {} + TagsMergeMasterTagsResponse: + type: object + properties: {} + example: {} + TagsMergeMasterTags401Response: + type: object + properties: {} + example: {} + TagsMergeMasterTags403Response: + type: object + properties: {} + example: {} + TagsMergeMasterTags422Response: + type: object + properties: {} + example: {} + TagsMergeMasterTags500Response: + type: object + properties: {} + example: {} + TagsAssignBuildingsResponse: + type: object + properties: {} + example: {} + TagsAssignBuildings401Response: + type: object + properties: {} + example: {} + TagsAssignBuildings403Response: + type: object + properties: {} + example: {} + TagsAssignBuildings422Response: + type: object + properties: {} + example: {} + TagsAssignBuildings500Response: + type: object + properties: {} + example: {} + CsvimportsGetAllImportsResponse: + type: object + properties: {} + example: {} + CsvimportsGetAllImports401Response: + type: object + properties: {} + example: {} + CsvimportsGetAllImports500Response: + type: object + properties: {} + example: {} + CsvimportsCreateByFileResponse: + type: object + properties: {} + example: {} + CsvimportsCreateByFile403Response: + type: object + properties: {} + example: {} + CsvimportsCreateByFile422Response: + type: object + properties: {} + example: {} + CsvimportsCreateByFile500Response: + type: object + properties: {} + example: {} + CsvimportsGetInfoResponse: + type: object + properties: {} + example: {} + CsvimportsGetInfo401Response: + type: object + properties: {} + example: {} + CsvimportsGetInfo403Response: + type: object + properties: {} + example: {} + CsvimportsGetInfo404Response: + type: object + properties: {} + example: {} + CsvimportsGetInfo422Response: + type: object + properties: {} + example: {} + CsvimportsGetInfo500Response: + type: object + properties: {} + example: {} + CsvimportsUpdateImportResponse: + type: object + properties: {} + example: {} + CsvimportsUpdateImport403Response: + type: object + properties: {} + example: {} + CsvimportsUpdateImport422Response: + type: object + properties: {} + example: {} + CsvimportsUpdateImport500Response: + type: object + properties: {} + example: {} + ScorecardsListAllScorecardsResponse: + type: object + properties: {} + example: {} + ScorecardsListAllScorecards401Response: + type: object + properties: {} + example: {} + ScorecardsListAllScorecards403Response: + type: object + properties: {} + example: {} + ScorecardsListAllScorecards422Response: + type: object + properties: {} + example: {} + ScorecardsListAllScorecards500Response: + type: object + properties: {} + example: {} + ScorecardsCreateNewScorecardResponse: + type: object + properties: {} + example: {} + ScorecardsCreateNewScorecard401Response: + type: object + properties: {} + example: {} + ScorecardsCreateNewScorecard403Response: + type: object + properties: {} + example: {} + ScorecardsCreateNewScorecard422Response: + type: object + properties: {} + example: {} + ScorecardsCreateNewScorecard500Response: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccountResponse: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccount401Response: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccount403Response: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccount404Response: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccount422Response: + type: object + properties: {} + example: {} + ScorecardsDeleteWithinAccount500Response: + type: object + properties: {} + example: {} + ScorecardsShowDetailsResponse: + type: object + properties: {} + example: {} + ScorecardsShowDetails401Response: + type: object + properties: {} + example: {} + ScorecardsShowDetails403Response: + type: object + properties: {} + example: {} + ScorecardsShowDetails404Response: + type: object + properties: {} + example: {} + ScorecardsShowDetails422Response: + type: object + properties: {} + example: {} + ScorecardsShowDetails500Response: + type: object + properties: {} + example: {} + ScorecardsUpdateScorecardResponse: + type: object + properties: {} + example: {} + ScorecardsUpdateScorecard401Response: + type: object + properties: {} + example: {} + ScorecardsUpdateScorecard403Response: + type: object + properties: {} + example: {} + ScorecardsUpdateScorecard422Response: + type: object + properties: {} + example: {} + ScorecardsUpdateScorecard500Response: + type: object + properties: {} + example: {} + ScorecardsegmentsCreateNewSegmentResponse: + type: object + properties: {} + example: {} + ScorecardsegmentsCreateNewSegment401Response: + type: object + properties: {} + example: {} + ScorecardsegmentsCreateNewSegment403Response: + type: object + properties: {} + example: {} + ScorecardsegmentsCreateNewSegment422Response: + type: object + properties: {} + example: {} + ScorecardsegmentsCreateNewSegment500Response: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegmentResponse: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegment401Response: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegment403Response: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegment404Response: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegment422Response: + type: object + properties: {} + example: {} + ScorecardsegmentsDeleteSegment500Response: + type: object + properties: {} + example: {} + ScorecardsegmentsUpdateSegmentResponse: + type: object + properties: {} + example: {} + ScorecardsegmentsUpdateSegment401Response: + type: object + properties: {} + example: {} + ScorecardsegmentsUpdateSegment403Response: + type: object + properties: {} + example: {} + ScorecardsegmentsUpdateSegment422Response: + type: object + properties: {} + example: {} + ScorecardsegmentsUpdateSegment500Response: + type: object + properties: {} + example: {} + ScorecardtopicsCreateNewTopicResponse: + type: object + properties: {} + example: {} + ScorecardtopicsCreateNewTopic401Response: + type: object + properties: {} + example: {} + ScorecardtopicsCreateNewTopic403Response: + type: object + properties: {} + example: {} + ScorecardtopicsCreateNewTopic422Response: + type: object + properties: {} + example: {} + ScorecardtopicsCreateNewTopic500Response: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopicResponse: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopic401Response: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopic403Response: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopic404Response: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopic422Response: + type: object + properties: {} + example: {} + ScorecardtopicsDeleteTopic500Response: + type: object + properties: {} + example: {} + ScorecardtopicsUpdateTopicResponse: + type: object + properties: {} + example: {} + ScorecardtopicsUpdateTopic401Response: + type: object + properties: {} + example: {} + ScorecardtopicsUpdateTopic403Response: + type: object + properties: {} + example: {} + ScorecardtopicsUpdateTopic422Response: + type: object + properties: {} + example: {} + ScorecardtopicsUpdateTopic500Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsCreateSubtopicResponse: + type: object + properties: {} + example: {} + ScorecardsubtopicsCreateSubtopic401Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsCreateSubtopic403Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsCreateSubtopic422Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsCreateSubtopic500Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopicResponse: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopic401Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopic403Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopic404Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopic422Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsDeleteSubtopic500Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsUpdateSubtopicResponse: + type: object + properties: {} + example: {} + ScorecardsubtopicsUpdateSubtopic401Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsUpdateSubtopic403Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsUpdateSubtopic422Response: + type: object + properties: {} + example: {} + ScorecardsubtopicsUpdateSubtopic500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeAssignResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsDeAssign401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeAssign403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeAssign422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeAssign500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsListAllScorecardMembershipsResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsListAllScorecardMemberships401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsListAllScorecardMemberships403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsListAllScorecardMemberships422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsListAllScorecardMemberships500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCreateMembershipResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsCreateMembership401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCreateMembership403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCreateMembership422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCreateMembership500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembershipResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembership401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembership403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembership404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembership422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsDeleteMembership500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembershipResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembership401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembership403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembership404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembership422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsShowMembership500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembershipResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembership401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembership403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembership404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembership422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshMembership500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScoresResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScores401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScores403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScores404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScores422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshScores500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParentResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParent401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParent403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParent404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParent422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsRefreshAllByParent500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCostsResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCosts401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCosts403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCosts404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCosts422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCalculateCosts500Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIdsResponse: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIds401Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIds403Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIds404Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIds422Response: + type: object + properties: {} + example: {} + ScorecardmembershipsCountBuildingsByScorecardIds500Response: + type: object + properties: {} + example: {} + ScorecardassignersGetAllResponse: + type: object + properties: {} + example: {} + ScorecardassignersGetAll401Response: + type: object + properties: {} + example: {} + ScorecardassignersGetAll403Response: + type: object + properties: {} + example: {} + ScorecardassignersGetAll422Response: + type: object + properties: {} + example: {} + ScorecardassignersGetAll500Response: + type: object + properties: {} + example: {} + ScorecardassignersCreateNewScorecardAssignerResponse: + type: object + properties: {} + example: {} + ScorecardassignersCreateNewScorecardAssigner401Response: + type: object + properties: {} + example: {} + ScorecardassignersCreateNewScorecardAssigner403Response: + type: object + properties: {} + example: {} + ScorecardassignersCreateNewScorecardAssigner422Response: + type: object + properties: {} + example: {} + ScorecardassignersCreateNewScorecardAssigner500Response: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssignerResponse: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssigner401Response: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssigner403Response: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssigner404Response: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssigner422Response: + type: object + properties: {} + example: {} + ScorecardassignersDeleteScorecardAssigner500Response: + type: object + properties: {} + example: {} + ScorecardassignersShowResponse: + type: object + properties: {} + example: {} + ScorecardassignersShow401Response: + type: object + properties: {} + example: {} + ScorecardassignersShow403Response: + type: object + properties: {} + example: {} + ScorecardassignersShow404Response: + type: object + properties: {} + example: {} + ScorecardassignersShow422Response: + type: object + properties: {} + example: {} + ScorecardassignersShow500Response: + type: object + properties: {} + example: {} + DatacatalogsGetAllResponse: + type: object + properties: {} + example: {} + DatacatalogsGetAll401Response: + type: object + properties: {} + example: {} + DatacatalogsGetAll403Response: + type: object + properties: {} + example: {} + DatacatalogsGetAll422Response: + type: object + properties: {} + example: {} + DatacatalogsGetAll500Response: + type: object + properties: {} + example: {} + DatacatalogsCreateNewCatalogResponse: + type: object + properties: {} + example: {} + DatacatalogsCreateNewCatalog401Response: + type: object + properties: {} + example: {} + DatacatalogsCreateNewCatalog403Response: + type: object + properties: {} + example: {} + DatacatalogsCreateNewCatalog422Response: + type: object + properties: {} + example: {} + DatacatalogsCreateNewCatalog500Response: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalogResponse: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalog401Response: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalog403Response: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalog404Response: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalog422Response: + type: object + properties: {} + example: {} + DatacatalogsDeleteCatalog500Response: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalogResponse: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalog401Response: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalog403Response: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalog404Response: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalog422Response: + type: object + properties: {} + example: {} + DatacatalogsShowDataCatalog500Response: + type: object + properties: {} + example: {} + DatacatalogsUpdateCatalogResponse: + type: object + properties: {} + example: {} + DatacatalogsUpdateCatalog401Response: + type: object + properties: {} + example: {} + DatacatalogsUpdateCatalog403Response: + type: object + properties: {} + example: {} + DatacatalogsUpdateCatalog422Response: + type: object + properties: {} + example: {} + DatacatalogsUpdateCatalog500Response: + type: object + properties: {} + example: {} + RawdatacatalogsGetAllRawdataCatalogsResponse: + type: object + properties: {} + example: {} + RawdatacatalogsGetAllRawdataCatalogs401Response: + type: object + properties: {} + example: {} + RawdatacatalogsGetAllRawdataCatalogs403Response: + type: object + properties: {} + example: {} + RawdatacatalogsGetAllRawdataCatalogs422Response: + type: object + properties: {} + example: {} + RawdatacatalogsGetAllRawdataCatalogs500Response: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalogResponse: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalog401Response: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalog403Response: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalog404Response: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalog422Response: + type: object + properties: {} + example: {} + RawdatacatalogsShowDataCatalog500Response: + type: object + properties: {} + example: {} + RentincreasetypesGetAllTypesResponse: + type: object + properties: {} + example: {} + RentincreasetypesGetAllTypes401Response: + type: object + properties: {} + example: {} + RentincreasetypesGetAllTypes500Response: + type: object + properties: {} + example: {} + RentincreasetypesCreateTypeResponse: + type: object + properties: {} + example: {} + RentincreasetypesCreateType401Response: + type: object + properties: {} + example: {} + RentincreasetypesCreateType403Response: + type: object + properties: {} + example: {} + RentincreasetypesCreateType422Response: + type: object + properties: {} + example: {} + RentincreasetypesCreateType500Response: + type: object + properties: {} + example: {} + RentincreasetypesDeleteResponse: + type: object + properties: {} + example: {} + RentincreasetypesDelete401Response: + type: object + properties: {} + example: {} + RentincreasetypesDelete403Response: + type: object + properties: {} + example: {} + RentincreasetypesDelete404Response: + type: object + properties: {} + example: {} + RentincreasetypesDelete422Response: + type: object + properties: {} + example: {} + RentincreasetypesDelete500Response: + type: object + properties: {} + example: {} + RentincreasetypesGetByIdResponse: + type: object + properties: {} + example: {} + RentincreasetypesGetById401Response: + type: object + properties: {} + example: {} + RentincreasetypesGetById403Response: + type: object + properties: {} + example: {} + RentincreasetypesGetById404Response: + type: object + properties: {} + example: {} + RentincreasetypesGetById422Response: + type: object + properties: {} + example: {} + RentincreasetypesGetById500Response: + type: object + properties: {} + example: {} + RentincreasetypesUpdateTypeResponse: + type: object + properties: {} + example: {} + RentincreasetypesUpdateType403Response: + type: object + properties: {} + example: {} + RentincreasetypesUpdateType422Response: + type: object + properties: {} + example: {} + RentincreasetypesUpdateType500Response: + type: object + properties: {} + example: {} + RentincreaseindicesGetIndexDataResponse: + type: object + properties: {} + example: {} + RentincreaseindicesGetIndexData401Response: + type: object + properties: {} + example: {} + RentincreaseindicesGetIndexData500Response: + type: object + properties: {} + example: {} + RentincreaseindicesCreateIndexResponse: + type: object + properties: {} + example: {} + RentincreaseindicesCreateIndex401Response: + type: object + properties: {} + example: {} + RentincreaseindicesCreateIndex403Response: + type: object + properties: {} + example: {} + RentincreaseindicesCreateIndex422Response: + type: object + properties: {} + example: {} + RentincreaseindicesCreateIndex500Response: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndexResponse: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndex401Response: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndex403Response: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndex404Response: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndex422Response: + type: object + properties: {} + example: {} + RentincreaseindicesDeleteRentIncreaseIndex500Response: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndexResponse: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndex401Response: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndex403Response: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndex404Response: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndex422Response: + type: object + properties: {} + example: {} + RentincreaseindicesReturnRentIncreaseIndex500Response: + type: object + properties: {} + example: {} + RentincreaseindicesUpdateRentIncreaseIndexByIdResponse: + type: object + properties: {} + example: {} + RentincreaseindicesUpdateRentIncreaseIndexById403Response: + type: object + properties: {} + example: {} + RentincreaseindicesUpdateRentIncreaseIndexById422Response: + type: object + properties: {} + example: {} + RentincreaseindicesUpdateRentIncreaseIndexById500Response: + type: object + properties: {} + example: {} + TaskmembershipsGetAllTaskMembershipsResponse: + type: object + properties: {} + example: {} + TaskmembershipsGetAllTaskMemberships401Response: + type: object + properties: {} + example: {} + TaskmembershipsGetAllTaskMemberships500Response: + type: object + properties: {} + example: {} + TaskmembershipsCreateMembershipResponse: + type: object + properties: {} + example: {} + TaskmembershipsCreateMembership401Response: + type: object + properties: {} + example: {} + TaskmembershipsCreateMembership403Response: + type: object + properties: {} + example: {} + TaskmembershipsCreateMembership422Response: + type: object + properties: {} + example: {} + TaskmembershipsCreateMembership500Response: + type: object + properties: {} + example: {} + TaskmembershipsDeleteTaskMembershipResponse: + type: object + properties: {} + example: {} + TaskmembershipsDeleteTaskMembership403Response: + type: object + properties: {} + example: {} + TaskmembershipsDeleteTaskMembership422Response: + type: object + properties: {} + example: {} + TaskmembershipsDeleteTaskMembership500Response: + type: object + properties: {} + example: {} + TaskmembershipsUpdateMembershipResponse: + type: object + properties: {} + example: {} + TaskmembershipsUpdateMembership403Response: + type: object + properties: {} + example: {} + TaskmembershipsUpdateMembership422Response: + type: object + properties: {} + example: {} + TaskmembershipsUpdateMembership500Response: + type: object + properties: {} + example: {} + RentincreasesGetIncreasesResponse: + type: object + properties: {} + example: {} + RentincreasesGetIncreases401Response: + type: object + properties: {} + example: {} + RentincreasesGetIncreases500Response: + type: object + properties: {} + example: {} + RentincreasesCreateNewIncreaseResponse: + type: object + properties: {} + example: {} + RentincreasesCreateNewIncrease401Response: + type: object + properties: {} + example: {} + RentincreasesCreateNewIncrease403Response: + type: object + properties: {} + example: {} + RentincreasesCreateNewIncrease422Response: + type: object + properties: {} + example: {} + RentincreasesCreateNewIncrease500Response: + type: object + properties: {} + example: {} + RentincreasesApplyRentIncreaseResponse: + type: object + properties: {} + example: {} + RentincreasesApplyRentIncrease403Response: + type: object + properties: {} + example: {} + RentincreasesApplyRentIncrease422Response: + type: object + properties: {} + example: {} + RentincreasesApplyRentIncrease500Response: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncreaseResponse: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncrease401Response: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncrease403Response: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncrease404Response: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncrease422Response: + type: object + properties: {} + example: {} + RentincreasesDeleteRentIncrease500Response: + type: object + properties: {} + example: {} + RentincreasesReturnIncreaseResponse: + type: object + properties: {} + example: {} + RentincreasesReturnIncrease401Response: + type: object + properties: {} + example: {} + RentincreasesReturnIncrease403Response: + type: object + properties: {} + example: {} + RentincreasesReturnIncrease404Response: + type: object + properties: {} + example: {} + RentincreasesReturnIncrease422Response: + type: object + properties: {} + example: {} + RentincreasesReturnIncrease500Response: + type: object + properties: {} + example: {} + RentincreasesUpdateRentIncreaseResponse: + type: object + properties: {} + example: {} + RentincreasesUpdateRentIncrease403Response: + type: object + properties: {} + example: {} + RentincreasesUpdateRentIncrease422Response: + type: object + properties: {} + example: {} + RentincreasesUpdateRentIncrease500Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSettingResponse: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSetting401Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSetting403Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSetting404Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSetting422Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsUpdateEmissionFactorSetting500Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsGetAllWithinAccountResponse: + type: object + properties: {} + example: {} + EmissionfactorsettingsGetAllWithinAccount401Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsGetAllWithinAccount403Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsGetAllWithinAccount422Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsGetAllWithinAccount500Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsCreateEmissionFactorSettingResponse: + type: object + properties: {} + example: {} + EmissionfactorsettingsCreateEmissionFactorSetting401Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsCreateEmissionFactorSetting403Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsCreateEmissionFactorSetting422Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsCreateEmissionFactorSetting500Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSettingResponse: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSetting401Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSetting403Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSetting404Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSetting422Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsDeleteEmissionFactorSetting500Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSettingResponse: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSetting401Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSetting403Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSetting404Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSetting422Response: + type: object + properties: {} + example: {} + EmissionfactorsettingsShowEmissionFactorSetting500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsCreateConfigResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsCreateConfig401Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsCreateConfig403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsCreateConfig422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsCreateConfig500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsDeleteConfigResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsDeleteConfig403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsDeleteConfig422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsDeleteConfig500Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsUpdateConfigResponse: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsUpdateConfig403Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsUpdateConfig422Response: + type: object + properties: {} + example: {} + CustomeraccountcategoryconfigsUpdateConfig500Response: + type: object + properties: {} + example: {} +security: + - api_key: [] + oauth: + - app_category_read + - app_config_read + - app_config_write + - app_config_destroy + - app_data_repository_read + - app_data_repository_write + - app_data_repository_destroy + - app_subscription_read + - app_subscription_write + - app_subscription_destroy + - app_read + - app_write + - app_destroy + - contract_addition_read + - contract_addition_write + - contract_addition_destroy + - contract_grant_read + - contract_grant_write + - contract_grant_destroy + - contract_membership_cost_read + - contract_membership_cost_write + - contract_membership_cost_destroy + - contract_membership_write + - contract_membership_destroy + - contract_read + - contract_write + - contract_destroy + - cost_type_read + - cost_type_write + - cost_type_destroy + - security_deposit_write + - security_deposit_destroy + - report_account_schema_read + - report_account_schema_write + - report_account_schema_destroy + - report_template_read + - report_template_write + - report_template_destroy + - department_read + - department_write + - department_destroy + - manufacturer_read + - manufacturer_write + - manufacturer_destroy + - room_and_zone_type_read + - room_read + - room_write + - room_destroy + - zone_write + - zone_destroy + - level_read + - level_write + - level_destroy + - facility_read + - facility_write + - facility_destroy + - facility_type_read + - plan_version_write + - plan_version_destroy + - plan_read + - plan_write + - plan_destroy + - plan_config_read + - activity_read + - activity_write + - activity_destroy + - attachment_write + - attachment_destroy + - building_filter_setting_read + - building_filter_setting_write + - building_filter_setting_destroy + - building_save_filter_read + - building_save_filter_write + - building_save_filter_destroy + - building_type_read + - building_unit_membership_write + - building_unit_membership_destroy + - building_unit_type_read + - building_unit_type_write + - building_unit_type_destroy + - building_unit_read + - building_unit_write + - building_unit_destroy + - building_read + - building_write + - building_destroy + - customer_account_config_read + - customer_account_config_write + - customer_account_schema_read + - customer_account_schema_write + - customer_attributes_schema_membership_read + - customer_attributes_schema_membership_write + - customer_attributes_schema_read + - customer_attributes_schema_write + - image_write + - image_destroy + - lot_read + - lot_write + - lot_destroy + - organisation_config_read + - organisation_config_write + - organisation_membership_read + - organisation_membership_write + - organisation_membership_destroy + - organisation_read + - organisation_write + - person_read + - person_write + - person_destroy + - person_membership_write + - person_membership_destroy + - property_read + - property_write + - property_destroy + - property_type_read + - user_write + - user_destroy + - vpi_index_read + - credential_read + - dashboard_config_read + - dashboard_config_write + - dashboard_config_destroy + - time_dependent_attribute_read + - time_dependent_attribute_write + - time_dependent_attribute_destroy + - ep_code_combination_read + - customer_account_write +externalDocs: + description: 'Documentation: Developer Integration Workflow' + url: /api/v1/docs/integration_workflow diff --git a/sdks/db/generate-repository-description-cache/packet-fabric.json b/sdks/db/generate-repository-description-cache/packet-fabric.json new file mode 100644 index 000000000..d73d7f77b --- /dev/null +++ b/sdks/db/generate-repository-description-cache/packet-fabric.json @@ -0,0 +1,3 @@ +{ + "PacketFabric is the Connectivity Cloud, designed from the ground up for scale, performance, programmability, elasticity, and security without compromise, enabling enterprises to build an agile cloud core that delivers optimal digital business outcomes. PacketFabric's Network-as-a-Service (NaaS) platform leverages a massively scalable private optical network, the latest in packet switching technology, and end-to-end automation. PacketFabric delivers on-demand, private, and secure connectivity services between hundreds of premier colocation facilities and cloud providers across the globe. IT, network, and DevOps teams can deploy cloud-scale connectivity in minutes via an advanced Application Program Interface (API) and web portal. PacketFabric was recognized as the \"2020 Fierce Telecom Innovation Award for Cloud Services,\" named one of the \"10 Hottest Networking Startups of 2020\" by CRN, a Futuriom 40 Top Private Company, and a \"2020 Cool Vendor in Enhanced Internet Services and Cloud Connectivity\" by Gartner. PacketFabric investors include NantWorks and Digital Alpha Advisors. For more information, visit packetfabric.com.": "PacketFabric is a high-performance Connectivity Cloud enabling agile cloud core with on-demand, secure services globally. Recognized for innovation and scalability in networking. PacketFabric's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/rated.json b/sdks/db/generate-repository-description-cache/rated.json new file mode 100644 index 000000000..745f512dc --- /dev/null +++ b/sdks/db/generate-repository-description-cache/rated.json @@ -0,0 +1,3 @@ +{ + "We are building reputation for machines, starting with Ethereum validators. Our mission is to instill greater transparency and rich context in Web3 infrastructure data.": "We are building reputation for machines, starting with Ethereum validators. Our mission is to instill greater transparency and rich context in Web3 infrastructure data. Rated's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/realcube.json b/sdks/db/generate-repository-description-cache/realcube.json new file mode 100644 index 000000000..ce2193ce1 --- /dev/null +++ b/sdks/db/generate-repository-description-cache/realcube.json @@ -0,0 +1,3 @@ +{ + "Realcube is the cloud solution for smart and flexible digitilization in real estate management. Our API-first platform is here to revolutionize the real estate industry. It is a one-stop-shop for intelligent solutions which are adaptive to every client's individual needs. \n\nRealcube's ecosystem offers a growing number of applications from our valuable and industry-leading partners which aggregate the customer's data. It is worth mentioning that we keep our customers' data privacy and well-being as our top priority. \n \nAt Realcube, we enable the real estate companies and their contractual partners to consolidate their data in our state-of-the-art platform. This creates a uniform database that gives access to asset managers and other management levels to all relevant information at all times, just a click away! \n\nHave we grabbed your interest in our innovative solution for your real estate management? \nBook a free demo today! \n\nFor more information feel free to visit our website or contact us at: \ninfo@realcube.com": "Realcube revolutionizes real estate management with its API-first platform, offering intelligent solutions tailored to individual needs. Ecosystem aggregates data from industry-leading partners, prioritizing customer data privacy. Consolidate and access information easily. Book a free demo now!" +} \ No newline at end of file diff --git a/sdks/db/intermediate-fixed-specs/packetfabric/openapi.yaml b/sdks/db/intermediate-fixed-specs/packetfabric/openapi.yaml new file mode 100644 index 000000000..f5f26e7f9 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/packetfabric/openapi.yaml @@ -0,0 +1,43139 @@ +openapi: 3.0.0 +info: + title: PacketFabric API + description: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the + token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H + "On-Behalf: 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + version: 2.0.0 +servers: + - url: https://api.packetfabric.com + description: Production API +security: + - BearerAuth: [] +tags: + - name: Authentication + description: Login/logout endpoints + - name: Activity Logs + description: Log of activities performed by the customer + - name: Announcements + description: Messages from PacketFabric + - name: API keys + description: API keys management API + - name: Billing + description: Billing endpoints + - name: Cloud Provider Credentials + description: Manage your credentials to Cloud Providers. + - name: Cloud Services - AWS + description: AWS specific, and compatible generic cloud routes. + - name: Cloud Services - Azure + description: Azure specific, and compatible generic cloud routes. + - name: Cloud Services - Google Cloud + description: Google Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - IBM + description: IBM Cloud specific, and compatible generic cloud routes. + - name: Cloud Services - Oracle + description: Oracle Cloud specific, and compatible generic cloud routes. + - name: Cloud Routers + description: Base services to build Cloud-to-Cloud connections. + - name: Cloud Router BGP Session Settings + description: Layer 3 network functionality + - name: Cloud Router Connections + description: Cloud-to-Cloud connections. + - name: Cloud Router IPsec + description: IPsec related services. + - name: Cloud Router Route Sets + description: Route Sets for Cloud Router Marketplace Services. + - name: Cloud Router Third Party + description: Cloud Router Third Party services. + - name: Contacts + description: Contact persons of the current customer + - name: Customers + description: Details about the current customer and publicly searchable third parties + - name: Diagnostic Reports + description: Diagnostic reports + - name: Documents + description: Documents of the current customer + - name: Flex Bandwidth + description: Bundled capacity for virtual circuits + - name: Groups + description: Groups management for the current customer + - name: High Performance Internet + description: High Performance Internet (HPI) + - name: IPAM + description: IPAM (IP Address Management) + - name: LAGs + description: Link aggregation groups + - name: Labels + description: Correlation between services and custom identifiers. + - name: Locations + description: Details of physical locations, markets and regions + - name: Maintenance Notifications + description: History of scheduled maintenance operations and sent notifications + - name: Marketplace + description: Viewing and managing marketplace services + - name: Metrics + description: Getting metric data for the current customer + - name: Multi-Factor Authentication + description: Managing multi-factor authentication for the current user + - name: Outbound Cross Connects + description: Viewing and managing outbound cross connects + - name: Objects + description: Linking objects to their labels + - name: Ports + description: Ports of the current customer + - name: Portal Quotes + description: PacketFabric quotes created through the PacketFabric portal + - name: PTP Services + description: >- + Point-to-point service is a bundled service with two ports and an EPL + virtual-circuit connecting them + - name: Request Aliases + description: >- + Request aliases are used to manage points of contact for connection + requests. + - name: Services + description: Virtual Circuit based 3rd-party and backbone services + - name: Streaming Events - Beta + description: Stream events in real-time + - name: SVlan Labels + description: Associate labels with SVlans on a particular port + - name: TeamSignup + description: Team-based signup invitations + - name: Users + description: Users management for the current customer +paths: + /v2/activity-logs/{log_uuid}: + get: + operationId: Activity Logs.get_activity_log + summary: Get activity log entry + tags: + - Activity Logs + parameters: + - required: true + in: path + name: log_uuid + description: UUID of Activity Log entry + schema: + type: string + format: uuid + responses: + '200': + description: Activity log entry + content: + application/json: + schema: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to find + the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/activity-logs: + get: + operationId: Activity Logs.get_activity_log_list + summary: Get activity log entries + description: > + Use this endpoint to get paginated list of Activity Log entries. + + You can set additional filters or set sorting order using query + parameters. + tags: + - Activity Logs + parameters: + - name: level + required: false + description: Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11) + in: query + schema: + type: integer + minimum: 0 + example: 3 + maximum: 7 + - name: category + required: false + description: Filter by category + in: query + schema: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + - name: circuit_id + required: false + description: > + Unified circuit_id filter, supports filtering by: + + - Port - port_circuit_id (eg. PF-AP-SFO1-58) + + - VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345) + + - Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345) + + - Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345) + + - Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345) + + - Cloud Router Connection - connection_circuit_id (eg. + PF-L3-CON-12345) + + - High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345) + in: query + schema: + type: string + example: PF-BC-NYC-NYC-12345 + - name: description + required: false + description: The description of the port to be queried + in: query + schema: + type: string + example: The user description + - name: event + required: false + description: Filter by event + in: query + schema: + type: string + example: login + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + example: time_created + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + - name: time_from + required: false + description: Filter by time_created greater than (after) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - name: time_to + required: false + description: Filter by time_created less than (before) or equal to this time. + in: query + schema: + type: string + format: date-time + example: '2020-04-30T19:14:42.642Z' + responses: + '200': + description: List of activity log entries + content: + application/json: + schema: + type: array + items: + type: object + title: Activity log + description: Holds an information about important events + properties: + log_uuid: + format: uuid + type: string + description: UUID of Activity Log entry + example: 1337c0de-1234-b33f-4321-eb1424631094 + user: + type: string + example: alice + description: The login of the user which caused the event + level: + type: integer + description: > + Level of the activity. + + Visit https://tools.ietf.org/html/rfc5424#page-11 to + find the list of levels + minimum: 0 + maximum: 7 + example: 3 + category: + type: string + description: Category of the activity + enum: + - auth + - billing + - contact + - customer + - document + - lag_interface + - physical_interface + - logical_interface + - user + - virtual_circuit + - cloud_connection + - point_to_point + - high_performance_internet + event: + type: string + description: Event caused logging this entry + example: login + message: + type: string + description: Details of the activity + example: User Alice logged in + time_created: + type: string + format: date-time + description: Time of the activity + example: '2020-06-11T19:08:10.150711' + /v2/api-keys: + post: + operationId: post_api_key + summary: Add the new API key + description: > + This endpoint adds the new API key. The API keys can be used by + automated solutions instead of the user session tokens. Use the response + of this endpoint wisely, it is the only time you can see the `token`. + tags: + - API keys + requestBody: + content: + application/json: + schema: + type: object + title: API key parameters + required: + - name + properties: + name: + type: string + description: API key name + example: Silver key + expiration: + type: integer + description: Key expiration in seconds + example: 100500 + responses: + '201': + description: Created API key + content: + application/json: + schema: + type: object + title: API key details when it is just created + description: Information about API key + properties: + token: + type: string + description: >- + Use this token for authorization. It is only returned once + when you create the key + example: >- + api-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa-aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + get: + operationId: get_api_keys + summary: Get the list of user's API keys + description: Get the list of user's API keys + tags: + - API keys + responses: + '200': + description: Created API key + content: + application/json: + schema: + type: array + items: + type: object + title: API key details + description: Information about API key + properties: + uuid: + type: string + format: uuid + description: API token UUID. It can be used to delete the key + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + name: + type: string + description: API token title + example: API token 1 + expiration: + type: string + format: date-time + description: Time when the token expires + example: '2020-04-01T19:14:42.642Z' + /v2/api-keys/{uuid}: + delete: + operationId: delete_api_key + summary: Deletes API key by UUID + description: Deletes API key by UUID + tags: + - API keys + parameters: + - required: true + in: path + name: uuid + schema: + type: string + format: uuid + description: Target API key UUID + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: API key deleted + /v2/auth/login: + post: + operationId: login + security: [] + summary: Login + description: Start user session. Get the token to authenticate requests + tags: + - Authentication + requestBody: + content: + application/json: + schema: + type: object + title: User credentials + required: + - login + - password + properties: + login: + type: string + description: User login + password: + type: string + description: User password + example: + login: admin + password: p4ssw0rd + description: User credentials + responses: + '200': + description: User session information and token + content: + application/json: + schema: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + get: + operationId: get_login + security: [] + summary: Login + description: > + Authenticates the user with an existing session token. Creates a new + session token for the user and redirects to the PacketFabric Portal + dashboard. + tags: + - Authentication + parameters: + - name: session_token + required: true + description: A valid session_token for the user + in: query + schema: + type: string + - name: timeout + required: false + description: Timeout in minutes to set the session expiration + in: query + schema: + type: integer + responses: + '302': + description: Redirect to the PacketFabric Portal dashboard + /v2/auth/login/mfa: + post: + operationId: login_mfa + security: [] + summary: Login into the application using a multi-factor authentication code + description: > + This endpoint needs to be used only if the user has multi-factor + authentication enabled for their account. After the normal login process + this endpoint must be accessed to send the code used as a second factor + of authentication.

**Note:** Apart from the authentication code, + this endpoint requires the session_token cookie to be properly set. + That's how the application can validate the first factor of + authentication (user/password combination) was completed successfully. + tags: + - Multi-Factor Authentication + requestBody: + content: + application/json: + schema: + type: object + title: Authentication code + required: + - authentication_code + properties: + authentication_code: + type: string + description: Authentication code + example: + authentication_code: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/auth/logout: + get: + operationId: logout + security: [] + summary: Logout + description: Invalidate current user session. Makes the token invalid + tags: + - Authentication + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/auth/sessions: + get: + operationId: get_user_sessions + summary: Get all active user sessions + description: Get the list of all active user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to get sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: User sessions + content: + application/json: + schema: + type: array + items: + type: object + title: Opened session details + description: User session information + properties: + token: + type: string + description: Use this token for authorization + mfa_enabled: + type: boolean + description: >- + Flag to indicate whether the user has multi-factor + authentication enabled or not + mfa_required: + type: boolean + description: >- + Flag to indicate whether the user needs to complete a + multi-factor authentication login + should_sign_eula: + type: boolean + description: >- + Flag to indicate whether the user needs to log in to the + portal to review and accept an end-user license + agreement + time_expires: + type: string + format: date-time + description: Time when the token expires + example: + - token: 12a30d30-20c0-4f62-a982-eb1424631094 + time_expires: '2020-06-11T19:08:10.150711' + delete: + operationId: delete_user_sessions + summary: Deletes all user sessions + description: Delete all user sessions + tags: + - Authentication + parameters: + - name: user_uuid + description: User UUID to delete sessions for (for Admin only) + in: query + schema: + type: string + format: uuid + responses: + '200': + description: Farewell message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Goodbye message + example: + message: logged out + /v2/bgp-settings: + get: + operationId: bgp_session_settings_list + summary: >- + Returns a list of BGP settings instances associated with the current + account. + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP session settings instances. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance.. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: + operationId: bgp_prefixes_list + summary: Returns a list of prefixes associated with a BGP settings instance. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: A list of BGP prefixes. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: + operationId: bgp_l3_get + summary: Returns the L3 IFL data associated with a BGP Session. + parameters: + - required: true + in: path + name: bgp_settings_uuid + description: UUID of BGP settings to fetch prefixes for. + schema: + type: string + format: uuid + tags: + - Cloud Router BGP Session Settings + responses: + '200': + description: The L3 data associated with a BGP session. + content: + application/json: + schema: + type: object + properties: + local_address: + type: string + example: 10.0.0.1/20 + /v2/billing/services/{circuit_id}: + get: + operationId: get_order + summary: >- + Returns billing details for the given circuit (Port, Cloud, or Virtual + Circuit) + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of Port, Cloud, or Virtual Circuit to fetch billing data for + schema: + type: string + - required: false + in: query + name: service_type + description: >- + (Optional) You can specify the type of the product to fetch the + order for + schema: + type: string + enum: + - cross-connect + example: cross-connect + responses: + '200': + description: Order details + content: + application/json: + schema: + type: array + items: + type: object + properties: + order_id: + type: integer + /v2/billing/services/{circuit_id}/modify: + post: + operationId: modify_order + summary: Modify an existing order + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Successfully modified order + '202': + description: Order modification details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Order modification started + /v2/billing/services/{circuit_id}/modify/preview: + post: + operationId: modify_order_preview + summary: >- + Preview the price of modifying an existing order. Currently only + supports renewals without speed upgrades. + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the order to modify + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + description: Details of the circuit modification + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: string + description: New speed of the circuit (for VC upgrades) + example: 100Gbps + billing_product_type: + type: string + enum: + - longhaul_dedicated + description: Billing type for VCs + service_class: + type: string + description: >- + The service class dedicated cloud connections, either + longhaul or metro. + example: longhaul + enum: + - longhaul + - metro + capacity: + type: string + example: 100Gbps + description: >- + New capacity if modifying an aggregate capacity container or + Cloud Router. + regions: + type: array + items: + type: string + description: New regions to be used when modifying a Cloud Router. + example: US + enum: + - US + - UK + responses: + '200': + description: >- + List of orders that would be created if this modification was + applied + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/services/{account_uuid}: + get: + operationId: get_all_account_orders + summary: Returns all orders for the given billing account + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: UUID of the billing account + schema: + type: string + format: uuid + responses: + '200': + description: List of orders + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The circuit id of the associated product + example: PF-AP-LAX1-1002 + description: + type: string + description: The description of the associated product + example: Port + order_type: + type: string + description: Thy type of the order + example: pointtopoint + speed: + type: integer + description: The speed of the associated product + example: 1000 + start_date: + type: string + format: date-time + description: The start date of the order + example: '2020-01-01T00:00:00+00:00' + end_date: + type: string + format: date-time + description: The end date of the order + example: '2020-01-01T00:00:00+00:00' + term: + type: integer + description: The number of months of this order's term + example: 24 + rate: + type: number + description: The rate of the order + example: 500 + /v2/billing/pricing: + get: + operationId: get_pricing + summary: Get pricing for specific services + tags: + - Billing + security: [] + parameters: + - required: true + in: query + name: product_type + schema: + type: string + description: Type of product to retrieve pricing for + enum: + - aggregate_capacity + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + - vc_ix + - vc_marketplace + - add_on_fee + - high_performance_internet + - required: false + in: query + name: subscription_term + description: The subscription term, in months, to retrieve pricing for + schema: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + - required: true + in: query + name: location_type + description: >- + Filter pricing info by location type. If no pricing is found, the + service will attempt to search by a broader location type. eg. site + -> pop + schema: + type: string + example: pop + enum: + - site + - pop + - market + - country + - region + - required: false + in: query + name: side_a + description: >- + Code for the a-side location eg. SFO1. When using this paramater to + filter results, ensure location_type is also set. + example: SFO1 + schema: + type: string + - required: false + in: query + name: side_z + description: >- + Code for the z-side location eg. NYC1. When using this paramater to + filter results, ensure location_type is also set. + example: NYC1 + schema: + type: string + - required: false + in: query + name: network_provider_a + description: >- + Limit results to pricing for a specific network provider on the a + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: network_provider_z + description: >- + Limit results to pricing for a specific network provider on the z + side. Valid for location_type of market or region. + schema: + type: string + enum: + - PacketFabric + - Colt + - required: false + in: query + name: media + description: Optic media type + example: LX + schema: + type: string + - required: false + in: query + name: provider + description: Filter pricing by provider type + example: aws + schema: + type: string + - required: false + in: query + name: bandwidth_type + description: Filter by dedicated or usage-base pricing + example: usage + schema: + type: string + - required: false + in: query + name: service_class + description: Filter by metro or longhaul connections + example: metro + schema: + type: string + - required: false + in: query + name: speed + description: Filter by connection speed + schema: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + - required: false + in: query + name: account_uuid + description: Filter for account specific pricing + schema: + type: string + format: uuid + example: c25e0c64-6da7-487e-8f47-f5e744813976 + - required: false + in: query + name: add_on_fee_key + description: >- + Filter by the add-on fee key - this is only used for add_on_fee + product types + schema: + type: string + enum: + - route_set + responses: + '200': + description: Pricing details + content: + application/json: + schema: + type: array + items: + type: object + properties: + location_type: + type: string + description: location type of the pricing option + side_a: + type: string + description: side_a provided in the query + side_z: + type: string + description: side_z provided in the query + product_key: + type: string + description: product_key of the pricing option + product_type: + type: string + description: product type for this pricing option + term: + type: string + description: subscription term for this pricing option + speed: + type: string + description: speed in Mbps for this pricing option + media_type: + type: string + description: media type for this pricing option + mrc: + type: string + description: MRC for this pricing option + nrc: + type: string + description: NRC for this pricing option + media_price: + type: string + description: media type specific cost for this pricing option + usage: + type: string + description: usage for this pricing option + /v2/billing/services/early-termination-liability/{circuit_id}: + get: + operationId: get_early_termination_liability + summary: >- + Returns cost for stopping service on a circuit with a subscription term + early + tags: + - Billing + parameters: + - required: true + in: path + name: circuit_id + description: ID of circuit to get early termination liability for + schema: + type: string + - required: false + in: query + name: termination_date + description: >- + Datetime (ISO-8601 format) for which to fetch the early termination + liability. Defaults to right now. User's timezone will be used if + timestamp is not timezone aware. Examples: + `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642` + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42' + responses: + '200': + description: Early termination liability + content: + text/plain: + schema: + type: number + example: 15.26 + /v2/billing/accounts/{account_uuid}/invoices: + get: + operationId: get_invoices + summary: Returns list of invoices + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: false + in: query + name: start_date + description: Filter invoices which created after the start_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + - required: false + in: query + name: end_date + description: Filter invoices which created before the end_date (UTC) + schema: + type: string + format: date + example: '2020-04-01' + responses: + '200': + description: List of invoices + content: + application/json: + schema: + type: array + items: + type: object + properties: + invoice_id: + type: integer + example: 1 + description: Invoice id + invoice_name: + type: string + example: invoice 1 + description: Invoice name + status: + type: string + example: open + description: Status of the invoice + invoice_date: + type: string + format: date-time + description: date of the invoice creation + example: '2020-01-01T00:00:00+00:00' + is_overdue: + type: boolean + description: Shows if invoice is overdue + example: false + billing_cycle_start_date: + type: string + format: date-time + description: Billing cycle start date + example: '2020-01-01T00:00:00+00:00' + billing_cycle_end_date: + type: string + format: date-time + description: Billing cycle end date + example: '2020-01-31T00:00:00+00:00' + stripe_url: + type: string + description: Shows Stripe-related url for the invoice + example: https://example.org/some/url + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf: + get: + operationId: get_pdf + summary: Returns invoice as PDF + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + responses: + '200': + description: Invoice as PDF file + content: + application/pdf: + schema: + type: string + format: binary + example: '[binary data]' + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv: + get: + operationId: get_csv + summary: Returns invoice as CSV + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: uuid of the billing account to get the list of invoices for + schema: + type: string + - required: true + in: path + name: invoice_id + description: Filter invoices which created after the start_date + schema: + type: integer + example: 1 + - required: false + in: query + name: condensed + description: Get condensed CSV output + schema: + type: boolean + example: true + responses: + '200': + description: Invoice as CSV file (base64) + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: + operationId: get_stripe_customer_portal_session + summary: Returns stripe customer portal session url + tags: + - Billing + parameters: + - required: true + in: path + name: account_uuid + description: >- + uuid of the billing account to get the stripe customer portal + session for + schema: + type: string + responses: + '200': + description: Stripe customer portal session url as json + content: + application/json: + schema: + type: object + properties: + session_url: + type: string + example: http://customer/session + /v2/contacts: + get: + operationId: contact_get_list + summary: Get the contacts associated with the current customer + tags: + - Contacts + parameters: + - name: billing + required: false + description: >- + Filter for billing contacts (`true`) or non-billing contacts + (`false`) + in: query + schema: + type: boolean + - name: contact_uuid + required: false + description: Filter contact by UUID + in: query + schema: + type: string + responses: + '200': + description: List of contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about + the service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + post: + operationId: contact_post + summary: Add the contact for the current customer + tags: + - Contacts + requestBody: + description: | + Details to create the Contact. The following validation rules apply: + * Technical contacts require only `first_name`, `last_name`, `phone` and `email` fields; + * `po_number` can only be used for `billing` contacts; + * If `po_number` is used, `first_name` and `last_name` fields are not required + content: + application/json: + schema: + type: object + required: + - email + - phone + - admin + - billing + - tech + properties: + first_name: + description: > + First name of the contact person. Required for admin and + tech contacts. Not required for the contacts with + `po_number` + type: string + maxLength: 255 + example: James + last_name: + description: > + Last name of the contact person. Required for admin and tech + contacts. Not required for the contacts with `po_number` + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + format: email + maxLength: 255 + example: email@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: > + Address of the contact person. Required for admin and + billing contacts + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: >- + City of the contact person. Required for admin and billing + contacts + type: string + maxLength: 64 + example: Chicago + state: + description: > + State of the contact person. Required if the country of + contact is "US", "USA", "CA", "CAN" + type: string + maxLength: 32 + example: IL + postal: + description: >- + Postal code of the contact. Required for some of the + countries + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, defaults to True and only effective if it is a + billing contact i.e. billing=true + type: boolean + responses: + '201': + description: Created contact details + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}: + get: + operationId: contact_get + summary: Get a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Contact object + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + delete: + operationId: contact_delete + summary: Delete a single contact + tags: + - Contacts + parameters: + - required: true + in: path + name: contact_uuid + description: UUID of the contact to delete + schema: + type: string + format: uuid + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + patch: + operationId: contact_update + summary: Update contact + tags: + - Contacts + parameters: + - required: true + description: UUID of the contact to update + in: path + name: contact_uuid + schema: + type: string + format: uuid + requestBody: + description: | + Details to update the Contact + content: + application/json: + schema: + type: object + properties: + first_name: + description: First name of the contact person + type: string + maxLength: 255 + example: James + last_name: + description: Last name of the contact person + type: string + maxLength: 255 + example: Bond + email: + description: Contact e-mail + type: string + maxLength: 255 + example: user@example.com + phone: + description: Contact phone + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + address_1: + description: Address of the contact person + type: string + maxLength: 64 + example: 1 Fake Road + address_2: + description: Use it if `address_1` is not enough + type: string + maxLength: 64 + example: Suite 112 + city: + description: City of the contact person + type: string + maxLength: 64 + example: Chicago + state: + description: State of the contact person. + type: string + maxLength: 32 + example: IL + postal: + description: Postal code of the contact + type: string + maxLength: 16 + example: '12345' + country: + description: ISO-3166 2 or 3-character country code of the contact + type: string + maxLength: 3 + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Set `true` if it is an admin contact + type: boolean + billing: + description: Set `true` if it is a billing contact + type: boolean + tech: + description: Set `true` if it is a technical contact + type: boolean + default_billing: + description: >- + Set `true` to designate this contact as the default billing + contact + type: boolean + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices, only effective if it is a billing contact i.e. + billing=true + type: boolean + responses: + '200': + description: Updated contact information + content: + application/json: + schema: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + example: 12a30d30-20c0-4f62-a982-eb1424631094 + account_uuid: + type: string + format: uuid + description: >- + Billing Account UUID. You can reference the billing + account using this uuid. + example: 9d2f0e2e-2be7-447d-86d8-d7307b45a12f + first_name: + type: string + description: First name of the contact + example: James + last_name: + type: string + description: Last name of the contact + example: Bond + email: + description: E-mail of the contact + format: email + type: string + example: user@example.com + phone: + description: Phone of the contact + type: string + example: 111-111-1111 + address_1: + description: Address of the contact + type: string + example: Some street + address_2: + description: Address (line 2) of the contact + type: string + example: Address line 2 + city: + description: City of the contact + type: string + example: City + state: + description: State of the contact + type: string + example: CA + postal: + description: Postal code of the contact + type: string + example: 12345 + country: + description: Country of the contact + type: string + example: US + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: This contact is an administrator + type: boolean + billing: + description: This contact is associated with billing + type: boolean + tech: + description: >- + This contact needs to receive technical notices about the + service + type: boolean + default_billing: + description: This contact is the customer's default billing contact + type: boolean + billing_account_id: + description: >- + Id of this contact in the billing system. This field is + deprecated + type: integer + example: 0 + automatic_payments_enabled: + description: >- + Wether this contact should enable automatic payment of + invoices + type: boolean + /v2/contacts/{contact_uuid}/links/{circuit_id}: + post: + operationId: link_contact_to_object + summary: Link a technical contact to a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to link. Must be a technical contact. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to link. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Contact linked successfully + delete: + operationId: unlink_contact_from_object + summary: Delete a link between a technical contact and a circuit + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: true + in: path + description: UUID of the contact to unlink. + schema: + type: string + format: uuid + - name: circuit_id + required: true + in: path + description: Circuit to unlink. + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Link successfully deleted + /v2/contacts/links: + get: + operationId: get_contact_object_links + summary: Retrieve list of contact-circuit links + description: >- + Circuit-specific contacts are not enabled by default. Please contact + your PacketFabric Sales Engineer or Customer Success Manager if you are + interested in this feature. + tags: + - Contacts + parameters: + - name: contact_uuid + required: false + in: query + description: Only retrieve links associated with this contact + schema: + type: string + format: uuid + - name: circuit_id + required: false + in: query + description: Only retrieve links associated with this circuit + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: Contact-circuit links + content: + application/json: + schema: + type: object + properties: + circuit_links: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + circuit_id: + type: string + example: PF-AP-WDC1-1234 + /v2/customers/company-types: + get: + operationId: get_company_types + security: [] + summary: Get list of company types + description: Company types are used during the signup process + tags: + - Customers + responses: + '200': + description: List of company types + content: + application/json: + schema: + type: object + properties: + company_type_code: + type: string + description: abbreviated company type + example: LLC + description: + type: string + description: description of company type + example: Limited Liability Corporation + /v2/customers/current: + get: + operationId: customer_get + summary: Get current customer data + tags: + - Customers + responses: + '200': + description: Current customer details + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + patch: + operationId: customer_update + summary: Update current customer data + tags: + - Customers + requestBody: + description: Modified fields for the current customer + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + notes: + type: string + description: Private customer notes + example: Cloud services via Amazon Direct Connect + description: + type: string + description: Customer description + example: Importer/exporter + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + description: Changes the customer-wide MFA setting + password: + type: string + description: >- + Current user password. Only required if customer_wide_mfa + changed + example: password111 + company_type_code: + type: string + description: Type of customer company + example: LLC + service_provider_types: + type: array + description: List of marketplace service provider types + items: + type: string + description: Slug of the service provider type + example: cloud-service-providers + industries: + type: array + description: Industries to which the customer belongs + items: + type: string + description: Slug of the industry + example: telecommunications + responses: + '200': + description: Current customer details updated with provided fields + content: + application/json: + schema: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + acctnum: + type: string + description: Account number + example: PF-123456 + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer routing ID + example: PF-1RI-OQ85 + searchable: + type: boolean + description: Customer visiblity in search results + customer_wide_mfa: + type: boolean + time_created: + type: string + format: date-time + description: Date and time of customer object creation + time_updated: + type: string + format: date-time + description: Date and time customer object was last updated + company_type_code: + type: string + enum: + - Ltd. + - Corp, Inc. + - SP + - GP + - LP + - LLC + - LLP + - LLLP + - PLLC + description: Short code of the company's business structure + type: + type: string + description: Customer type + example: customer + reg_state: + type: string + description: State of registration + example: CA + reg_country: + type: string + description: Country of registration + example: USA + service_provider: + type: boolean + customer_of_reseller: + type: boolean + description: True if customer is linked to the reseller + _links: + type: object + description: Links to other information about the customer + properties: + locations: + description: A link to the locations this customer is located in + type: string + format: uri + industries: + description: >- + A link to the industries of which this customer is a + part + type: string + format: uri + service_provider_types: + description: A link to the types of services this customer provides + type: string + format: uri + /v2/customers/images/{uuid}: + get: + operationId: customer_image_get + summary: Return customer logo for provided customer's UUID + tags: + - Customers + parameters: + - required: true + in: path + name: uuid + description: Customer UUID + schema: + type: string + format: uuid + responses: + '200': + description: Customer logo in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/customers/current/image: + post: + operationId: customer_image_post + summary: >- + Upload image file with a company logo. Supported formats are PNG, JPEG + or BMP + tags: + - Customers + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: string + format: binary + example: JPEG, PNG or BMP image file + responses: + '200': + description: Logo changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/customers/current/locations: + get: + operationId: get_customer_location_list + summary: Get location list for the current customer + tags: + - Customers + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + responses: + '200': + description: >- + List of locations the current customer is in, optionally filtered by + provided parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/customers/current/account-managers: + get: + deprecated: true + operationId: get_customer_account_managers + summary: Get all customer account managers for the current customer + tags: + - Customers + responses: + '200': + description: An object containing a list of customer account managers + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers/current/sales-team: + get: + operationId: get_customer_sales_team + summary: Get the sales team details for the current customer + tags: + - Customers + responses: + '200': + description: An object containing lists of the different sales team members + content: + application/json: + schema: + type: object + properties: + account_managers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + account_executives: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + sales_engineers: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the sales team member + example: John Doe + phone: + type: string + nullable: true + description: Phone number of the sales team member + example: +1 5555555555 + email: + type: string + nullable: true + format: email + description: Email address of the sales team member + example: user@packetfabric.com + /v2/customers: + get: + operationId: get_customers + summary: Get customer list by filter params + tags: + - Customers + parameters: + - required: false + in: query + name: q + description: Search query string used to filter customers by name or description + schema: + type: string + - required: false + in: query + name: name + description: Filter customers by exact name + schema: + type: string + - required: false + in: query + name: routing_id + description: Filter customers by Customer Routing ID + schema: + type: string + - required: false + in: query + name: market + description: Filter customers by the market operated in + schema: + type: string + - required: false + in: query + name: pop + description: Filter customers by POP name + schema: + type: string + - required: false + in: query + name: type + description: >- + Filter customers by type. Accepts either a single value or an array + of values. + schema: + type: array + items: + type: string + enum: + - customer + - ix + - partner + responses: + '200': + description: List of customers, optionally filtered by provided filter parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + format: uuid + description: The UUID of the customer object + name: + type: string + description: Customer name + example: Vandelay Industries + website: + type: string + description: Website address + example: vandelayindustries.com + aliases: + type: string + description: Customer aliases + example: DM Scranton + description: + type: string + description: Customer description + example: Importer/exporter + routing_id: + type: string + description: Customer ID + example: PF-1RI-OQ85 + /v2/customers/{customer_uuid}/industries: + get: + operationId: customer_industries_get + summary: Return customer industries by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of industries for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/customers/{customer_uuid}/locations: + get: + operationId: customer_locations_get + summary: Return customer locations by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of locations for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: NYC4 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: NYC + market_description: + type: string + description: Market name + example: New York City + /v2/customers/{customer_uuid}/service-provider-types: + get: + operationId: customer_service_provider_types_get + summary: Return customer service_provider_types by UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: List of service provider types for selected customer + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/customers/current/ix-details: + patch: + operationId: patch_customer_ix_details + summary: Update IX details for the current customer + tags: + - Customers + requestBody: + description: Modified IX details for the current customer + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + responses: + '200': + description: Current customer IX details updated with provided fields + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/customers/{customer_uuid}/ix-details: + get: + operationId: get_customer_ix_details + summary: Return IX details by IX customer UUID + tags: + - Customers + parameters: + - required: true + in: path + name: customer_uuid + description: UUID of chosen customer + schema: + type: string + format: uuid + responses: + '200': + description: IX details + content: + application/json: + schema: + type: object + properties: + pricing_url: + type: string + description: Url of the IX details page + example: https://ix-example.pf/connect/guide + redirect_url: + type: string + description: >- + Url the customer will be redirected to after setting up an + IX connection + example: https://ix-example.pf/connect/provision + tiers: + type: array + description: Pricing tiers of the IX + items: + type: object + properties: + price: + type: string + description: Price + example: $82.91 MRC + speed: + type: integer + description: Speed (Mbps) + example: 10000 + viewValue: + type: string + description: String representation for speed + example: 10G + order_completion_method: + type: string + description: Order completion method + example: email + email: + type: string + description: IX contact email + example: contacts@ix-example.pf + /v2/diagnostic-reports: + post: + tags: + - Diagnostic Reports + summary: Create a diagnostic report + requestBody: + content: + application/json: + schema: + type: object + properties: + circuit_ids: + type: array + description: An array of circuit IDs + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + description: + type: string + description: The description of the diagnostic report + example: User provided description + start_time: + type: string + format: date-time + description: >- + The start time of this report and should be at least an hour + ago. Without timezone, start time will be considered as UTC + include_related: + type: boolean + description: Whether to include related reports or not + example: false + required: + - circuit_ids + - start_time + responses: + '200': + description: Response of a created diagnostic report + content: + application/json: + schema: + type: object + properties: + report: + type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + get: + tags: + - Diagnostic Reports + summary: Get diagnostic reports + operationId: get_reports + parameters: + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: reason + schema: + type: string + enum: + - USER + - SYSTEM + - OTHER + description: The reason to filter by + - required: false + in: query + name: user_login + schema: + type: string + description: The user login to filter by + - required: false + in: query + name: circuit_id + schema: + type: string + description: Circuit ID of the service to get the reports + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: q + schema: + type: string + description: Search query string used to filter reports + - required: false + in: query + name: description + schema: + type: string + description: The user provided description of the report + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - current_event_num + - num_expected_events + - report_uuid + - state + - time_created + description: Column to sort results on + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: The offset of results for this page + responses: + '200': + description: Get list of diagnostic reports based on query parameters + content: + application/json: + schema: + type: object + properties: + reports: + type: array + items: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + /v2/diagnostic-reports/{report_uuid}: + get: + tags: + - Diagnostic Reports + summary: Get diagnostic report details by UUID + operationId: get_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report details + content: + application/json: + schema: + type: object + properties: + report: + allOf: + - type: object + properties: + report_uuid: + type: string + description: The identifier for the report + example: 56ad5b9e-d7cf-41c5-a2a9-30c72d74059d + state: + type: string + description: The state of the report + example: accepted + enum: + - accepted + - analyze-results + - build-inventory + - complete + - failed + - finalize + - gather-facts + - generate-report + - started + - update-ticket + circuit_ids: + type: array + items: + type: string + description: Array of circuit ids associated with a report + example: + - PF-AE-ABC-123 + description: + type: string + description: The description of the report + example: User provided description + - type: object + properties: + reason: + type: string + description: Reason for the report + example: USER + user_login: + type: string + description: Email of user + example: user@email.com + num_expected_events: + type: integer + current_event_num: + type: integer + start_time: + type: string + format: date-time + description: The start time of this report + time_created: + type: string + format: date-time + description: The time the report was created + has_errors: + type: boolean + payload: + type: object + circuits: + type: array + items: + type: object + properties: + circuit_id: + type: string + example: PF-AE-ABC-123 + service_type: + type: string + example: vc + description: + type: string + example: User description + delete: + tags: + - Diagnostic Reports + summary: Delete diagnostic report + operationId: delete_report + parameters: + - name: report_uuid + in: path + required: true + description: UUID of the diagnostic report to delete + schema: + type: string + format: uuid + responses: + '200': + description: Diagnostic report deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Report deleted successfully + /v2/documents: + get: + operationId: document_get_list + summary: Get documents list filtered by params + description: | + Use this endpoint to fetch the list of the documents. + You can use filters for your search results + tags: + - Documents + parameters: + - name: uuid + schema: + type: string + format: uuid + description: Search documents by UUID + example: 12a30d30-20c0-4f62-a982-eb1424631094 + in: query + - name: name + schema: + type: string + description: Search document by name + example: loa.pdf + in: query + required: false + - name: type + description: Search document by type + example: loa + schema: + type: string + enum: + - loa + - msa + - service_order + - test_results + - other + in: query + - name: port_circuit_id + schema: + type: string + description: Search LOA by port id + example: PF-AP-WDC1-1000 + in: query + - name: pop + schema: + type: string + description: Search LOA by pop + example: WDC1 + in: query + - name: vc_circuit_id + schema: + type: string + example: PF-DC-SMF-PDX-12345 + description: Search service orders by Virtual Circuit ID + in: query + - name: cloud_router_circuit_id + schema: + type: string + example: PF-L3-CUST-1400 + description: Search service orders by Cloud Router Circuit ID + in: query + - name: cloud_router_connection_circuit_id + schema: + type: string + example: PF-L3-CON-12345 + description: Search service orders by Cloud Router Connection Circuit ID + in: query + - name: hpi_circuit_id + schema: + type: string + example: PF-L3-TRAN-1400 + description: Search service orders by High Performance Internet Circuit ID + in: query + - name: aggregate_capacity_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + deprecated: true + - name: flex_bandwidth_id + schema: + type: string + example: PF-AB-12345 + description: Search service orders by Flex Bandwidth Container ID + in: query + - name: q + required: false + schema: + type: string + description: Search documents by partial name + example: loa + in: query + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - type + - name + - created + - updated + - name: sort_order + required: false + description: Sort order + in: query + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of documents + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this + document refers to + type: string + format: uri + post: + operationId: document_upload + summary: Create/Upload a document + tags: + - Documents + requestBody: + description: Document uploading form + required: true + content: + multipart/form-data: + schema: + type: object + required: + - type + - description + - document + properties: + document: + type: string + format: binary + description: Binary file contents + type: + type: string + description: Document type + example: loa + enum: + - loa + - msa + description: + type: string + description: Document description + example: description example + port_circuit_id: + type: string + description: >- + Port circuit id. This field is required only for "loa" + document type + example: PF-AP-WDC1-1000 + responses: + '201': + description: Created document details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/documents/{uuid}: + get: + operationId: document_get_by_uuid + security: [] + summary: Download the document + tags: + - Documents + parameters: + - required: true + in: path + name: uuid + description: UUID of the document to download + schema: + type: string + format: uuid + responses: + '200': + description: Document's binary data + content: + application/octet-stream: + schema: + type: string + format: binary + example: '[binary data]' + /v2/events: + post: + operationId: create_event_subscription + summary: Create event subscription + description: > + **This is a beta feature.** + + + Cloud router connections are not supported yet. + + + This is the first step to receive a real-time event stream via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). + + + In this POST request, you declare which types of events and categories + of those event + + types you wish to stream. Assuming your request is valid, the response + will contain a + + `subscription_uuid` that you will use as a path parameter for the + *Stream Events* `/v2/events/{uuid}` + + endpoint described below. + + + Each subscription bundle is permanently associated with the session that + created it and can + + only be streamed within that session. This includes subscription bundles + created using API + + Keys (`/v2/api-keys`). Further, you must begin streaming your new + subscription bundle within + + 5 minutes of creation or it will expire. However, once you begin + streaming a particular + + bundle it will be valid until the session associated with it expires. + + + **Make sure to fully expand the schema by clicking `>` to see the + details for each type of payload.** + tags: + - Streaming Events - Beta + requestBody: + content: + application/json: + schema: + type: object + required: + - streams + properties: + streams: + type: array + items: + anyOf: + - title: Activity Log Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - customer + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - auth + - physical_interface + items: + type: string + enum: + - auth + - bgp + - cloud_connection + - cloud_router + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + - title: Port Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - port + ifds: + type: array + description: > + Specific ports you wish to subscribe to, + identified by port circuit IDs. If none are + + supplied, then all ports to which the customer has + access are assumed. + example: + - PF-AP-ABC-1234 + - PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - errors + - etherstats + - metrics + - optical + items: + type: string + enum: + - errors + - etherstats + - metrics + - optical + - title: Logical Interface Stream Request + type: object + required: + - type + properties: + type: + type: string + description: Type of events to subscribe to + enum: + - vc + vcs: + type: array + description: > + Specific logical interfaces you wish to subscribe + to, each identified by a combination of + + the virtual circuit ID and port circuit ID + associated with the logical interface. If none + + are supplied, then all logical interfaces to which + the customer has access are assumed. + example: + - PF-BC-ABC-QRS-84274-PF&PF-AP-ABC-1234 + - PF-CC-JKL-DEF-13758-PF&PF-AE-DEF-5678 + items: + type: string + events: + type: array + description: > + Categories of events to subscribe to. If not + specified, then all event categories are assumed. + example: + - metrics + items: + type: string + enum: + - metrics + responses: + '201': + description: Subscription bundle created successfully + content: + application/json: + schema: + type: object + properties: + subscription_uuid: + type: string + format: uuid + description: ID for created bundle of event streams + /v2/events/{uuid}: + get: + operationId: stream_events + summary: Stream events + description: > + **This is a beta feature.** + + + Ensure that you have created a subscription bundle using the *Create + event subscription* `/v2/events` + + endpoint described above and that you have access to the + `subscription_uuid` returned from that request. + + + Using this `subscription_uuid`, you can now stream events in real-time + via + + [Server-sent + Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) + from + + `/v2/events/{subscription_uuid}`. + + + Every message that you receive will have the same basic structure of an + `event` field and a + + `data` field. The `data` field will always be a JSON object. The below + is an example of the + + response you would receive when one of your users authenticates with the + PacketFabric Portal or API. + + ``` + + event: customer|auth + + data: {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User Hank Aaron logged + in.","timestamp": "2020-06-11T19:08:10.150711"} + + + ``` + + The precise content of the `data` of a given message will vary widely + depending on its particular + + type. The specifics of each are documented below. + + + In order to keep the connection open, you will also receive heartbeat + messages (`:`) if enough + + time has passed between events. Our API enforces a maximum connection + duration of two hours, + + so any automated system that uses this endpoint will need to account for + reconnecting periodically. + + + The below is a small example client using the + [sseclient](https://github.com/btubbs/sseclient) + + library for consuming a stream of Server-sent events. To use it, you'll + need to install sseclient and + + [requests](https://docs.python-requests.org/en/master/index.html) and be + using Python 3.7 or later. + + You will need to set your username and password into the `username` and + `password` + + variables near the bottom of the file as well. Also, the sseclient + library will automatically + + reconnect when the connection is lost. + + + ``` + + import asyncio + + import datetime + + + import requests + + from sseclient import SSEClient + + + BASE_URL = "https://api.packetfabric.com" + + + LOGIN = f"{BASE_URL}/v2/auth/login" + + LOGOUT = f"{BASE_URL}/v2/auth/logout" + + EVENTS_BASE = f"{BASE_URL}/v2/events" + + + + def login(username, password): + print("Logging in...") + resp = requests.post(LOGIN, json={"login": username, "password": password}) + print(f"Login response: {resp.json()}") + return resp.json()["token"] + + + def logout(token): + headers = {"Authorization": f"Bearer {token}"} + requests.get(LOGOUT, headers=headers) + print("Logged out") + + + def create_subscription(token): + url = EVENTS_BASE + headers = {"Authorization": f"Bearer {token}"} + body = { + "streams": [{"type": "customer"}] + } + resp = requests.post(url, json=body, headers=headers) + return resp.json()["subscription_uuid"] + + + async def consume_client(token, subscription_uuid): + headers = {"Authorization": f"Bearer {token}", "Accept": "text/event-stream"} + url = f"{EVENTS_BASE}/{subscription_uuid}" + r = SSEClient(url, headers=headers) + for event in r: + print(event.dump()) + + + if __name__ == "__main__": + username = "" + password = "" + token = login(username, password) + subscription_uuid = create_subscription(token) + try: + print(f"Starting stream at {datetime.datetime.utcnow().isoformat()}") + asyncio.run(consume_client(token, subscription_uuid)) + finally: + print(f"Ending stream at {datetime.datetime.utcnow().isoformat()}") + logout(token) + ``` + tags: + - Streaming Events - Beta + parameters: + - required: true + in: path + name: uuid + description: UUID of the subscription bundle + schema: + type: string + format: uuid + responses: + default: + description: Event stream + content: + text/event-stream: + schema: + type: object + properties: + event: + type: string + enum: + - customer|auth + - customer|billing + - customer|bgp + - customer|contact + - customer|cloud_connection + - customer|cloud_router + - customer|customer + - customer|document + - customer|lag_interface + - customer|logical_interface + - customer|physical_interface + - customer|outbound_cross_connect + - customer|point_to_point + - customer|rate_limit + - customer|user + - customer|virtual_circuit + - port|errors + - port|etherstats + - port|metrics + - port|optical + - vc|metrics + data: + anyOf: + - title: Activity Log Event Stream Data + example: > + {"log_level": "info","category": "auth","event": + "login","ip_address": "192.168.1.0","message": "User + Hank Aaron logged in.","timestamp": + "2021-08-06T16:23:12.872013+0000"} + type: object + properties: + user: + type: string + description: >- + username of user that performed this action or + 'system' + log_level: + description: Name of the level at which this event was logged + type: string + enum: + - emergency + - alert + - critical + - error + - warning + - notice + - info + - debug + category: + description: Category of the event + type: string + enum: + - auth + - billing + - bgp + - contact + - cloud_connection + - cloud_router + - customer + - document + - lag_interface + - logical_interface + - physical_interface + - outbound_cross_connect + - point_to_point + - rate_limit + - user + - virtual_circuit + event: + type: string + description: Short name of the event + example: login + message: + type: string + description: Details of the event + example: User Alice logged in + timestamp: + type: string + format: date-time + description: Time of the event + example: '2020-06-11T19:08:10.150711' + - title: Logical Interface Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "vc_circuit_id": "PF-CC-ABC-QRS-24827-PF", "vlan": + "4", "port_circuit_id": "PF-AP-ABC-999-PF", + "bytes_rx_bps": 512, "bytes_rx_total": 1024, + "bytes_tx_bps": 512, "bytes_tx_total": 1024, + "packets_rx_pps": 2048, "packets_rx_total": 4096, + "packets_tx_pps": 2048, "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + vc_circuit_id: + type: string + port_circuit_id: + type: string + vlan: + type: integer + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Metrics Event Stream + example: > + {"timestamp": "2021-09-22T20:34:30+00:00", + "port_circuit_id": "PF-AP-ABC-999-PF", "bytes_rx_bps": + 512, "bytes_rx_total": 1024, "bytes_tx_bps": 512, + "bytes_tx_total": 1024, "packets_rx_pps": 2048, + "packets_rx_total": 4096, "packets_tx_pps": 2048, + "packets_tx_total": 4096} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + bytes_rx_bps: + type: integer + bytes_rx_total: + type: integer + bytes_tx_bps: + type: integer + bytes_tx_total: + type: integer + packets_rx_pps: + type: integer + packets_rx_total: + type: integer + packets_tx_pps: + type: integer + packets_tx_total: + type: integer + - title: Port Errors Event Stream + example: > + {"timestamp": "2021-09-22T21:16:22+00:00", + "port_circuit_id": "PF-AP-PHX2-2161831", "rx_discard": + 0, "rx_drop": 0, "rx_fifo": 0, "rx_framing": 0, + "rx_l2_channel": 0, "rx_l2_mismatch_timeout": 0, + "rx_l3_incomplete": 0, "rx_resource": 0, "rx_runt": 0, + "rx_unspecified": 0, "tx_aged": 0, "tx_carrier": 0, + "tx_collision": 0, "tx_drop": 0, "tx_fifo": 0, + "tx_link_crc": 0, "tx_mtu": 0, "tx_resource": 0, + "tx_unspecified": 0} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_discard: + type: integer + rx_drop: + type: integer + rx_fifo: + type: integer + rx_framing: + type: integer + rx_l2_channel: + type: integer + rx_l2_mismatch_timeout: + type: integer + rx_l3_incomplete: + type: integer + rx_resource: + type: integer + rx_runt: + type: integer + rx_unspecified: + type: integer + tx_aged: + type: integer + tx_carrier: + type: integer + tx_collision: + type: integer + tx_drop: + type: integer + tx_fifo: + type: integer + tx_link_crc: + type: integer + tx_mtu: + type: integer + tx_resource: + type: integer + tx_unspecified: + type: integer + - title: Port Etherstats Event Stream + example: > + {"timestamp": "2021-09-22T21:25:48+00:00", + "port_circuit_id": "PF-AP-PLG3-2158617", + "rx_broadcasts": 0, "rx_bytes": + 426166,"rx_code_violations": 0, "rx_crc_errors": 0, + "rx_fifo_errors": 0, "rx_fragment_frames": 0, + "rx_jabber_frames": 0, "rx_mac_control_frames": 0, + "rx_mac_pause_frames": 0, "rx_multicasts": 0, + "rx_oversized_frames": 0, "rx_packets": 5764, + "rx_unicast": 5764, "rx_vlan_tagged_frames": 0, + "tx_broadcasts": 0, "tx_bytes": 996137, + "tx_crc_errors": 0, "tx_fifo_errors": 0, + "tx_mac_control_frames": 0, "tx_mac_pause_frames": 0, + "tx_multicasts": 0, "tx_packets": 7828, "tx_unicast": + 7828} + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + rx_broadcasts: + type: integer + rx_bytes: + type: integer + rx_code_violations: + type: integer + rx_crc_errors: + type: integer + rx_fifo_errors: + type: integer + rx_fragment_frames: + type: integer + rx_jabber_frames: + type: integer + rx_mac_control_frames: + type: integer + rx_mac_pause_frames: + type: integer + rx_multicasts: + type: integer + rx_oversized_frames: + type: integer + rx_packets: + type: integer + rx_unicast: + type: integer + rx_vlan_tagged_frames: + type: integer + tx_broadcasts: + type: integer + tx_bytes: + type: integer + tx_crc_errors: + type: integer + tx_fifo_errors: + type: integer + tx_mac_control_frames: + type: integer + tx_mac_pause_frames: + type: integer + tx_multicasts: + type: integer + tx_packets: + type: integer + tx_unicast: + type: integer + - title: Port Optical Event Stream + example: > + {"timestamp": "2021-09-22T21:32:43+00:00", + "port_circuit_id": "PF-AP-WDC1-2158608", + "lane_0_bias_current": 0.0, "lane_0_index": 0.0, + "lane_0_output_power": 0.0, "lane_0_rx_dbm": 0.0, + "lane_0_rx_power": 0.0, "lane_0_tx_dbm": 0.0, + "lane_0_tx_power": 0.0, "lane_1_bias_current": 0.0, + "lane_1_index": 0.0, "lane_1_output_power": 0.0, + "lane_1_rx_dbm": 0.0, "lane_1_rx_power": 0.0, + "lane_1_tx_dbm": 0.0, "lane_1_tx_power": 0.0, + "lane_2_bias_current": 0.0, "lane_2_index": 0.0, + "lane_2_output_power": 0.0, "lane_2_rx_dbm": 0.0, + "lane_2_rx_power": 0.0, "lane_2_tx_dbm": 0.0, + "lane_2_tx_power": 0.0, "lane_3_bias_current": 0.0, + "lane_3_index": 0.0, "lane_3_output_power": 0.0, + "lane_3_rx_dbm": 0.0, "lane_3_rx_power": 0.0, + "lane_3_tx_dbm": 0.0, "lane_3_tx_power": 0.0} + description: Body of the event + type: object + properties: + timestamp: + type: string + format: date-time + example: '2021-09-22T20:34:30+00:00' + port_circuit_id: + type: string + lane_0_bias_current: + type: number + format: float + lane_0_index: + type: number + format: float + lane_0_output_power: + type: number + format: float + lane_0_rx_dbm: + type: number + format: float + lane_0_rx_power: + type: number + format: float + lane_0_tx_dbm: + type: number + format: float + lane_0_tx_power: + type: number + format: float + lane_1_bias_current: + type: number + format: float + lane_1_index: + type: number + format: float + lane_1_output_power: + type: number + format: float + lane_1_rx_dbm: + type: number + format: float + lane_1_rx_power: + type: number + format: float + lane_1_tx_dbm: + type: number + format: float + lane_1_tx_power: + type: number + format: float + lane_2_bias_current: + type: number + format: float + lane_2_index: + type: number + format: float + lane_2_output_power: + type: number + format: float + lane_2_rx_dbm: + type: number + format: float + lane_2_rx_power: + type: number + format: float + lane_2_tx_dbm: + type: number + format: float + lane_2_tx_power: + type: number + format: float + lane_3_bias_current: + type: number + format: float + lane_3_index: + type: number + format: float + lane_3_output_power: + type: number + format: float + lane_3_rx_dbm: + type: number + format: float + lane_3_rx_power: + type: number + format: float + lane_3_tx_dbm: + type: number + format: float + lane_3_tx_power: + type: number + format: float + /v2/flex-bandwidth: + post: + operationId: create_flex_bandwidth + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + operationId: get_flex_bandwidth_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/flex-bandwidth/{flex_bandwidth_id}: + get: + operationId: get_flex_bandwidth_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + operationId: delete_flex_bandwidth + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: flex_bandwidth_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/groups: + get: + operationId: group_get + summary: Get the current customer's groups + description: >- + Use this endpoint to get the list of groups available for the current + customer + tags: + - Groups + responses: + '200': + description: List of the current customer's groups + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Group name. You can use it as group identifier + example: regular + _links: + type: object + description: Shows resources you can use the group in + properties: + permissions: + type: string + description: Url to get the list of permissions in this group + example: >- + https://api.packetfabric.com/v2/groups/regular/permissions + users: + type: string + description: Url to get the list of the users in this group + example: https://api.packetfabric.com/v2/groups/regular/users + /v2/groups/{group_name}/users: + get: + operationId: group_get_user_list + summary: Get the list of users in the group + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of users in + schema: + type: string + example: regular + responses: + '200': + description: List of users in the group + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/groups/{group_name}/permissions: + get: + operationId: group_get_permission_list + summary: Get the list of permissions granted for the group + description: >- + Every granted permission makes it possible to use corresponding + resources + tags: + - Groups + parameters: + - required: true + in: path + name: group_name + description: Name of the group to get the list of permissions in + schema: + type: string + example: regular + responses: + '200': + description: List of group's permissions + content: + application/json: + schema: + type: array + items: + type: object + properties: + permission_key: + type: string + description: Permission name + example: group/permission.read + has_permission: + type: boolean + description: >- + Shows if the permission is enabled within the given + group + /v2/locations/{site_code}: + get: + operationId: get_location + summary: Get location data for specified location + tags: + - Locations + parameters: + - required: true + in: path + name: site_code + description: Site code of the target location + schema: + type: string + example: CS-LA1 + responses: + '200': + description: Details of a physical location specified by the site code + content: + application/json: + schema: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2/locations: + get: + operationId: get_location_list + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + /v2.1/locations: + get: + operationId: get_location_list2_1 + security: [] + summary: Get location list by filter params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: ipsec_capable + description: >- + Flag specifying that only locations capable of IPSec should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: near_cloud_router + description: >- + Flag specifying that only locations with a proximity to a Cloud + Router port should be returned + schema: + type: boolean + default: false + - required: false + in: query + name: cloud_provider + description: Filter locations by the cloud provider + schema: + type: string + enum: + - aws + - azure + - google + - ibm + - oracle + - required: false + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - dedicated + - hosted + - required: false + in: query + name: network_provider + description: Filter locations by the network provider + schema: + type: string + example: PacketFabric + - required: false + in: query + name: single_armed + description: Filter locations by whether or not they are single armed + schema: + type: boolean + - required: false + in: query + name: export + description: Export the data as a CSV file + schema: + type: string + example: csv + - required: false + in: query + name: enni + description: Filter locations by whether or not they support ENNI + schema: + type: boolean + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_providers: + type: array + description: List of cloud providers available at this location + items: + type: object + properties: + provider: + type: string + description: Cloud provider name + enum: + - aws + - azure + - google + - ibm + - oracle + region: + type: string + description: Cloud provider region + example: us-east-1 + region_description: + type: string + description: Cloud provider region description + example: US East (N. Virginia) + connection_types: + type: array + description: >- + List of connection types available at this + location + items: + type: object + properties: + type: + type: string + description: Connection type name + enum: + - hosted + - dedicated + zones: + type: array + description: List of zones available at this location + items: + type: string + example: A + /v2/locations/cloud: + get: + operationId: get_cloud_location_list + summary: Get a list of cloud locations filtered by query params + tags: + - Locations + parameters: + - required: false + in: query + name: pop + description: Filter locations by the POP name + schema: + type: string + example: LAX1 + - required: false + in: query + name: city + description: Filter locations by the city name + schema: + type: string + example: Los Angeles + - required: false + in: query + name: state + description: Filter locations by the state + schema: + type: string + example: CA + - required: false + in: query + name: market + description: Filter locations by the market code + schema: + type: string + example: LAX + - required: false + in: query + name: region + description: Filter locations by the region's short name + schema: + type: string + example: US + - required: false + in: query + name: any_type + description: >- + Flag specifying should only primary locations or locations of any + type be returned + schema: + type: boolean + default: false + - required: false + in: query + name: has_cloud_router + description: Flag to look for only cloud-router capable locations + schema: + type: boolean + default: false + - required: true + in: query + name: cloud_provider + description: Filter locations by the cloud provider key + schema: + type: string + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - required: true + in: query + name: cloud_connection_type + description: Filter locations by the cloud connection type + schema: + type: string + enum: + - hosted + - dedicated + - required: false + in: query + name: nat_capable + description: >- + Flag specifying that only locations capable of NAT should be + returned + schema: + type: boolean + default: false + - required: false + in: query + name: device_port_type + description: >- + Filter locations by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + List of physical locations, optionally filtered by provided + parameters + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + pop: + type: string + description: POP name + example: LAX1 + region: + type: string + description: Region short name + example: US + market: + type: string + description: Market code + example: LAX + market_description: + type: string + description: Market description + example: Los Angeles + vendor: + type: string + description: Vendor name + example: EdgeConneX + site: + type: string + description: Site name + example: EdgeConneX LAX + site_code: + type: string + description: Site code + example: DU-CH1 + type: + type: string + description: Site type + example: primary + status: + type: string + description: Current status of the site + example: Active + latitude: + type: string + description: Site's geo location - latitude + example: 38.59229 + longitude: + type: string + description: Site's geo location - longitude + example: -121.277357 + timezone: + type: string + description: Local timezone of the site + example: UTC + notes: + type: string + description: Additional notes + example: '' + pcode: + type: integer + format: int64 + description: pcode + example: 1234567 + lead_time: + type: string + description: Site's lead time + example: instant + single_armed: + type: boolean + description: Indication that site is single armed + example: false + address1: + type: string + description: Site's address - line one + example: 624 S Grand Ave + address2: + type: string + description: Site's address - line two + example: STE + city: + type: string + description: Site's address - city name + example: Los Angeles + state: + type: string + description: Site's address - state code + example: CA + postal: + type: string + description: Site's address - postal code + example: 90017 + country: + type: string + description: Site's address - country code + example: US + network_provider: + type: string + description: Network provider for ports at this location + enum: + - PacketFabric + - Colt + time_created: + type: string + format: date-time + description: Date the location was added + example: '2020-01-01T12:30:00.000Z' + device_port_types: + description: List of device port types for this location + type: array + items: + type: string + description: The type of port device + example: blue + - type: object + properties: + cloud_provider: + type: string + description: > + Short key identifying cloud provider, + + only available when providing cloud_provider or + cloud_connection_type query parameter + enum: + - aws + - google + - azure + - ibm + - salesforce + cloud_connection_details: + type: object + description: > + Details of the connection, + + only available when providing cloud_provider or + cloud_connection_type query parameter + properties: + region: + type: string + description: Short region name + example: us-east-1 + region_description: + type: string + description: Long region description + example: US East (N. Virginia) + hosted_type: + type: string + description: Type of the connection + enum: + - hosted-connection + - dedicated-connection + zones: + type: array + description: List of zones available at this location + items: + type: string + example: + - A + - B + /v2/locations/extrametro: + get: + operationId: get_extrametro_location_list + summary: Get a list of extrametro locations + tags: + - Locations + responses: + '200': + description: List of extrametro locations + content: + application/json: + schema: + type: array + items: + type: object + properties: + desired_market: + type: string + description: Desired market + example: LON + allowed_market: + type: string + description: Allowed market + example: SFO + /v2/locations/regions: + get: + operationId: get_location_region_list + summary: Get region list + tags: + - Locations + responses: + '200': + description: List of available regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Region name + example: Continental U.S. + code: + type: string + description: Region code + example: US + /v2/locations/markets: + get: + operationId: get_location_market_list + summary: Get market list + tags: + - Locations + responses: + '200': + description: List of available markets + content: + application/json: + schema: + type: array + items: + type: object + properties: + name: + type: string + description: Market name + example: Los Angeles + code: + type: string + description: Market code + example: LAX + country: + type: string + description: Market country code + example: US + /v2/locations/{pop}/port-availability: + get: + operationId: get_location_port_availability + summary: Get port availability data for a POP + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: '' + content: + application/json: + schema: + type: array + items: + type: object + properties: + zone: + type: string + description: Zone name + example: A + speed: + type: string + description: Wiring speed + example: 100Gbps + media: + type: string + description: Media type + example: LR4 + count: + type: integer + description: Number of available ports + example: 3 + partial: + type: boolean + description: Ports are partially available + example: false + enni: + type: boolean + description: Ports support eNNI + example: false + /v2/locations/{pop}/zones: + get: + operationId: get_location_zone_availability + summary: Get zones for a POP. + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target port + schema: + type: string + responses: + '200': + description: A list of zones in the given POP. + content: + application/json: + schema: + type: array + items: + type: string + example: A + /v2/locations/{pop}/image: + get: + operationId: get_location_image + summary: Get image for a specified location + tags: + - Locations + parameters: + - required: true + in: path + name: pop + description: POP name of the target location + schema: + type: string + responses: + '200': + description: Location image in PNG, JPEG or BMP format + content: + image/jpeg: + schema: + type: string + format: binary + example: JPEG image file + image/png: + schema: + type: string + format: binary + example: PNG image file + image/bmp: + schema: + type: string + format: binary + example: BMP image file + /v2/labels/{value}: + put: + operationId: update_label + summary: Update a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be linked when the operation is complete. + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + patch: + operationId: add_label + summary: Add to a label's circuit_ids + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - objects + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + objects: + type: array + description: >- + An array of circuit IDs for all objects that are intended to + be added to the existing list of circuit_ids mapped to a + label + items: + type: string + description: Circuit ID intended to be linked + example: PF-AE-LAX1-1234 + responses: + '200': + description: Successfully updated labels + content: + application/json: + schema: + type: object + required: + - objects + properties: + objects: + type: array + items: + type: string + description: Circuit ID actually are linked to the label + example: PF-AE-LAX1-1234 + get: + operationId: get_label_objects + summary: Get a list of objects associated with a label + tags: + - Labels + parameters: + - required: true + in: path + name: value + description: Label value + schema: + type: string + - required: false + in: query + name: label_type + description: >- + Label type. customer_ref by default. reseller_ref is only for the + reseller customers + schema: + type: string + enum: + - customer_ref + - reseller_ref + responses: + '200': + description: List of circuit IDs associated with a label + content: + application/json: + schema: + type: object + properties: + objects: + type: array + description: An array of circuit IDs associated with a label + items: + type: string + description: Circuit ID associated with a label + example: PF-AE-LAX1-1234 + /v2/labels: + get: + operationId: get_labels + summary: Get a list of labels associated with a customer + tags: + - Labels + responses: + '200': + description: List of labels associated with a customer + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value + example: staging + /v2/lags: + post: + operationId: lag_post + summary: Create a LAG Interface + tags: + - LAGs + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - interval + - pop + - members + properties: + description: + type: string + description: Description of a LAG + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + pop: + type: string + description: Point of presence + example: LAX1 + members: + type: array + description: >- + List of member port identifiers. All members must have the + same speed and media. + items: + type: string + example: PF-AE-LAX1-1234 + responses: + '201': + description: LAG creation successful, returns newly created LAG + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + /v2/lags/{port_circuit_id}: + patch: + operationId: lag_patch + summary: Updates a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: Description of a LAG, up to 256 characters + interval: + type: string + enum: + - fast + - slow + description: Interval at which LACP packets are sent + responses: + '200': + description: Returns the updated interface + content: + application/json: + schema: + type: object + properties: + state: + type: string + enum: + - Active + - Requested + - Disabled + port_circuit_id: + type: string + description: The LAG's circuit id + description: + type: string + description: Description of a LAG + number: + type: integer + description: LAG number + time_created: + type: string + format: date-time + description: Date and time of port object creation + accepted: + type: boolean + description: Flag indicating that this LAG has been accepted + delete: + operationId: lag_delete + summary: Deletes a LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to delete the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/enable: + post: + operationId: post_lag_enable + summary: Enables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to enable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{port_circuit_id}/disable: + post: + operationId: post_lag_disable + summary: Disables a target LAG Interface + tags: + - LAGs + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: Port identifier + responses: + '200': + description: Successfully started task to disable the interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members: + get: + operationId: lag_list_members + summary: Lists member interfaces for a LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a LAG + responses: + '200': + description: List of port members of the LAG + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: post_lag_member_interface + summary: >- + Adds a member interface to a target LAG. All members must have the same + speed and media. + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + requestBody: + content: + application/json: + schema: + type: object + required: + - member_port_circuit_id + properties: + member_port_circuit_id: + type: string + example: PF-AE-LAX1-1234 + description: ID of a member interface to add to LAG + responses: + '200': + description: Successfully started task to add member interface(s) + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: + operationId: delete_lag_member_interface + summary: Remove a member interface from a target LAG + tags: + - LAGs + parameters: + - required: true + in: path + name: lag_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-1234 + description: ID of a target LAG + - required: true + in: path + name: member_port_circuit_id + schema: + type: string + example: PF-AE-LAX1-7890 + description: ID of the member to remove + responses: + '200': + description: Successfully started task to delete member interface + content: + application/json: + schema: + type: object + properties: + workflow_name: + type: string + enum: + - started + /v2/marketplace/services: + get: + operationId: marketplace_customer_services_get + summary: Get the collection of customers with services offered in the marketplace + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: >- + Filters the service list to a specific service-provider customer. + Allows multiple comma-separated values. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: pop + description: >- + Filters the service list to a specific location. Allows multiple + comma-separated values. + schema: + type: string + example: SAC1 + - required: false + in: query + name: market + description: >- + Filters the service list to a specific market. Allows multiple + comma-separated values. + schema: + type: string + example: SAC + - required: false + in: query + name: category + description: Filters the service list to a specific category + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: service_type + description: >- + Filters the service list by service type. Allows multiple + comma-separated values. Defaults to port-service. + schema: + type: string + enum: + - port-service + - cloud-router-service + example: Port Service + - required: false + in: query + name: show_unpublished + description: >- + Show unpublished services. Only returns results for the current + customer. Defaults to false. + schema: + type: boolean + example: true + - required: false + in: query + name: q + description: >- + Filters services by partial name, description, service uuid, or + customer name + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - customer_uuid + - name + - time_created + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all marketplace services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + customer_uuid: + type: string + description: UUID of the customer + format: uuid + routing_id: + type: string + description: Routing ID of the customer + example: PF-1RI-OQ85 + name: + type: string + description: Human-readable name of the customer + example: Example Ltd. + aliases: + type: string + description: The customer's aliases + example: Example alias + description: + type: string + description: Short description of what the customer does + example: Example description + website: + type: string + description: URL of the customer's website + example: www.example.com + format: uri + industries: + type: array + description: Industries in which the customer operates + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + service_provider_type: + type: array + description: What kinds of service provider the customer is + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: network-services + service_provider_name: + type: string + description: Human-readable name + example: Network Services + _links: + type: object + properties: + customer_image: + type: string + description: Link to the customer's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + services: + type: array + description: Services the customer offers + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: >- + Service categories in which the service is + included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: >- + Identifier to be used in URLs and JSON + bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: >- + Whether or not the service is visible to the + public + state: + type: string + description: >- + Whether or not the service is active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for + services of type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + post: + operationId: marketplace_services_post + summary: Create a new service + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + enum: + - cloud-computing + - content-delivery-network + - edge-computing + - sd-wan + - data-storage + - developer-platform + - internet-service-provider + - security + - video-conferencing + - voice-and-Messaging + - web-hosting + - internet-of-things + - private-connectivity + - bare-metal-hosting + - sip-trunking + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + service_type: + type: string + description: >- + The service type of this service. Defaults to + 'port-service'. + example: port-service + enum: + - port-service + - cloud-router-service + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this service is + associated with. + example: PF-L3-CUST-2001 + route_set: + type: object + required: + - prefixes + properties: + description: + type: string + description: The route set's description + example: User entered description + is_private: + type: boolean + description: Whether this route set is private. Defaults to true. + example: true + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + required: + - name + - published + responses: + '201': + description: Created marketplace service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/quick-connect: + get: + operationId: quick_connect_services_get + summary: Get the collection of Quick Connect services + tags: + - Marketplace + parameters: + - required: false + in: query + name: routing_id + description: Filters the service list to a specific service-provider customer. + schema: + type: string + example: GAL-OHR-I9MM + - required: false + in: query + name: published + description: >- + Indicates whether to return published services or unpublished + services, used with routing_id param. + schema: + type: boolean + example: true + - required: false + in: query + name: category + description: >- + Filters the service list to a specific category. Allows multiple + comma-separated values. + schema: + type: string + example: cloud-computing + - required: false + in: query + name: industry + description: >- + Filters the service list to a specific industry. Allows multiple + comma-separated values. + schema: + type: string + example: telecommunications + - required: false + in: query + name: service_provider_type + description: >- + Filters the service list by service provider type. Allows multiple + comma-separated values. + schema: + type: string + example: Cloud Computing Providers + - required: false + in: query + name: l3nf_id + description: Filters the service list by the attached cloud router id. + schema: + type: integer + example: 1000 + - required: false + in: query + name: q + description: Filters services by partial name, description or service uuid + schema: + type: string + example: 2ab4-948d-6954-2ab4 + - required: false + in: query + name: show_empty + description: Show cloud-router services with no prefixes. + schema: + type: boolean + example: true + default: false + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - description + - name + - uuid + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: List of all Quick Connect services matching the applied filters. + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: >- + Whether or not this cloud-router service has any + prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + /v2/marketplace/services/{service_uuid}: + get: + operationId: marketplace_services_get_by_uuid + summary: Get a single service object + tags: + - Marketplace + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + responses: + '200': + description: Service object matching requested UUID + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + patch: + operationId: marketplace_services_put_by_uuid + summary: Update a service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the service + example: Example Service + description: + type: string + description: Short description of what the service does + example: Example description + state: + type: string + description: >- + Whether or not the service is currently active (currently + unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: ddos-prot + locations: + type: array + description: Locations in which the service will operate + items: + type: string + example: PDX1 + categories: + type: array + description: Categories in which the service will fit + items: + type: string + example: cloud-computing + published: + type: boolean + description: Whether or not the service should be publically viewable + example: true + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of type + cloud-router-service. + example: 10Gbps + responses: + '200': + description: Details of updated service + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + description: UUID of the service + format: uuid + locations: + type: array + description: Locations in which the service has ports + items: + type: string + example: SAC1 + categories: + type: array + description: Service categories in which the service is included + items: + type: object + properties: + name: + type: string + description: Human-readable name + example: UCaaS + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: ucaas + name: + type: string + description: The service's name + example: Example Service + service_type: + type: string + description: The service's service type + example: port-service + enum: + - port-service + - cloud-router-service + description: + type: string + description: The service's description + example: User entered description + published: + type: boolean + description: Whether or not the service is visible to the public + state: + type: string + description: Whether or not the service is active (currently unused) + example: Active + sku: + type: string + description: Internal identifier for the service + example: hosted-sfb-1 + cloud_router_circuit_id: + type: string + description: Circuit Id of the connected Cloud Router + example: PF-L3-CUST-1234 + bgp_route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + deprecated: true + route_set_circuit_id: + type: string + description: Circuit Id of the connected Route Set + example: PF-L3-RS-1234 + is_empty: + type: boolean + description: Whether or not this cloud-router service has any prefixes. + example: false + max_speed: + type: string + description: >- + The maximum speed of the service. Only for services of + type cloud-router-service. + example: 10Gbps + _links: + type: object + properties: + service_image: + type: string + description: Link to the service's image + example: >- + https://api.packetfabric.com/v2/marketplace/services/12345678-12ab-1a23-1a23-12ab3c456789/image + route_sets: + type: string + description: Link to the service's route set, if available + example: >- + https://api.packetfabric.com/v2/services/cloud-routers/PF-L3-CUST-1234/route-sets/PF-L3-RS-1234 + delete: + operationId: marketplace_services_delete_by_uuid + summary: Delete a marketplace service + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Service deleted successfully + /v2/marketplace/services/{service_uuid}/image: + get: + operationId: marketplace_services_get_image + summary: Get a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's image + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + delete: + operationId: marketplace_services_delete_image + summary: Delete a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Image deleted + description: Operation status + post: + operationId: marketplace_services_post_image + summary: Update a service's image + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Image to be set for the service + required: true + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Image set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + enum: + - Image updated + example: Image updated + description: Operation status + /v2/marketplace/services/{service_uuid}/thumbnail: + get: + operationId: marketplace_services_get_thumbnail + summary: Get a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: Chosen service's thumbnail + content: + image/png: + schema: + type: string + format: binary + image/jpeg: + schema: + type: string + format: binary + image/bmp: + schema: + type: string + format: binary + post: + operationId: marketplace_services_post_thumbnail + summary: Update a service's thumbnail + parameters: + - required: true + in: path + name: service_uuid + description: Service UUID + schema: + type: string + format: uuid + tags: + - Marketplace + requestBody: + description: Thumbnail to be set for the service + content: + multipart/form-data: + schema: + type: object + required: + - image + properties: + image: + type: string + format: binary + description: Image in png/jpeg/bmp format + responses: + '200': + description: Thumbnail set successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Thumbnail set successfully + description: Operation status + /v2/marketplace/services/{service_uuid}/route-set: + get: + operationId: marketplace_service_get_route_set + summary: Returns the Route Set associated with the Marketplace Service. + parameters: + - required: true + in: path + name: service_uuid + description: UUID by which to filter + schema: + type: string + format: uuid + tags: + - Marketplace + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 23.159.0.128/32 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/marketplace/industries: + get: + operationId: industries_get + summary: Return a list of all possible industries + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible industries + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: telecommunications + name: + type: string + description: Human-readable name + example: Telecommunications + /v2/marketplace/service-provider-types: + get: + operationId: service_provider_types_get + summary: Return a list of all possible service provider types + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service provider types + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-service-providers + name: + type: string + description: Human-readable name + example: Cloud Service Providers + /v2/marketplace/service-categories: + get: + operationId: service_categories_get + summary: Return a list of all possible service categories + tags: + - Marketplace + parameters: + - required: false + in: query + name: active + description: Only return items that are in use by at least one customer + schema: + type: boolean + default: true + example: true + responses: + '200': + description: List of all possible service categories + content: + application/json: + schema: + type: array + items: + type: object + properties: + slug: + type: string + description: Identifier to be used in URLs and JSON bodies + example: cloud-computing + name: + type: string + description: Human-readable name + example: Cloud computing + /v2/maintenances/history: + get: + operationId: maintenances_history_get_list + summary: Get list of individual maintenance histories + description: >- + Get list of individual maintenance histories, one per contact and + associated circuit ID, optionally filtered by uuid + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: The UUID of the target maintenance + schema: + type: string + format: uuid + responses: + '200': + description: List of maintenance histories + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: >- + UUID of the maintenance associated with this + notification + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + details: + type: string + description: Details describing the type of maintenance + example: Routine maintenance + filename: + type: string + description: >- + pdf file with additional details, attached to the email + notification + example: attachment.pdf + time_sent: + type: string + format: date-time + description: Date and time when this notification was sent + example: '2020-11-01T10:00:00.00000' + contact_first_name: + type: string + description: Contacted person's first name + example: John + contact_last_name: + type: string + description: Contacted person's last name + example: Doe + contact_email: + type: string + description: Contacted person's email address + example: me@here.com + vc_circuit_id: + type: string + description: circuit ID of an affected Virtual Circuit + example: PF-BC-SAC-SMF-1234 + port_circuit_id: + type: string + description: circuit ID of an affected Port + example: PF-AP-WDC1-1000 + cr_connection_circuit_id: + type: string + description: circuit ID of an affected Cloud Router connection + example: PF-L3-CON-2345 + pop: + type: string + description: POP name + example: WDC1 + /v2/maintenances/notifications: + get: + operationId: maintenances_notification_get_list + summary: Get maintenance notifications list filtered by uuid, action or type + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: uuid + description: >- + The UUID of the maintenance details object that notifications were + sent in relation to. + schema: + type: string + format: uuid + - required: false + in: query + name: action + description: Maintenance action + schema: + type: string + enum: + - open + - update + - close + - cancel + - reminder + - required: false + in: query + name: type + description: Type of maintenance + schema: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + - required: false + in: query + name: start + description: Filter by maintenance start date/time. + schema: + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + - required: false + in: query + name: end + description: Filter by maintenance end date/time. + schema: + type: string + format: date-time + example: '2020-01-01T14:30:00.000Z' + responses: + '200': + description: List of maintenance notification objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the maintenance details object + example: 1f816809-ad35-4aef-9d1c-1a2eab39fe89 + jira_key: + type: string + description: jira_key + example: NOC-9182 + type: + type: string + enum: + - open + - update + - close + - cancel + - reminder + description: Maintenance type + example: open + action: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + description: Maintenance action + example: upgrade + input: + type: object + description: Empty object. Included for backwards compatibility + example: {} + exclude: + type: array + description: List of IFDs excluded from the notification + example: + - PF-AP-BOS2-6313 + items: + type: string + time_start: + type: string + format: date-time + description: Date and time when this maintenance starts + example: '2020-11-01T10:00:00.00000' + time_end: + type: string + format: date-time + description: Date and time when this maintenance ends + example: '2020-11-01T12:00:00.00000' + time_created: + type: string + format: date-time + description: Date and time when this maintenance was created + example: '2020-11-01T09:57:58.00000' + time_updated: + type: string + format: date-time + description: Date and time when this maintenance was last updated + example: '2020-11-01T09:57:58.00000' + port_circuit_ids: + type: array + description: List of affected port IDs + example: + - PF-AP-LAX1-1234567 + - PF-AP-LAX1-2345678 + items: + type: string + vc_circuit_ids: + type: array + description: List of affected Virtual Circuit IDs + example: + - PF-BC-SAC-SMF-1234 + - PF-BC-SAC-SMF-2345 + items: + type: string + cr_connection_circuit_ids: + type: array + description: List of affected Cloud Router Connection circuit IDs + example: + - PF-L3-CON-1234 + items: + type: string + pops: + type: array + description: List of affected POP names + example: + - LAX1 + - NYC1 + items: + type: string + system_wide: + type: boolean + description: true if this maintenance is system-wide, false otherwise + example: false + /v2/maintenances/by-location: + get: + operationId: maintenances_by_location + summary: Get current and future maintenances by pop name and/or market code + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: false + in: query + name: pop_names_list + description: >- + Filter to maintenances that affect this pop, or the market that + contains this pop. Can be specified multiple times to filter by + multiple pops. + schema: + type: string + example: WDC1 + - required: false + in: query + name: market_codes_list + description: >- + Filter to maintenances that affect this market. Can be specified + multiple times to filter by multiple markets + schema: + type: string + example: WDC + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/maintenances/by-service/{circuit_id}: + get: + operationId: maintenances_by_service + summary: Get current and future maintenances that affect a given service + description: >- + Maintenances that are already complete will not be included in the + results + tags: + - Maintenance Notifications + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the service for which to fetch maintenances + schema: + type: string + example: PF-AP-WDC1-1234 + responses: + '200': + description: List of maintenances + content: + application/json: + schema: + type: object + properties: + maintenances: + type: array + items: + type: object + properties: + maintenance_uuid: + type: string + format: uuid + description: unique ID for this maintenance + maintenance_type: + type: string + enum: + - outage + - upgrade + - emergency + - routine + - degraded + - portal + - cloud + maintenance_action: + type: string + enum: + - open + - update + - reminder + - close + - cancel + port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-1234 + description: >- + Port circuit IDs of this customer specified by this + maintenance + device_names: + type: array + items: + type: string + example: cfr1.wdc1 + description: Names of the devices affected by this maintenance + pop_names: + type: array + items: + type: string + example: WDC1 + description: Names of the pops affected by this maintenance + market_codes: + type: array + items: + type: string + example: WDC + description: Names of the markets affected by this maintenance + exclude_port_circuit_ids: + type: array + items: + type: string + example: PF-AP-WDC1-4567 + description: >- + Port circuit IDs of this customer explicitly + excluded from this maintenance + start_time: + type: string + format: date-time + description: The scheduled start time of this maintenance + end_time: + type: string + format: date-time + description: The scheduled end time of this maintenance + system_wide: + type: boolean + description: >- + Whether this maintenance affects the entire + PacketFabric network + time_created: + type: string + format: date-time + description: >- + When this maintenance was created by the + PacketFabric team + time_updated: + type: string + format: date-time + description: >- + When this maintenance was last updated by the + PacketFabric team + /v2/metrics/ifd/errors/{port_circuit_id}: + get: + operationId: ifd_errors + summary: List of IFD errors + description: > + Returns an array of arrays containing IFD errors. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • IFD state id
  • +
  • Error RX discard
  • +
  • Error RX drop
  • +
  • Error RX fifo
  • +
  • Error RX framing
  • +
  • Error RX l2 channel
  • +
  • Error RX l2 mismatch timeout
  • +
  • Error RX l3 incomplete
  • +
  • Error RX resource
  • +
  • Error RX runt
  • +
  • Error RX unspecified
  • +
  • Error TX aged
  • +
  • Error TX carrier
  • +
  • Error TX collision
  • +
  • Error TX drop
  • +
  • Error TX fifo
  • +
  • Error TX link crc
  • +
  • Error TX mtu
  • +
  • Error TX resource
  • +
  • Error TX unspecified
  • +
  • Ethernet RX code violations
  • +
  • Ethernet RX crc Errors
  • +
  • Ethernet RX fifo Errors
  • +
  • Ethernet RX fragment frames
  • +
  • Ethernet RX jabber frames
  • +
  • Ethernet RX oversized frames
  • +
  • Ethernet TX crc Errors
  • +
  • Ethernet TX fifo Errors
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD Errors + content: + application/json: + schema: + type: array + items: + type: array + items: + anyOf: + - type: number + format: float + - type: integer + example: + - 1590988980 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/temperature/{port_circuit_id}: + get: + operationId: ifd_temperature + summary: Optic temperature + description: > + Array of arrays that contain optic temperature values recorded in + Celcius degrees (°C). The items in the arrays are not named in order to + avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • Temperature value (in °C)
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: Array of arrays containing IFD optic temperature + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591112400 + - 26.100000381469727 + - - 1591112460 + - 26.100000381469727 + - - 1591112520 + - 26.100000381469727 + - - 1591112580 + - 26 + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: + operationId: ifd_optic_data + summary: Optics light level data + description: > + Array of arrays that contain optic light levels data, separated by lane. + The items in the arrays are not named in order to avoid increasing the + response payload size. Here's an ordered list of all the names of + the items being sent:
    +
  • UNIX timestamp
  • +
  • Module temperature
  • +
  • Module voltage
  • +
  • Lane 0 bias current
  • +
  • Lane 0 output power
  • +
  • Lane 0 RX dbm
  • +
  • Lane 1 bias current
  • +
  • Lane 1 output power
  • +
  • Lane 1 RX dbm
  • +
  • Lane 2 bias current
  • +
  • Lane 2 output power
  • +
  • Lane 2 RX dbm
  • +
  • Lane 3 bias current
  • +
  • Lane 3 output power
  • +
  • Lane 3 RX dbm
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing IFD optic light level values. + Note: null values are possible + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591115100 + - 37.03333282470703 + - 3.2487778663635254 + - 36.41600036621094 + - null + - -1.6155555248260498 + - 36.435001373291016 + - null + - -0.6155555844306946 + - 36.47600173950195 + - null + - -1.4766666889190674 + - 36.494998931884766 + - null + - -1.1344444751739502 + /v2/metrics/ifd/whatcast/{port_circuit_id}: + get: + operationId: ifd_whatcast + summary: Broadcast, Multicast and Unicast data for a given IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) + broadcast, multicast and unicast values. The items in the arrays are not + named in order to avoid increasing the response payload size. Here's an + ordered list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • State id
  • +
  • RX Broadcast
  • +
  • RX Multicast
  • +
  • RX Unicast
  • +
  • TX Broadcast
  • +
  • TX Multicast
  • +
  • TX Unicast
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing broadacast, unicast and multicast values + for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591115340 + - 3743077 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/ifd/rate/{type}/{port_circuit_id}: + get: + operationId: ifd_rate + summary: Traffic rate (bps/pps) by IFD + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given IFD. The average, minimum and maximum values are a + representation of the average, minimum and maximum traffic values + (respectively) per datapoint when an `interval` param is used. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - required: true + in: path + name: port_circuit_id + description: Port identifier + example: PF-AP-DAL1-12345 + schema: + type: string + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFD. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 1705 + - 1527 + - 1882 + - 2345 + - 2165 + - 2525 + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}: + get: + operationId: ifl_rate + summary: Traffic rate (bps/pps) by port circuit id + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given logical interface (IFL). The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: vc_circuit_id + description: VC circuit id + example: PF-BC-DA1-DA1-1234567 + schema: + type: string + - required: true + in: path + name: port_circuit_id + description: Port circuit id + example: PF-AP-DAL1-12345 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/customer/ifl/rate/{type}: + get: + operationId: ifl_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFL + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by logical interface (IFL). The + average, minimum and maximum values are a representation of the average, + minimum and maximum traffic values (respectively) per datapoint when an + `interval` param is used. The items in the arrays are not named in order + to avoid increasing the response payload size. Here's an ordered + list of all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFL ID
  • +
  • IFL State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFLs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118940 + - 4286 + - 1984736 + - 2707 + - 2579 + - 2835 + - 2713 + - 2564 + - 2863 + /v2/metrics/customer/ifl/summary/{type}: + get: + operationId: ifl_summary_by_customer + summary: Summary of all IFL traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + logical interfaces (IFLs) that belong to the current customer. The items + in the arrays are not named in order to avoid increasing the response + payload size. Here's an ordered list of all the names of the + items being sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFLs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591119720 + - 4108784189 + - - 1591119780 + - 3892492190 + - - 1591119840 + - 3333090005 + /v2/metrics/customer/ifd/rate/{type}: + get: + operationId: ifd_rate_by_customer + summary: Traffic rate (bps/pps) of the current customer by IFD + description: > + Array of arrays that contain all of the current customer's transferred + (TX) and received (RX) rate data by IFD. The average, minimum and + maximum values are a representation of the average, minimum and maximum + traffic values (respectively) per datapoint when an `interval` param is + used. The items in the arrays are not named in order to avoid increasing + the response payload size. Here's an ordered list of all the + names of the items being sent:
    +
  • UNIX timestamp
  • +
  • IFD ID
  • +
  • IFD State ID
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing rate data for all the IFDs of the current + customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: number + format: float + example: + - - 1591120020 + - 1050 + - 3699429 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + /v2/metrics/customer/ifd/summary/{type}: + get: + operationId: ifd_summary_by_customer + summary: Summary of all IFD traffic rate (bps/pps) for the current customer + description: > + Array of arrays that contain the traffic average aggregated value of all + interfaces (IFDs) that belong to the current customer. The items in the + arrays are not named in order to avoid increasing the response payload + size. Here's an ordered list of all the names of the items being + sent:
    +
  • UNIX timestamp
  • +
  • Traffic Average Sum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: > + Array of arrays containing a summary of rate data for all the IFDs + of the current customer. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591120260 + - 3837395341 + - - 1591120320 + - 3816877153 + - - 1591120380 + - 4034748323 + /v2/metrics/customer/longhaul-usage: + get: + operationId: longhaul_usage_by_customer + summary: Summary of all traffic per day for the current customer + description: > + Array of TrafficRollup objects containing transferred (TX) and received + (RX) bytes aggregated by day belonging to the current customer with the + possibility to filter for a single logical interface (IFL) and/or + multiple Virtual Circuits (VC). + tags: + - Metrics + parameters: + - required: false + in: query + name: vc_circuit_id + description: Virtual Circuit (VC) identifier + schema: + type: string + - required: false + in: query + name: vc_circuit_id_list + description: List of Virtual Circuit (VC) identifiers + schema: + type: array + items: + type: string + - required: false + in: query + name: include_ifl_data + description: >- + Boolean to indicate whether more information on the logical + interface (IFL) should be returned + schema: + type: boolean + default: false + - required: false + name: include_vc_data + in: query + schema: + type: boolean + default: false + description: >- + Boolean to indicate whether more information on the Virtual Circuit + (VC) should be returned. + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + responses: + '200': + description: > + Array of TrafficRollup objects containing transferred (TX) and + received (RX) bytes aggregated by day belonging to the current + customer. + content: + application/json: + schema: + type: array + items: + type: object + properties: + rollup_date: + type: string + format: date + description: > + An ISO 8601 formatted date string, such as "2020-06-23". + It determines the day the TrafficRollup corresponds to. + customer_id: + type: integer + description: The integer ID of the corresponding customer + vc_circuit_id: + type: string + description: >- + The string identifier of the corresponding virtual + circuit (VC) + bytes_tx: + type: integer + description: The amount of transferred bytes, as an integer + bytes_rx: + type: integer + description: The amount of received bytes, as an integer + example: + - rollup_date: '2020-06-23' + customer_id: 1000 + vc_circuit_id: PF-IX-LAX-ATL-2005 + bytes_tx: 10000 + bytes_rx: 10000 + ifl_data: null + vc_data: null + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: + operationId: ifl_rate_by_cloud_router_connection + summary: Traffic rate (bps/pps) of a Layer 3 Interface by cloud router connection + description: > + Array of arrays that contain transferred (TX) and received (RX) rate + data for a given layer 3 logical interface (IFL). The average, minimum + and maximum values are a representation of the average, minimum and + maximum traffic values (respectively) per datapoint when an `interval` + param is used. The items in the arrays are not named in order to avoid + increasing the response payload size. Here's an ordered list of + all the names of the items being sent:
    +
  • UNIX timestamp
  • +
  • RX Average
  • +
  • RX Minimum
  • +
  • RX Maximum
  • +
  • TX Average
  • +
  • TX Minimum
  • +
  • TX Maximum
  • +
+ tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + - required: true + in: path + name: type + description: Type of data being returned (in rate form) + schema: + type: string + enum: + - bps + - pps + - name: since + in: query + schema: + type: string + description: > + A relative time, such as "12 hours ago" or "1 day ago". Maximum date + range is 366 days. If you want a more exact range use `start` and + `end` instead. + example: 24 hours ago + - name: until + in: query + schema: + type: string + default: now + description: > + A relative time, such as "now" or "1 day ago". Maximum date range is + 366 days. If you want a more exact range use `start` and `end` + instead. + example: 1 hour ago + - name: start + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: end + in: query + schema: + type: string + format: date-time + description: > + An explicit datetime with optional timezone information, such as + "2020-05-23 00:00:00", "2020-05-23T00:00:00.000", or + "2020-05-23T00:00:00.000Z+02:00". Timezone defaults to UTC. Maximum + date range is 366 days. + example: '2020-05-23 00:00:00' + - name: interval + in: query + schema: + type: integer + description: Time in seconds used to group the response data + example: 3600 + responses: + '200': + description: | + Array of arrays containing rate data for a given L3IFL. + content: + application/json: + schema: + type: array + items: + type: array + items: + type: integer + example: + - - 1591118400 + - 5236 + - 4947 + - 5444 + - 5588 + - 5387 + - 5794 + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: + operationId: get_ipsec_stats_by_circuit_id + summary: Get IPSec statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: IPSec statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + decrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 4313760 + encrypted_bytes: + type: integer + description: The number of decrypted_bytes. + example: 5143232 + ike_input_bytes: + type: integer + example: 842026 + description: The number of IKE input bytes into the IPSec connection. + ike_output_bytes: + type: integer + example: 645975 + description: The number of IKE output bytes into the IPSec connection. + local_address: + type: string + example: 23.159.0.6 + description: The local address of this connection. + remote_address: + type: string + example: 52.9.103.65 + description: The remote address of this connection. + ike_state: + type: string + example: matured + description: The IKE state of this connection. + enum: + - matured + - not_matured + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: + operationId: get_nat_stats_by_circuit_id + summary: Get NAT statistics by cloud router connection circuit id + tags: + - Metrics + parameters: + - required: true + in: path + name: cloud_connection_circuit_id + description: Cloud Router connection circuit id + example: PF-CC-GOG-NYC-1234567 + schema: + type: string + responses: + '200': + description: NAT statistics of this cloud router connection + content: + application/json: + schema: + type: object + properties: + address_ranges: + type: array + items: + type: string + description: The address ranges of this connection. + example: + - 185.161.1.35-185.161.1.35 + port_range: + type: string + description: The port range of this connection. + example: 1024-65535 + ports_in_use: + type: integer + example: 43 + description: The number of ports in use. + max_ports_in_use: + type: integer + description: The maximum number of ports in use. + example: 734 + /v2/ports/{port_circuit_id}: + get: + operationId: get_port + summary: Get port info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + patch: + operationId: update_port + summary: Update a port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + properties: + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Full details of the updated port including modified fields + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + delete: + operationId: delete_port + summary: Delete port + description: > + Use this endpoint to delete port/interface. You cannot delete port using + this endpoint if + + there are billing restrictions or port is the part of other active + product + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port to delete + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Port details + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port deleted successfully + /v2/ports/{port_circuit_id}/device-info: + get: + operationId: get_port_device_info + summary: Get port device info + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + responses: + '200': + description: Various details of a physical device port + content: + application/json: + schema: + type: object + properties: + adjacent_router: + type: string + device_name: + type: string + device_make: + type: string + admin_status: + type: string + oper_status: + type: string + auto_negotiation: + type: boolean + iface_name: + type: string + speed: + type: string + optics_diagnostics_lane_values: + type: object + properties: + tx_status: + type: string + tx_power_dbm: + type: number + format: float + example: -1.05 + tx_power: + type: number + format: float + example: 0.786 + lane_index: + type: string + example: 0 + rx_status: + type: string + rx_power: + type: number + format: float + example: 0 + rx_power_dbm: + type: number + format: float + example: -35.23 + bias_current: + type: number + format: float + example: 45.532 + polltime: + type: number + format: float + time_flapped: + type: string + traffic_rx_bps: + type: integer + traffic_rx_bytes: + type: integer + traffic_rx_ipv6_bytes: + type: integer + traffic_rx_ipv6_packets: + type: integer + traffic_rx_packets: + type: integer + traffic_rx_pps: + type: integer + traffic_tx_bps: + type: integer + traffic_tx_bytes: + type: integer + traffic_tx_ipv6_bytes: + type: integer + traffic_tx_ipv6_packets: + type: integer + traffic_tx_packets: + type: integer + traffic_tx_pps: + type: integer + wiring_speed: + type: string + example: 10G + wiring_media: + type: string + wiring_module: + type: string + wiring_panel: + type: string + wiring_position: + type: string + wiring_reach: + type: string + wiring_type: + type: string + tx_power_high_alarm_threshold: + type: number + format: float + tx_power_high_alarm_threshold_dbm: + type: number + format: float + tx_power_high_warn_threshold: + type: number + format: float + tx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_high_alarm_threshold: + type: number + format: float + rx_power_high_alarm_threshold_dbm: + type: number + format: float + rx_power_high_warn_threshold: + type: number + format: float + rx_power_high_warn_threshold_dbm: + type: number + format: float + rx_power_low_alarm_threshold: + type: number + format: float + rx_power_low_alarm_threshold_dbm: + type: number + format: float + rx_power_low_warn_threshold: + type: number + format: float + rx_power_low_warn_threshold_dbm: + type: number + format: float + lag_speed: + type: integer + device_can_lag: + type: boolean + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + operationId: post_port_loa + summary: Generate and email the LOA for this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + requestBody: + content: + application/json: + schema: + type: object + required: + - loa_customer_name + properties: + loa_customer_name: + description: >- + Customer name to use on the LOA. It may need to be different + than what they use with PacketFabric. + example: Not The Umbrella Corp. + type: string + destination_email: + description: If specified, the LOA will be sent to this address. + type: string + format: email + destination_emails: + type: array + description: An array of destination emails + items: + type: string + description: Destination email + example: user@email.com + responses: + '201': + description: Document created to store the LOA + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: uuid + example: 12a30d30-20c0-4f62-a982-eb1424631094 + name: + type: string + description: Document name + example: loa.pdf + description: + type: string + description: Document description + example: Description of the document + mime_type: + type: string + description: Mime type of the document + example: image/jpeg + size: + type: integer + description: Document size + example: 100500 + type: + type: string + description: Document type + enum: + - loa + - msa + example: loa + time_created: + type: string + format: date-time + description: Document creation time + example: '2020-06-11T19:08:10.150711' + time_updated: + type: string + format: date-time + description: Document's last update time + example: '2020-06-11T19:08:10.150711' + _links: + type: object + description: Links to other information about the document + properties: + port: + description: A link to the port this document refers to + type: string + format: uri + service: + description: A link to the service this document refers to + type: string + format: uri + cloud: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router: + description: A link to the cloud service this document refers to + type: string + format: uri + cloud_router_connection: + description: >- + A link to the cloud router connection this document + refers to + type: string + format: uri + hpi: + description: >- + A link to the High Performance Internet this document + refers to + type: string + format: uri + /v2/ports/{port_circuit_id}/vlan-summary: + get: + operationId: get_port_vlan_summary + summary: Get a summary of VLANs for a specific port + tags: + - Ports + parameters: + - name: port_circuit_id + in: path + required: true + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - name: include_logical_interfaces + in: query + required: false + description: Include list of logical interfaces for this port + schema: + type: boolean + - name: min_vlan + in: query + required: false + description: Minimum VLAN ID to include in the summary + schema: + type: integer + responses: + '200': + description: Summary of VLANs for a specific port + content: + application/json: + schema: + type: object + properties: + lowest_available_vlan: + description: Lowest available VLAN id for this port + type: integer + example: 4 + max_vlan: + description: Highest used VLAN id for this port + type: integer + logical_interfaces: + type: array + items: + type: object + properties: + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + vlan: + type: integer + example: 6 + inner_vlan_list: + type: array + example: [] + items: + type: integer + untagged: + type: boolean + example: true + rate_limit_in: + type: integer + example: 100 + rate_limit_out: + type: integer + example: 100 + status: + type: string + enum: + - active + - provisioning + disabled: + type: boolean + example: false + description: + type: string + example: GOG to NYC (PF Test Company) + time_created: + type: string + format: date-time + description: Date and time of interface creation + time_updated: + type: string + format: date-time + description: Date and time interface was last updated + tag_type: + type: string + example: single + /v2/ports/{port_circuit_id}/enable: + post: + operationId: enable_port + summary: Enable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port enabled successfully + /v2/ports/{port_circuit_id}/disable: + post: + operationId: disable_port + summary: Disable this port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to update + schema: + type: string + example: PF-AP-LAX1-1234 + responses: + '200': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port disabled successfully + /v2/ports/{port_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_port_upgrade + summary: Upgrade subscription term on port + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Identifier of the port to upgrade + schema: + type: string + example: PF-AP-LAX1-1234 + requestBody: + content: + application/json: + schema: + type: object + required: + - subscription_term + description: Subscription term to upgrade to + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '202': + description: Request status + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Port is being upgraded. + workflow: + type: string + example: Port Upgrade Workflow + description: The type of workflow that has been started. + state: + type: string + example: STARTED + description: The state of the Workflow. + workflow_id: + type: string + example: 02c3efdd-5634-4334-b43d-fc521fff2c05 + description: UUID of the workflow + /v2/ports/{port_circuit_id}/router-logs: + get: + operationId: get_port_router_logs + summary: Get logs for this port's router + tags: + - Ports + parameters: + - required: true + in: path + name: port_circuit_id + description: Port identifier + schema: + type: string + example: PF-AP-DAL1-12345 + - required: true + in: query + name: time_from + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter from. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + - required: true + in: query + name: time_to + description: > + The ISO 8601 formatted datetime with optional timezone information, + to filter up to. Timezone defaults to UTC. + schema: + type: string + format: date-time + example: '2020-05-23 00:00:00' + responses: + '200': + description: List of router logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + device_name: + type: string + example: cfr1.pdx1 + iface_name: + type: string + example: XE-0/0/1:3 + message: + type: string + example: >- + cfr1.pdx1 mib2d[11088]: %DAEMON-4-SNMP_TRAP_LINK_UP: + ifIndex 897, ifAdminStatus up(1), ifOperStatus up(1), + ifName xe-0/0/1:3 + severity: + type: integer + example: 4 + description: Severity of the router log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the router log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/ports/{port_circuit_id}/status: + get: + tags: + - Ports + summary: Get Port service status + operationId: port_status2_1 + parameters: + - name: port_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a Port provisioning + content: + application/json: + schema: + type: object + required: + - port_circuit_id + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + description: Current state information + properties: + state: + type: string + description: Current state + description: + type: string + description: Current state description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: port/workflow/provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: List of error messages + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/ports: + get: + operationId: get_port_list + summary: Get port list + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: List of ports optionally filtered by provided parameters + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation + enabled. Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to + a Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + post: + operationId: port_post + summary: Create a port + description: >- + Creates a port if available in the provided POP based on the requested + speed and media type + tags: + - Ports + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - subscription_term + - pop + - speed + - media + properties: + account_uuid: + type: string + format: uuid + description: ID of a billing account + pop: + type: string + description: Point of Presence for the newly created port + example: LAX1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: CS-LA2 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Duration of the subscription in months + zone: + type: string + description: Availability zone of the port + example: A + autoneg: + type: boolean + description: >- + Flag controling port's autonegotiation capability. Only used + for 1Gbps ports. + description: + type: string + description: User provided description of the port + example: User provided description + nni: + type: boolean + description: >- + Flag to enable NNI on this port. NNI ports will use a + nni_svlan_tpid value of 0x8100. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this interface + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: Details of the newly created port object + content: + application/json: + schema: + type: object + required: + - state + - pop + - speed + - media + - mtu + - is_lag + - is_lag_member + - is_cloud + - is_nni + properties: + autoneg: + type: boolean + description: >- + Flag indicating that the port has autonegotiation enabled. + Only used for 1Gbps ports. + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + state: + type: string + enum: + - Requested + - Active + description: State of the port + status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + region: + type: string + description: Region short name + example: UK + market: + type: string + description: Market code + example: LAS + market_description: + type: string + description: Market description + example: Las Vegas + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + site_code: + type: string + description: Unique code for the site of PacketFabric's equipment + example: SW-LAS1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + operational_status: + type: string + description: Is the port operationaly up or down + enum: + - up + - down + admin_status: + type: string + description: Is the port admin up or down + enum: + - up + - down + mtu: + type: integer + format: int64 + description: >- + Maximum Transmission Unit this port supports (size of the + largest supported PDU) + description: + type: string + description: User provided description of the port + example: User provided description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vc_mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + - mixed + description: Mode of operation of the point to point virtual circuit + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple LAG + member ports + is_lag_member: + type: boolean + description: >- + Flag indicating that the port is a part of a Link + Aggregation Group + is_cloud: + type: boolean + description: >- + Flag indicating that the port serves as a connection to a + Cloud Service Provider + is_ptp: + type: boolean + description: Flag indicating that the part of point-to-point service + is_nni: + type: boolean + description: Flag indicating that the port supports NNI. + lag_interval: + type: string + description: Interval at which LACP packets are sent + member_count: + type: integer + description: If the port is a LAG, how many members it has + parent_lag_circuit_id: + type: string + description: If this port is in a LAG, the LAG's circuit id + account_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + disabled: + type: boolean + description: >- + Flag indicating that this port has been temporarily + disabled + customer_name: + type: string + description: Name of the customer ordering the port + user_created: + type: string + description: Email of the user that created the port + user_updated: + type: string + description: Email of the user that last modified the port + customer_uuid: + type: string + format: uuid + example: b1aa066f-a008-44c3-a5ed-99253eb02366 + time_created: + type: string + format: date-time + description: Date and time of port object creation + time_updated: + type: string + format: date-time + description: Date and time port object was last updated + device_port_type: + type: string + description: The device type of this port + example: blue + /v2/ports/export.csv: + get: + operationId: get_port_list_csv + summary: Export port list to CSV + tags: + - Ports + parameters: + - required: false + in: query + name: q + schema: + type: string + description: Filter ports by description/circuit id/pop/region + example: LAX + - required: false + in: query + name: network_provider + schema: + type: string + enum: + - packetfabric + - colt + - extended-network + description: >- + Filter ports by network provider. Use "extended-network" to filter + all non-PacketFabric ports + - required: false + in: query + name: pop + schema: + type: string + description: Filter ports by point of presence + example: LAX1 + - required: false + in: query + name: market + schema: + type: string + description: Filter ports by market code + example: LAX + - required: false + in: query + name: near_cloud_router + schema: + type: boolean + description: Filter ports by in-market proximity to a Cloud Router port + example: true + - required: false + in: query + name: nat_capable + schema: + type: boolean + description: Filter ports that are NAT capable + example: true + - required: false + in: query + name: is_lag + schema: + type: boolean + description: Filter LAG ports + example: true + - required: false + in: query + name: is_lag_member + schema: + type: boolean + description: Filter LAG member ports + example: true + - required: false + in: query + name: is_ptp + schema: + type: boolean + description: Filter PTP ports + example: true + - required: false + in: query + name: is_cloud + schema: + type: boolean + description: Filter cloud ports + example: true + - required: false + in: query + name: is_cloud_router + schema: + type: boolean + description: Filter cloud router ports + example: true + - required: false + in: query + name: is_nni + schema: + type: boolean + description: Filter NNI ports + example: true + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - port_circuit_id + - description + - market + - pop + - site + - zone + - speed + - media + - status + - is_lag + - network_provider + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + - required: false + in: query + name: device_port_type + description: >- + Filter ports by the device port type. device_port_type can be + specified multiple times with different values. + schema: + type: string + example: blue + responses: + '200': + description: >- + CSV file with the list of ports optionally filtered by provided + parameters + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/quotes: + get: + operationId: get_portal_quotes + summary: Get quotes for this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: statuses + description: Only include quotes with the given statuses + schema: + type: array + default: + - open + - updating + items: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + - required: false + in: query + name: quote_uuid + description: Only include the quote with this UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's quotes + content: + application/json: + schema: + type: array + items: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. + Cannot be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + post: + operationId: create_portal_quote + summary: Create a quote + tags: + - Portal Quotes + requestBody: + content: + application/json: + schema: + type: object + required: + - title + - billing_contact_uuid + properties: + title: + type: string + description: name for the quote + custom_terms: + type: string + description: Special terms for the quote + billing_contact_uuid: + type: string + format: uuid + description: Billing contact associated with this quote + selected_term: + type: integer + example: 12 + description: >- + the default subscription term for this quote, can be + overridden by individual quote lines + responses: + '201': + description: Created quote + content: + application/json: + schema: + description: A quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/duplicate: + post: + operationId: duplicate_portal_quote + summary: Duplicate a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + responses: + '201': + description: Duplicated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}: + post: + operationId: add_portal_quote_line + summary: Add a quote line to a quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote to add a line to + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - product_type + - product_definition + properties: + selected_term: + type: integer + example: 12 + description: >- + subscription term for this quote line, can override the term + of the parent quote + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + oneOf: + - description: >- + Cloud Dedicated product definition for the + `cloud_dedicated` product type + title: Cloud Dedicated + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: the location of the cloud dedicated port + speed: + type: string + - description: >- + Cloud Hosted product definition for the `cloud_hosted` + product type + title: Cloud Hosted + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + side_z: + type: string + description: the location of the cloud on-ramp port + speed: + type: string + - description: >- + Cloud Router Connection product definition for the + `cr_connection` product type + title: Cloud Router Connection + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + side_a: + type: string + description: the location of the customer's port + speed: + type: string + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + - description: >- + Cloud Router product definition for the `cloud_router` + product type + title: Cloud Router + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + side_z: + type: string + speed: + type: string + - description: >- + Cross Connect product definition for the `crossconnect` + product type + title: Cross-connect + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + - description: Port product definition for the `port` product type + title: Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + ENNI Port product definition for the `port_enni` product + type + title: ENNI Port + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for this port's location + speed: + type: string + - description: >- + Point-to-point product definition for the `pointtopoint` + product type + title: Point-to-point + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + - description: >- + Backbone VC product definition for the `vcbwc` product + type + title: Backbone VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + bandwidth_type: + type: string + enum: + - dedicated + - usage + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + description: not required for bandwidth_type=usage VCs + - description: >- + Cloud Dedicated VC product definition for the + `cloud_dedicated_vc` product type + title: Dedicated Cloud VC + type: object + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + side_a: + type: string + description: identifier for the A-side of this connection + side_z: + type: string + description: identifier for the Z-side of this connection + speed: + type: string + responses: + '201': + description: Added quote line + content: + application/json: + schema: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: the details of the product represented by this quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: price per GB transferred for a usage-based service + type: number + format: float + nullable: true + description: + type: string + example: Backbone - (LAX1 - ATL1) / 100Mbps Longhaul Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + get: + operationId: get_portal_quote_details + summary: Get a quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote + schema: + type: string + format: uuid + responses: + '200': + description: Quote details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a quote + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the quote + quote_uuid: + type: string + format: uuid + description: the UUID of the quote that this line belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + cost_details: + type: object + properties: + month_1: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_12: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_24: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + month_36: + type: object + properties: + mrc: + type: number + format: float + nullable: true + nrc: + type: number + format: float + nullable: true + usage: + description: >- + price per GB transferred for a usage-based + service + type: number + format: float + nullable: true + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + patch: + operationId: update_portal_quote + summary: Update a quote + description: > + What updates are allowed for a quote is dependent on the status of the + quote. + + Only `open` and `updating` quotes can have properties other than + `status` updated. + + - `open` quotes + - can transition to `cancelled` or `finalized` + - can have other properties updated + - `cancelled` quotes + - cannot transition to any other status + - no properties can be updated + - can be duplicated + - `finalized` quotes + - can transition to `open` (to update properties or add/delete lines) + - no other properties can be updated + - `finalizing` is a state that indicates a background task is running to + transition the quote from `open` to `finalized` + + - `updating` is a state that indicates a background task is running, but + the quote can otherwise be considered `open` + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to update + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + title: + type: string + custom_terms: + type: string + status: + type: string + enum: + - open + - cancelled + - finalized + selected_term: + type: integer + example: 12 + description: subscription term for this quote + responses: + '200': + description: Updated quote + content: + application/json: + schema: + type: object + description: A quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + status: + type: string + enum: + - open + - cancelled + - finalized + - finalizing + - updating + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which this quote has been + published. Can only be set when published a quote. Cannot + be updated once set. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: + operationId: delete_portal_quote_line + summary: Delete a quote line + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: the UUID of the quote + schema: + type: string + format: uuid + - required: true + in: path + name: quote_line_uuid + description: the UUID of the quote line to delete + schema: + type: string + format: uuid + responses: + '200': + description: Deleted a quote line + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Quote deleted + /v2/quotes/{quote_uuid}/pdf: + get: + summary: Get quote PDF + description: Get quote PDF for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the PDF of the quote with this UUID + responses: + '200': + description: Quote PDF of the given quote + content: + application/pdf: + schema: + type: string + format: binary + description: PDF of the quote + /v2/quotes/{quote_uuid}/csv: + get: + summary: Get quote CSV + description: Get quote CSV for a given quote + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + schema: + type: string + format: uuid + description: Get the CSV of the quote with this UUID + responses: + '200': + description: Quote CSV of the given quote + content: + text/csv: + schema: + type: string + format: binary + description: CSV of the quote + /v2/quotes/{quote_uuid}/publish: + post: + operationId: publish_portal_quote + summary: Publish a quote + description: Only finalized quotes can be published + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: quote_uuid + description: UUID of the quote to duplicate + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - customer_uuid + properties: + customer_uuid: + type: string + format: uuid + description: UUID of the customer to whom this quote should be published + responses: + '201': + description: Published quote + content: + application/json: + schema: + type: object + description: A published quote + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published: + get: + operationId: get_published_portal_quotes + summary: Get published quotes created by this customer + tags: + - Portal Quotes + parameters: + - required: false + in: query + name: quote_uuid + description: Only include published quotes created from the quote with this UUID + schema: + type: string + format: uuid + - required: false + in: query + name: assigned_customer_uuid + description: >- + Only include published quotes assigned to the customer with this + UUID + schema: + type: string + format: uuid + responses: + '200': + description: List of customer's published quotes + content: + application/json: + schema: + type: array + items: + description: A published quote + type: object + properties: + uuid: + type: string + format: uuid + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: subscription term for this quote + customer_uuid: + type: string + format: uuid + description: UUID of the customer to which this quote was published. + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/assigned: + get: + operationId: get_published_portal_quotes_assigned_to_customer + summary: Get published quotes assigned to this customer + tags: + - Portal Quotes + responses: + '200': + description: List of published quotes assigned to this customer + content: + application/json: + schema: + type: array + items: + description: Published quote details + title: Published quote details + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: >- + UUID of the billing account associated with this + quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this + quote line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of + this product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with + this published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/quotes/published/{published_quote_uuid}: + get: + operationId: get_published_portal_quote_details + summary: Get a published quote's details + tags: + - Portal Quotes + parameters: + - required: true + in: path + name: published_quote_uuid + description: UUID of the published quote + schema: + type: string + format: uuid + responses: + '200': + description: Published quote details + content: + application/json: + schema: + type: object + description: Published quote details + title: Published quote details + properties: + uuid: + type: string + format: uuid + description: UUID of the published quote + title: + type: string + custom_terms: + type: string + quote_uuid: + type: string + format: uuid + description: UUID of the quote associated with this published quote + quote_file_uuid: + type: string + format: uuid + description: UUID of the PDF associated with this published quote + quoter: + type: object + description: this quote's creator + properties: + quoter_uuid: + type: string + format: uuid + description: The quoter UUID is the same as the customer UUID + quoter_user_uuid: + type: string + format: uuid + nullable: true + description: UUID of the user whom created the quote + billing_contact_uuid: + type: string + format: uuid + description: UUID of the billing account associated with this quote + selected_term: + type: integer + example: 12 + description: the quote's subscription term + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + quote_lines: + type: array + items: + description: a single product in a published quote + title: published quote line + type: object + properties: + uuid: + type: string + format: uuid + description: the UUID of this line in the published quote + published_quote_uuid: + type: string + format: uuid + description: >- + the UUID of the published quote that this line + belongs to + selected_term: + type: integer + example: 12 + description: subscription term for this quote line + product_type: + type: string + description: the type of product of this quote line + enum: + - cloud_dedicated + - cloud_dedicated_vc + - cloud_hosted + - crossconnect + - pointtopoint + - port + - port_enni + - vcbwc + - cloud_router + - cr_connection + product_definition: + type: object + description: >- + the details of the product represented by this quote + line + properties: + location_type: + type: string + enum: + - site + - pop + - market + - region + provider: + type: string + description: name of the cloud service provider + enum: + - aws + - azure + - generic + - google + - ibm + - oracle + service_class: + type: string + enum: + - metro + - longhaul + side_a: + type: string + description: >- + identifier for the A-side (or only side) of this + product + side_z: + type: string + description: identifier for the Z-side of this product + speed: + type: string + bandwidth_type: + type: string + enum: + - dedicated + - usage + connection_type: + type: string + enum: + - cloud_hosted + - cloud_dedicated + - packetfabric + - ipsec + description: + type: string + example: >- + Backbone - (LAX1 - ATL1) / 100Mbps Longhaul + Dedicated + side_a_description: + type: string + side_z_description: + type: string + nullable: true + service_uuid: + type: string + format: uuid + nullable: true + description: >- + UUID of the provisioned service associated with this + published quote line + status: + type: string + enum: + - new + - provisioning + - provisioned + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + /v2/request-aliases: + get: + operationId: request_alias_get_list + summary: Get request aliases associated with your account + tags: + - Request Aliases + responses: + '200': + description: Array of Request Alias objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: >- + A list of mappings that this request alias is relevant + to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + post: + operationId: request_alias_post + summary: Add a new request alias to your account + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '201': + description: The new Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + /v2/request-aliases/{request_alias_uuid}: + get: + operationId: request_alias_get + summary: Get a request alias by UUID + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A Request Alias object + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + patch: + operationId: request_alias_patch + summary: Update a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + description: The name of the request alias. + type: string + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + example: + name: New Alias + mappings: + markets: + - ATL + - SAC + description: Request Alias payload for POST and PATCH calls + responses: + '200': + description: The updated request alias object. + content: + application/json: + schema: + type: object + properties: + ra_uuid: + type: string + format: uuid + description: >- + Request Alias UUID. You can reference the request alias + using this uuid. + name: + type: string + description: The name of the request alias. + mappings: + required: + - markets + description: A list of mappings that this request alias is relevant to. + type: object + properties: + markets: + description: A list of market codes. + type: array + items: + anyOf: + - type: string + _links: + description: A link to the relevant contacts for this request alias. + type: object + properties: + contacts: + type: string + format: uri + example: + ra_uuid: fde92fdc-0022-45b5-8421-1a1fc0cbceae + name: Test Alias + mappings: + markets: + - WDC + - BOS + - DEN + - MSP + - SAC + _links: + contacts: >- + https://api.packetfabric.com/v2/request-aliases/fde92fdc-0022-45b5-8421-1a1fc0cbceae/contacts + delete: + operationId: request_alias_delete + summary: Delete a request alias from your account + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A message confirming the deletion of the request alias. + /v2/request-aliases/{request_alias_uuid}/contacts: + get: + operationId: request_alias_get_contacts + summary: Get all contacts associated with a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: A list of contact objects associated with the request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + delete: + operationId: request_alias_delete_contacts + summary: Disassociates several contacts from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + requestBody: + description: The contact UUIDs to dissociate from this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contacts from the request alias. + post: + operationId: request_alias_post_contacts + summary: Associate several contacts with a single request alias. + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + requestBody: + description: The contact UUIDs to associate with this request alias. + required: true + content: + application/json: + schema: + type: object + properties: + contact_uuids: + description: A list of contact UUIDs. + type: array + items: + anyOf: + - type: string + format: uuid + responses: + '201': + description: The updated request alias. + content: + application/json: + schema: + type: array + items: + type: object + properties: + contact_uuid: + type: string + format: uuid + description: >- + Contact UUID. You can reference the contact using this + uuid. + first_name: + type: string + description: First name of the contact person + last_name: + type: string + description: Last name of the contact person + email: + description: E-mail of the contact person + format: email + type: string + phone: + description: Phone of the contact person + type: string + address_1: + description: Address of the contact person + type: string + address_2: + description: Address (line 2) of the contact person + type: string + city: + description: City of the contact person + type: string + state: + description: State of the contact person + type: string + postal: + description: Postal code of the contact person + type: string + country: + description: Country of the contact person + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + admin: + description: Admin contact + type: boolean + billing: + description: Billing contact + type: boolean + tech: + description: Technical contact + type: boolean + _links: + description: >- + A link to the request alias this contact is associated + with. + type: object + properties: + request-alias: + type: string + format: uri + example: + contact_uuid: c89802e9-6040-48d0-bdcd-b44906ef48ff + first_name: Test + last_name: Test + email: email@example.com + phone: 111-11-11 + address_1: test address + address_2: more address + city: Test + state: CA + postal: '1234' + country: US + admin: true + billing: true + tech: true + po_number: null + /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}: + delete: + operationId: request_alias_delete_contact + summary: Disassociates a contact from a request alias + parameters: + - required: true + in: path + name: request_alias_uuid + description: The UUID of the target request alias. + schema: + type: string + format: uuid + - required: true + in: path + name: contact_uuid + description: >- + The UUID of the contact you want to associate with the request + alias. + schema: + type: string + format: uuid + tags: + - Request Aliases + responses: + '200': + description: Successful disassociation of the contact from the request alias. + /v2/services: + get: + operationId: get_service_list + summary: Get list of current customer's services + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, POP/circuit id of the + interface, or aggregate capacity container + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: List of customer's services + content: + application/json: + schema: + type: array + items: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair + of interfaces + + * evpl supports multiple Ethernet Virtual Connections + per interface + + * evpl-untagged is used when either Source or + Destination interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to + subtract this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/export.csv: + get: + operationId: get_service_list_csv + summary: Get list of current customer's services exported in CSV + tags: + - Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter VCs by description, circuit id, or POP/circuit id of the + interface + example: lax + - required: false + in: query + name: port_circuit_id + schema: + type: string + example: PF-AP-SFO1-58 + description: Filter by port + - required: false + in: query + name: service_type + schema: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + example: ptp&service_type=ix + description: >- + Filter service type. service_type can be specificed multiple times + with different values. + - required: false + in: query + name: page_size + schema: + type: integer + description: The number of results to return per page + - required: false + in: query + name: offset + schema: + type: integer + description: The offset of results for this page + - required: false + in: query + name: sort_column + schema: + type: string + enum: + - time_created + - time_updated + - vc_circuit_id + - description + - state + - status_a + - vlan_a + - status_z + - vlan_z + description: Sort the results + - required: false + in: query + name: sort_order + schema: + type: string + enum: + - asc + - desc + description: Order the results + responses: + '200': + description: CSV file with the list of customer's services + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/{vc_circuit_id}: + get: + operationId: get_service + summary: Get service info + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + patch: + operationId: patch_service + summary: Update service settings + description: >- + Update rate limits, description, VLANs, or untagged status for a service + or its interfaces + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit incoming data by. Set to + null to disable. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: >- + The upper bound, in Mbps, to limit outgoing data by. Set to + null to disable. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + description: VC request + responses: + '200': + description: VC details + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + operationId: delete_service + summary: Delete a service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status (Legacy) + operationId: vcstatus + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: VC circuit id + example: PF-AP-LAX1-1234 + instance_type: + type: string + description: VC instance type + example: VC + state: + type: string + description: Current workflow step + example: create_interfaces + all_states: + type: array + description: All steps of the current workflow + items: + type: string + all_state_descriptions: + type: object + description: Map of state names to the descriptions + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + properties: + error_message: + type: string + description: Error description + time_created: + description: Time of the workflow creation + type: string + format: date-time + time_updated: + description: Time when the workflow last update + type: string + format: date-time + has_error: + description: True if there an error occured + type: boolean + /v2.1/services/{vc_circuit_id}/status: + get: + tags: + - Services + summary: Get VC service status + operationId: vcstatus_2_1 + parameters: + - name: vc_circuit_id + in: path + required: true + description: Target's Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a VC service provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: vc/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/{vc_circuit_id}/upgrade: + post: + deprecated: true + operationId: post_service_upgrade + summary: Upgrade service billing terms or speed + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + billing_product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + responses: + '202': + description: Upgrade has started + content: + application/json: + schema: + type: object + properties: + message: + type: string + /v2/services/{vc_circuit_id}/upgrade/options: + get: + operationId: get_service_upgrade_options + summary: Get available upgrade options for a specific service + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: Available upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + example: false + description: >- + Flag indicating whether or not the interface can be + upgraded. + product_type: + type: string + enum: + - packetcor_dedicated_vc_longhaul + - packetcor_dedicated_vc_metro + - longhaul_dedicated + - longhaul_usage + - surcharge + - metro_dedicated + description: Type of the product + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: Subscription term in months + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: Link speed + /v2/services/{vc_circuit_id}/burst: + post: + operationId: post_service_burst + summary: Add speed burst, billed hourly, to your circuit. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + requestBody: + content: + application/json: + schema: + type: object + properties: + speed: + type: string + example: 500Mbps + description: >- + Speed in Mbps of the burst. This bandwidth will be added to + the existing circuit speed. If an existing burst exists, + this speed burst will replace the existing one. Must be a + multiple of 100Mbps. + responses: + '202': + description: VC burst upgrade started + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst upgrade started + delete: + operationId: delete_service_burst + summary: Delete a speed burst, returning circuit to originally configured speed. + tags: + - Services + parameters: + - required: true + in: path + name: vc_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Target's Circuit ID. + responses: + '200': + description: VC burst deleted successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: VC burst deleted successfully + /v2/services/backbone: + post: + operationId: post_service_backbone + summary: Create a backbone or dedicated cloud virtual circuit + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - bandwidth + - interfaces + - epl + properties: + description: + type: string + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interfaces: + description: 2-element array containing data for A and Z interfaces + type: array + minItems: 2 + maxItems: 2 + items: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or + set untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + epl: + type: boolean + description: > + If true, created circuit will be an EPL otherwise EVPL + + * EPL provides Point-to-Point connection between a pair of + interfaces + + * EVPL supports multiple Ethernet Virtual Connections per + interface + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + example: + description: string + po_number: string + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + vlan: 6 + untagged: false + - port_circuit_id: PF-AP-LAS1-2000 + vlan: 7 + untagged: false + rate_limit_in: 1000 + rate_limit_out: 1000 + epl: false + description: VC request + responses: + '201': + description: New backbone connection information + content: + application/json: + schema: + type: object + required: + - state + - service_type + - service_class + - multiport + - mode + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + user_created: + type: string + description: Email of the user that created the vc + user_updated: + type: string + description: Email of the user that last modified the vc + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + example: + vc_circuit_id: PF-BC-SAC1-LAS1-1234567 + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + state: requested + service_type: backbone + service_class: longhaul + mode: evpl + connected: true + bandwidth: + account_uuid: 847548f7-9cde-4fe5-8751-32ff19825b7e + subscription_term: 1 + longhaul_type: dedicated + speed: 50Mbps + description: string + po_number: string + rate_limit_in: 1000 + rate_limit_out: 1000 + time_created: '2019-08-24T14:15:22Z' + time_updated: '2019-08-24T14:15:22Z' + interfaces: + - port_circuit_id: PF-AP-SAC1-1000 + pop: SAC1 + site: RW-CA3 + site_name: NTT Global Data Centers CA3 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 6 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + - port_circuit_id: PF-AP-LAS1-2000 + pop: LAS1 + site: SW-LAS1 + site_name: Switch Las Vegas 7 + speed: 1Gbps + media: LX + zone: A + description: User provided description + vlan: 7 + untagged: false + provisioning_status: provisioning + admin_status: string + operational_status: string + customer_uuid: e7eefd45-cb13-4c62-b229-e5bbc1362123 + customer_name: string + region: US + is_cloud: false + is_ptp: false + time_created: '2020-09-10T14:11:50.075143Z' + time_updated: '2020-09-10T14:11:50.075143Z' + /v2/services/third-party: + post: + operationId: post_service_third_party + summary: Create a 3rd-party virtual circuit + description: 3rd-party VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the third-party VC. + example: My Third-party VC + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + The circuit ID of the aggregate capacity container from + which this VC's speed should be subtracted + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + The circuit ID of the flex bandwidth container from which + this VC's speed should be subtracted + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Third-party VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/aws: + post: + operationId: post_aws_marketplace_cloud + summary: Request a hosted AWS Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - aws_account_id + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the AWS Marketplace Cloud connection. + example: My AWS Marketplace Cloud connection + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: The prefix of the customer router. + example: 10.10.10.10/32 + remote_address: + type: string + description: The prefix of the remote router. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existant Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: AWS Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/azure: + post: + operationId: post_azure_marketplace_cloud + summary: Request a hosted Azure Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - azure_service_key + - speed + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Azure Marketplace Cloud connection. + example: My Azure Marketplace Cloud connection + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Azure Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/google: + post: + operationId: post_google_marketplace_cloud + summary: Request a hosted Google Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - google_pairing_key + - speed + - pop + - account_uuid + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Google Marketplace Cloud connection. + example: My Google Marketplace Cloud connection + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Google Hosted Connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + cloud_settings: + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Google Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/third-party/hosted/oracle: + post: + operationId: post_oracle_marketplace_cloud + summary: Request a hosted Oracle Marketplace Cloud connection with a third party + description: >- + Marketplace Cloud virtual circuits are always Ethernet Virtual Private + Line (EVPL) + tags: + - Cloud Services - Oracle + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - account_uuid + - vc_ocid + - region + - pop + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: PF-1RI-OQ85 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Oracle Marketplace Cloud connection. + example: My Oracle Marketplace Cloud connection + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + description: Oracle Marketplace Cloud Request + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/ipsec/{circuit_id}: + get: + operationId: ipsec_get + summary: Gets IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + patch: + operationId: ipsec_patch + summary: Updates IPsec-specific details for a connection. + tags: + - Cloud Router IPsec + parameters: + - required: true + in: path + name: circuit_id + description: IPsec circuit ID or its associated VC. + schema: + type: string + example: PF-IPSEC-2000 + requestBody: + content: + application/json: + schema: + type: object + properties: + customer_gateway_address: + type: string + description: The Customer-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: IPsec connection details. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The circuit ID of the IPsec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + /v2/services/ipsec/gateway_address/uniqueness: + get: + operationId: ipsec_gateway_address_uniqueness_check + summary: Checks if IPsec gateway address is unique + tags: + - Cloud Router IPsec + parameters: + - required: true + in: query + name: gateway_address + description: The gateway address we want to check for uniqueness. + schema: + type: string + example: 192.0.10.1 + responses: + '200': + description: success message + content: + application/json: + schema: + type: object + properties: + status: + type: boolean + example: true + /v2/services/ix: + post: + operationId: post_service_ix + summary: Create a IX VC + description: IX VCs are always Ethernet Virtual Private Line (EVPL) + tags: + - Services + requestBody: + content: + application/json: + schema: + type: object + required: + - routing_id + - market + - bandwidth + - interface + - asn + properties: + routing_id: + type: string + description: >- + The routing ID of the customer to whom this VC will be + connected. + example: IX-Z76-YH87 + market: + type: string + description: The market that the VC will be requested in. + example: ATL + description: + type: string + description: The description of the Internet Exchange VC. + example: My IX VC + asn: + type: integer + description: ASN + example: 4556 + rate_limit_in: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 50 + description: The upper bound, in Mbps, to limit outgoing data by. + bandwidth: + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), usage-based + (per transfered GB) pricing model or hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + aggregate_capacity_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-3653 + description: >- + ID of the flex bandwidth container from which to subtract + this VC's speed + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: IX VC Request + responses: + '201': + description: VC details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - marketplace + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/requests: + get: + operationId: get_service_requests + summary: Get list of VC requests + tags: + - Services + parameters: + - name: type + required: true + in: query + description: Search requests by type + schema: + type: string + enum: + - sent + - received + responses: + '200': + description: List of VC request details + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you + in Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there + is only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will + only be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with + which this request is associated. This field will + only be included for VC requests that you created. + /v2/services/requests/{vc_request_uuid}: + get: + operationId: get_service_request + summary: Get VC request by uuid + tags: + - Services + parameters: + - required: true + in: path + name: vc_request_uuid + schema: + type: string + format: uuid + responses: + '200': + description: VC request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + delete: + operationId: delete_service_request + summary: Delete service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + description: UUID of the service request + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + delete_reason: + type: string + description: Reason for deleting the connection request + responses: + '200': + description: Deletion succeeded + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Whether deletion succeeded or not + example: Successfully deleted the service request + /v2/services/requests/{vc_request_uuid}/provision: + post: + operationId: provision_service + summary: Provision requested service + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + description: Provisioning details + properties: + interface: + type: object + description: >- + Must either include a valid vlan value, s-vlan value or set + untagged to true. + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface should be untagged. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + operationId: provision_marketplace_cloud + summary: Provision requested Marketplace cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - Oracle + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - provider + description: Marketplace Cloud provisioning details + properties: + provider: + type: string + description: Cloud provider for this connection + enum: + - aws + - azure + - google + - oracle + interface: + oneOf: + - type: object + required: + - port_circuit_id + - vlan + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + - description: >- + Azure Marketplace Cloud interfaces must include + vlan_private, vlan_microsoft, or both. + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: The circuit ID of the customer's port. + vlan_private: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + vlan_microsoft: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + description: + type: string + description: Connection description + example: 500Mbps connection to Vandelay Industries in SAC1 + responses: + '201': + description: Provisioned service details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + example: PF-BC-DA1-DA1-1234567 + description: Virtual Circuit ID + customer_uuid: + type: string + format: uuid + description: >- + The UUID for the customer associated with this Virtual + Circuit + state: + type: string + enum: + - Pending + - Requested + - Active + - Inactive + - RequestSent + - RequestAccepted + - UpdateRequested + - UpdateFailed + description: Circuit's current state + service_type: + type: string + enum: + - backbone + - cloud_dedicated + - cloud_hosted + - cr_connection + - ix + - marketplace_cloud_dedicated + - marketplace_cloud_hosted + - ptp + - test + - marketplace + description: Type of the service + service_class: + type: string + enum: + - metro + - longhaul + description: Service class applies to dedicated connections only + mode: + type: string + enum: + - epl + - evpl + - evpl-untagged + description: > + * epl provides Point-to-Point connection between a pair of + interfaces + + * evpl supports multiple Ethernet Virtual Connections per + interface + + * evpl-untagged is used when either Source or Destination + interface has no VLAN specified + connected: + type: boolean + description: Current connection status + description: + type: string + example: DA1 to DA1 (name) + description: User friendly description + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + time_created: + type: string + format: date-time + description: Date and time of circuit creation + time_updated: + type: string + format: date-time + description: Date and time of the last update + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + operationId: provision_marketplace_cloud_router_connection + summary: Provision requested Marketplace cloud router connection + tags: + - Cloud Router Third Party + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + required: + - interface + - bgp_settings + description: Marketplace Cloud Router Connection provisioning details + properties: + interface: + type: object + required: + - port_circuit_id + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1002 + description: >- + The circuit ID of the port to use to create the + connection. + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + bgp_settings: + description: >- + Request payload for specifying BGP details for the new + connection. + type: object + required: + - l3_address + - remote_address + - remote_asn + - prefixes + properties: + l3_address: + type: string + description: The L3 Address of this instance. + example: 10.0.0.1/30 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to advertise from the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + local_preference: + type: integer + description: The local preference for the prefix. + example: 100 + minimum: 0 + responses: + '201': + description: Provisioned Cloud Router Connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/requests/{vc_request_uuid}/reject: + post: + operationId: reject_service_request + summary: Reject service request + tags: + - Services + parameters: + - name: vc_request_uuid + required: true + in: path + schema: + type: string + format: uuid + responses: + '200': + description: Rejected request details + content: + application/json: + schema: + allOf: + - type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in + Los Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for + hourly billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing + accepts multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make + this VC untagged. This will only be False if there is + only one logical interface on the requesting + customer's port and that single logical interface is + untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with + which this request is associated. This field will only + be included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for + the prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + - type: object + properties: + flex_bandwidth_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the flex bandwidth container with which + this request is associated. This field will only be + included for VC requests that you created. + /v2/svlan-labels: + post: + operationId: create_svlan_label + summary: Create SVlan label + description: >- + Create a label to associate with a particular SVlan and port. There can + only be one label for a given SVlan per port. The port must be an NNI + port. + tags: + - SVlan Labels + requestBody: + content: + application/json: + schema: + type: object + required: + - svlan_id + - description + - port_circuit_id + properties: + svlan_id: + type: integer + description: integer between 4 and 4094 inclusive + example: 1357 + description: + type: string + description: name for the label + maxLength: 64 + port_circuit_id: + type: string + description: Circuit ID of the NNI port + example: PF-AP-WDC1-10000 + responses: + '201': + description: Created SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{port_circuit_id}: + get: + operationId: get_svlan_labels_for_port + summary: Get SVlan labels for port + description: Get SVlan labels associated with this port + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: port_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: Get the SVlan labels for this port + responses: + '200': + description: the SVlan labels for this port + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/mappings: + get: + operationId: get_svlan_labels_for_customer + summary: Get SVlan labels for the logged-in customer + description: Get all the SVlan labels for this customer + tags: + - SVlan Labels + responses: + '200': + description: all of the SVlan labels for this customer + content: + application/json: + schema: + type: object + properties: + svlans: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + /v2/svlan-labels/{svlan_label_uuid}: + patch: + operationId: update_svlan_label + summary: Update this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to update + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: new description for this SVlan label + example: a label for my SVlan + responses: + '200': + description: Updated SVlan label + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: unique identifier for this SVlan label + svlan_id: + type: integer + example: 1357 + description: the SVlan associated with this label + port_circuit_id: + type: string + description: Port circuit ID + example: PF-AP-WDC1-10000 + description: + type: string + description: name for the label + delete: + operationId: delete_svlan_label + summary: Delete this SVlan label + tags: + - SVlan Labels + parameters: + - required: true + in: path + name: svlan_label_uuid + schema: + type: string + format: uuid + description: SVlan label to delete + responses: + '200': + description: Response message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: SVlan label deleted successfully + /v2/users: + post: + operationId: user_post + summary: Create new user + tags: + - Users + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - login + - password + - first_name + - last_name + - email + - phone + - timezone + - group + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + password: + description: User password. Keep it in secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + example: admin + groups: + description: | + User groups. Deprecated. + type: array + minItems: 1 + items: + type: string + example: + - admin + deprecated: true + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_list + summary: Get list of users + description: Use this endpoint to get users for the current customer + tags: + - Users + parameters: + - in: query + name: q + description: Searches for this string in the user name or e-mail + schema: + type: string + responses: + '201': + description: List of users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}: + patch: + operationId: user_patch + summary: Modify a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: The user with this login will be modified + schema: + type: string + requestBody: + description: | + Details to update the User + content: + application/json: + schema: + type: object + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + email: + description: User e-mail + type: string + example: user@example.com + format: email + maxLength: 255 + password: + type: string + description: > + Password of the user being changed. + + This is required if the user's email is being changed. + + This does not change the user's password, for that use PATCH + /v2/users/{user_login}/password. + example: p4ssw0rd + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + login: + description: User login + type: string + example: john + maxLength: 255 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + disabled: + description: >- + Set this flag to disable the user. Disabled users will not + be able to login + type: boolean + example: false + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + responses: + '200': + description: Modified user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + get: + operationId: user_get_by_login + summary: Fetch user details by a user login + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch + schema: + type: string + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + delete: + operationId: user_delete_by_login + summary: Deletes a user + tags: + - Users + parameters: + - required: true + in: path + description: Login of the user to delete + name: user_login + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted + /v2/users/{uuid}: + get: + operationId: user_get_by_uuid + summary: Fetch user details by a UUID + tags: + - Users + parameters: + - required: true + description: UUID of the user to fetch + in: path + name: uuid + schema: + type: string + format: uuid + responses: + '200': + description: User details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/users/{user_login}/groups: + get: + deprecated: true + operationId: user_get_group_list + summary: Get the list of groups of a given user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Login of the user to fetch groups for + schema: + type: string + responses: + '200': + description: List of groups of a user + content: + application/json: + schema: + type: array + items: + type: string + description: Group name + example: + - admin + - regular + /v2/users/{user_login}/groups/{group_name}: + post: + deprecated: true + operationId: user_add_group + summary: Add user to group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: User login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to add user to. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User successfully added to group + delete: + deprecated: true + operationId: user_delete_group + summary: Delete a user from a given group + tags: + - Users + parameters: + - required: true + in: path + name: user_login + schema: + type: string + - required: true + in: path + name: group_name + description: > + Group name to delete user from. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + schema: + type: string + responses: + '200': + description: Delete confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: User deleted from the group + /v2/users/request-password-reset: + post: + operationId: user_request_password_reset + security: [] + summary: Sends the user an email with a link to reset a forgotten password + tags: + - Users + requestBody: + description: Login of the user to request the password reset for + content: + application/json: + schema: + type: object + required: + - user_login + properties: + user_login: + type: string + description: Login of the user to request the password reset for + responses: + '200': + description: Confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: >- + You'll receive an email with instructions to reset your + password + /v2/users/reset-password: + post: + operationId: user_reset_password + security: [] + summary: Sets a new password for a user + tags: + - Users + requestBody: + description: Password reset details + content: + application/json: + schema: + type: object + required: + - new_password + - rt + properties: + new_password: + type: string + description: New password for the user + example: p4ssw0rd + rt: + type: string + description: Reset token from the e-mail + responses: + '200': + description: Reset confirmation message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/{user_login}/password: + patch: + operationId: user_update_password + summary: Sets a new password for a user + tags: + - Users + parameters: + - required: true + in: path + name: user_login + description: Password of the user with this login will be modified + schema: + type: string + requestBody: + description: Password update details + content: + application/json: + schema: + type: object + required: + - new_password + - old_password + properties: + new_password: + type: string + description: New password for the user, at least 8 characters long + example: p4ssw0rd + old_password: + type: string + description: Current password for the user + example: p4ssw0rd + responses: + '200': + description: Password changed successfully + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Password reset + /v2/users/mfa/setup: + post: + operationId: user_mfa_setup + summary: Generate a user secret and scratch codes + description: > + Generates a new user secret and 3 new scratch codes used for + multi-factor authentication.
**Note:** this replaces any previous + secret with a new one and remaining scratch codes with three new ones. + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + secret: + type: string + description: secret used to setup multi-factor authentication apps + example: HAZWMZRXME4DALJUGEYDALJUGYZWILJZHBRDGLLDHBTGGZJRHFRTEYRYMI + codes: + description: Single-use scratch codes + type: array + minItems: 3 + items: + type: string + example: + - '123456' + - '654321' + - 72839 + /v2/users/mfa/enable: + post: + operationId: user_mfa_enable + summary: Enable multi-factor authentication for the user + description: > + This enables multi-factor authentication for the user. By requiring an + authentication code to be sent we make sure that users have properly + setup their authentication app of choice, thus avoiding inadvertently + locking a user out of their account. + tags: + - Multi-Factor Authentication + requestBody: + description: Multi-factor authentication details + content: + application/json: + schema: + type: object + required: + - authentication_code + properties: + authentication_code: + type: string + description: Multi-factor authentication code + example: 123456 + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/disable: + post: + operationId: user_mfa_disable + summary: Disable multi-factor authentication for the user + description: > + Deletes all trace of multi-factor authentication for the user in + question. This includes the scratch codes and the secret. + tags: + - Multi-Factor Authentication + requestBody: + description: User password + content: + application/json: + schema: + type: object + required: + - password + properties: + password: + type: string + description: Password for the user + example: p4ssw0rd + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: success + /v2/users/mfa/qrcode: + get: + operationId: user_mfa_qrcode + summary: Return a QR code image used for setup + description: > + Returns a QR code image that can be used to setup a multi-factor + authentication app like Google Authenticator.
**Note:** for + security reasons, this image will only be available for the five minutes + that follow the moment when a new secret code is generated + tags: + - Multi-Factor Authentication + responses: + '200': + description: Success message + content: + image/png: + schema: + type: string + format: binary + /v2/team-invites: + post: + operationId: team_signup_user_post_list + summary: >- + Sign-up and send invitation emails to a list of new users, assigned to + current customer + tags: + - TeamSignup + requestBody: + description: | + Details to invite the User with + content: + application/json: + schema: + type: array + items: + type: object + required: + - email + - group + properties: + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the meaning + of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + email_sent: + description: >- + Flag indicating that the invitation email has been + successfully sent + type: boolean + get: + operationId: team_signup_user_get_list + summary: Get list of team signup invitations + description: Use this endpoint to get all invited users for the current customer + tags: + - TeamSignup + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}: + get: + operationId: team_signup_get_user + security: [] + summary: Get details of a team signup invitation + description: Use this endpoint to get details of a specific user invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '201': + description: List of invited users + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the invitation + email: + description: User e-mail + type: string + example: user@example.com + format: email + group: + description: > + Group this user belongs to. Check the list and the + meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: regular + signup_completed: + description: >- + Flag indicating that user has finished with signup + process + type: boolean + time_created: + type: string + format: date-time + description: Date and time of user signup object creation + time_updated: + type: string + format: date-time + description: Date and time user signup object was last updated + user_time_created: + type: string + format: date-time + description: Date and time user account has been created + user_created: + description: Flag indicating that user account has been created + type: boolean + /v2/team-invites/{signup_uuid}/resend: + post: + operationId: resend_team_signup_invitation + summary: Resend team invitation + description: Resend team invitation to the potential user + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + responses: + '200': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Invitation has been resent + /v2/team-invites/{signup_uuid}/user: + post: + operationId: team_signup_register_user_post + security: [] + summary: Create a new user based on team signup invitation + tags: + - TeamSignup + parameters: + - required: true + in: path + name: signup_uuid + description: UUID of the invitation + schema: + type: string + format: uuid + requestBody: + description: | + Details to create the User + content: + application/json: + schema: + type: object + required: + - password + - first_name + - last_name + - phone + - timezone + properties: + first_name: + description: User first name + type: string + example: John + maxLength: 255 + last_name: + description: User last name + type: string + example: Galt + maxLength: 255 + phone: + description: User phone number + type: string + maxLength: 64 + pattern: >- + ^[0-9 + ()+.-]+(\s?(x|ex|ext|ete|extn)?(\.|\.\s|\s)?[\d]{1,9})?$ + example: 111-111-1111 + password: + description: User password. Keep it secret + type: string + example: '*****' + maxLength: 64 + minLength: 8 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from `pytz` + Python library + type: string + example: MST + responses: + '201': + description: Created user details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: UUID of the user + first_name: + description: User first name + type: string + example: John + last_name: + description: User last name + type: string + example: Galt + phone: + description: User phone number + type: string + example: 111-111-1111 + timezone: + description: > + User time-zone. You can find the list of + + [available timezones + here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). + + Alternatively you can check `pytz.all_timezones` from + `pytz` Python library + type: string + example: MST + email: + description: User e-mail + type: string + example: user@example.com + format: email + login: + description: User login + type: string + example: john + group: + description: > + User group. Check the list and the meaning of + + the default groups here: + https://docs.packetfabric.com/admin/user/groups/ + type: string + enum: + - admin + - regular + - read-only + example: admin + reset_password_before: + description: >- + The date when the user will be blocked if the password + will not be reset + type: string + format: date-time + example: '2020-01-01T12:30:00.000Z' + /v2/objects/{circuit_id}/labels: + put: + operationId: update_object + summary: Update an object label + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: An array of label values to be associated with an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + patch: + operationId: add_object + summary: Add to an object's labels + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object to be updated + schema: + type: string + requestBody: + content: + application/json: + schema: + type: object + required: + - labels + properties: + label_type: + description: >- + Type of the label. customer_ref by default. reseller_ref is + only available for the resellers. + type: string + enum: + - customer_ref + - reseller_ref + labels: + type: array + description: >- + An array of label values to be added to the already existing + labels of an object + items: + type: string + description: Label Value intended to be linked + example: staging + responses: + '200': + description: Successfully updated object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value actually linked to the object + example: staging + get: + operationId: get_object_labels + summary: Get the Labels associated with an object + tags: + - Objects + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the object + schema: + type: string + responses: + '200': + description: A list of labels associated with an object + content: + application/json: + schema: + type: object + properties: + labels: + type: array + items: + type: string + description: Label value linked to an object + example: staging + /v2/outbound-cross-connects: + post: + operationId: outbound_cross_connect_post + summary: Create a new outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-SO-ME-111 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this cross + connect should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: + - port + - site + - document_uuid + responses: + '202': + description: Outbound Cross Connect Object + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Outbound Cross Connect is being created + description: >- + This message lets you know that the cross connect has + started provisioning. + get: + operationId: outbound_cross_connect_list + summary: Get the outbound cross connects associated with the current customer + tags: + - Outbound Cross Connects + parameters: + - required: false + in: query + name: port + schema: + type: string + description: List OBCC by port_circuit_id + example: port-circuit-id + - required: false + in: query + name: show_deleted + schema: + type: boolean + description: Include deleted OBCCs in list + example: true + responses: + '200': + description: List of outbound cross connects + content: + application/json: + schema: + type: array + items: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: >- + Z-side company name for the far side of the cross + connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + get: + operationId: outbound_cross_connect_get + summary: Get a single outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + content: + application/json: + schema: + type: object + properties: + port: + type: string + example: PF-AP-SFO1-58 + description: port_circuit_id to use for the cross connect + site: + type: string + example: DR-ATL1 + description: site_code for the port location + document_uuid: + type: string + format: uuid + example: 55A7A654-4C3C-4C69-BCBE-755790F0417C + description: Document uuid for the LOA + outbound_cross_connect_id: + type: string + example: TPOCC-15 + description: Outbound cross connect id + circuit_id: + type: string + example: PF-OBCC-1234 + description: Outbound cross connect circuit id + obcc_status: + type: string + example: In Progress + description: Outbound cross connect status + description: + type: string + example: Cross connect for a demo + description: PacketFabric outbound cross connect description + user_description: + type: string + example: Cross connect for a user's demo + description: Customer outbound cross connect description + destination_name: + type: string + example: Destination company name + description: Z-side company name for the far side of the cross connect + destination_circuit_id: + type: string + example: Destination circuit id + description: Z-side circuit id for the far side of the cross connect + panel: + type: string + example: Panel + description: Z-side fiber panel info + module: + type: string + example: Module + description: Z-side fiber module info + position: + type: string + example: Position + description: Z-side fiber position info + data_center_cross_connect_id: + type: string + example: SUPER-COOL-NAME + description: Display id for the obcc + progress: + type: integer + example: 10 + description: Percent completion status of the cross connect + deleted: + type: boolean + example: false + description: Has this outbound cross connect been deleted + z_loc_cfa: + type: string + example: | + Panel + Module + Position + description: Multiline string with fiber position info + time_created: + type: string + format: date-time + example: '2020-05-12 01:10:03' + description: Outbound cross connected creation time + time_updated: + type: string + format: date-time + example: '2020-05-12 01:12:03' + description: Outbound cross connect last updated time + delete: + operationId: outbound_cross_connect_delete + summary: Delete an outbound cross connect + tags: + - Outbound Cross Connects + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect successfully deleted + patch: + operationId: outbound_cross_connect_patch + summary: Patch a single outbound cross connect + tags: + - Outbound Cross Connects + requestBody: + content: + application/json: + schema: + type: object + properties: + user_description: + type: string + example: description for the cross connect + description: user_description to use for the cross connect + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + parameters: + - required: true + in: path + name: outbound_cross_connect_id + description: id of the cross connect + schema: + type: string + responses: + '200': + description: Outbound Cross Connect object + /v2/services/point-to-point/{ptp_uuid}: + get: + tags: + - PTP Services + summary: Get point-to-point service info + operationId: getptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID or Circuit ID of the point-to-point service to fetch + schema: + type: string + format: uuid + responses: + '200': + description: Point-to-point service details + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + delete: + tags: + - PTP Services + summary: Delete a point-to-point service + operationId: deleteptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to delete + schema: + type: string + format: uuid + responses: + '200': + description: >- + Successfully started the delete process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + patch: + tags: + - PTP Services + summary: Update a point-to-point service + description: Updates the description of the point-to-point service + operationId: patchptp + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to update + schema: + type: string + format: uuid + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: true + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Details of updated point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point: + get: + tags: + - PTP Services + parameters: + - required: false + in: query + name: q + schema: + type: string + description: >- + Filter PTPs by description, circuit id, or POP/circuit id/market of + the interfaces + example: LAX + summary: Get all point-to-point services + operationId: ptplist + responses: + '200': + description: List of point-to-point services for current customer + content: + application/json: + schema: + type: array + items: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + post: + tags: + - PTP Services + summary: Create a point-to-point service + operationId: PTP Services.post_point_to_point + requestBody: + description: Create a point-to-point connection between two POPs + content: + application/json: + schema: + type: object + required: + - description + - endpoints + - speed + - media + - account_uuid + - subscription_term + properties: + description: + type: string + minLength: 1 + maxLength: 255 + nullable: false + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + endpoints: + type: array + items: + type: object + required: + - pop + - zone + - autoneg + properties: + pop: + type: string + description: POP name + example: PDX1 + zone: + type: string + description: Availability zone + example: A + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + autoneg: + type: boolean + loa: + type: string + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + required: true + responses: + '201': + description: Details of created point-to-point service + content: + application/json: + schema: + type: object + required: + - uuid + - description + - speed + - media + - state + properties: + ptp_uuid: + type: string + format: uuid + ptp_circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + description: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + state: + type: string + enum: + - Requested + - Active + - Inactive + - UpgradeRequested + billing: + type: object + required: + - account_uuid + - subscription_term + properties: + account_uuid: + type: string + format: uuid + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + contracted_speed: + type: string + example: 10Gbps + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + user_created: + type: string + description: Email of the user that created the ptp + format: email + user_updated: + type: string + description: Email of the user that last modified the ptp + format: email + deleted: + type: boolean + description: Is PTP deleted + service_class: + type: string + description: The service class for the associated VC of this PTP. + enum: + - longhaul + - metro + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: Name of the customer associated with this interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is a + cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this interface is + part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + /v2/services/point-to-point/{ptp_uuid}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status (Legacy) + operationId: ptpstatus + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch status for + schema: + type: string + format: uuid + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - instance_id + - instance_type + - state + - all_state_descriptions + - all_states + properties: + instance_id: + type: string + format: uuid + instance_type: + type: string + enum: + - PointToPoint + state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_states: + type: array + items: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + all_state_descriptions: + type: object + properties: + Requested: {} + IFDsCreated: {} + VCCreated: {} + BillingAdded: {} + Testing: {} + BillingEnabled: {} + Active: {} + ReservationRemoved: {} + BillingRemoved: {} + IFLsDestroyed: {} + VCDestroyed: {} + IFDsDestroyed: {} + Inactive: {} + progress: + type: object + required: + - step_count + - current_step + - time_remaining_sec + properties: + step_count: + type: integer + format: int64 + current_step: + type: integer + format: int64 + time_remaining_sec: + type: integer + format: int64 + activity: + type: array + items: + type: object + required: + - event + - time_created + - user + properties: + event: + type: string + time_created: + type: string + format: date-time + user: + type: string + current_errors: + type: array + items: + type: object + required: + - error_message + - time_created + properties: + error_message: + type: string + time_created: + type: string + format: date-time + current_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + current_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + next_state: + type: string + enum: + - Requested + - IFDsCreated + - VCCreated + - BillingAdded + - Active + - ReservationRemoved + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - IFDsDestroyed + - Inactive + next_state_description: + type: string + enum: + - >- + Point-to-Point requested. Source and destination + ports are being provisioned. + - >- + Source and destination ports created. EPL virtual + circuit is being provisioned. + - >- + EPL virtual circuit created. Billing is being set + up. + - >- + Billing set up. Point-to-Point is ready for + testing and activation. + - Point-to-Point ready for testing and activation. + - Point-to-Point billing enabled. + - >- + Point-to-Point point-to-point connection is + active. + - Reservation removed + - >- + Billing disabled. Logical interfaces for the + virtual circuit will be deleted. + - >- + Virtual circuit logical interfaces deleted. + Virtual circuit will be deleted. + - >- + Virtual circuit deleted. Source and destination + ports will be deleted. + - >- + Source and destination ports deleted. + Point-to-Point will be set to inactive and + deleted. + - Point-to-Point is inactive. + transition: + type: string + enum: + - doCreateIFDs + - doCreateVC + - doAddBilling + - doRemoveReservation + - doActivate + - doRemoveBilling + - doDestroyVC + - doDestroyIFDs + - doInactivate + time_created: + type: string + format: date-time + time_updated: + type: string + format: date-time + has_error: + type: boolean + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: + tags: + - PTP Services + summary: Get point-to-point service status + operationId: ptpstatus2_1 + parameters: + - name: ptp_circuit_id + in: path + required: true + description: Circuit ID of the point-to-point service to fetch status for + schema: + type: string + example: PF-PD-NYC-AUS-1734406 + responses: + '200': + description: Status of a provisioning point-to-point service + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-PD-NYC-AUS-1734406 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + example: ptp/workflow/provision/master + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + tags: + - PTP Services + summary: Upgrade a point-to-point service to a new subscription term + deprecated: true + operationId: PTP Services.post_point_to_point_upgrade + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to upgrade + schema: + type: string + format: uuid + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + required: false + responses: + '200': + description: >- + Successfully started the upgrade process for the point-to-point + service + content: + application/json: + schema: + type: object + properties: + message: + type: object + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: + tags: + - PTP Services + summary: >- + Get upgrade options for a point-to-point service upgrade to a new + subscription term + operationId: PTP Services.get_point_to_point_upgrade_options + parameters: + - name: ptp_uuid + in: path + required: true + description: UUID of the point-to-point service to fetch upgrade options for + schema: + type: string + format: uuid + responses: + '200': + description: >- + Upgrade availability and available options for point-to-point + service upgrade + content: + application/json: + schema: + type: object + required: + - upgrade_available + - subscription_term + properties: + upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + /v2/services/cloud-routers: + get: + operationId: cloud_routers_list + summary: Returns a list of cloud routers associated with the current account. + tags: + - Cloud Routers + responses: + '200': + description: A list of Cloud Routers. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + post: + operationId: cloud_routers_create + summary: Creates a new Cloud Router and then returns it. + tags: + - Cloud Routers + requestBody: + description: Request payload for creating a new Cloud Router. + content: + application/json: + schema: + type: object + required: + - name + - account_uuid + - capacity + properties: + scope: + type: string + deprecated: true + description: >- + Whether the cloud router is private or public. (This field + is ignored) + example: private + enum: + - private + - public + asn: + type: integer + example: 4556 + description: >- + The ASN of the instance. Values must be within 64512 - + 65534, or 4556. Defaults to 4556 if unspecified. + default: 4556 + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + regions: + type: array + items: + type: string + description: >- + The code of the region to be used for this Cloud Router. + Optional. + example: US + default: US + enum: + - US + - UK + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + example: 12 + responses: + '201': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/export.csv: + get: + operationId: get_cloud_routers_csv + summary: Download customer cloud routers as csv + tags: + - Cloud Routers + responses: + '200': + description: CSV with list of customer cloud routers + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}: + get: + operationId: cloud_router_get + summary: Returns a cloud router associated with the circuit id. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + patch: + operationId: cloud_routers_patch + summary: Update an existing Cloud Router. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + requestBody: + description: Update an existing Cloud Router. + content: + application/json: + schema: + type: object + properties: + name: + type: string + example: New Super Cool Cloud router + description: The name of this particular CR. + regions: + deprecated: true + type: array + items: + type: string + description: The code of the region to be used for this Cloud Router. + example: US + enum: + - US + - UK + capacity: + deprecated: true + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: A single Cloud Router. + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + description: The Circuit ID of the instance. + example: PF-L3-CUST-2 + asn: + type: integer + example: 4556 + description: The ASN of the instance. + name: + type: string + example: Super Cool Cloud router + description: The name of this particular CR. + capacity: + type: string + example: 10Gbps + description: The total capacity of this particular Cloud Router. + regions: + type: array + items: + type: object + properties: + name: + type: string + example: Continental U.S. + description: The name of this region. + code: + type: string + example: US + description: The code of this region. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + delete: + operationId: cloud_router_delete + summary: Deletes a cloud router. Note that all connections must be deleted first. + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Routers + responses: + '200': + description: Cloud router deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router deleted. + /v2/services/cloud-routers/requests: + get: + operationId: cloud_router_request_get_list + summary: Returns a list of Cloud Router Imports Requests. + parameters: + - required: true + in: query + name: request_type + description: Type of the Cloud Router Import Request. + schema: + type: array + items: + type: string + enum: + - sent + - received + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports Requests. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/requests/{import_circuit_id}: + get: + operationId: cloud_router_request_get + summary: >- + Returns a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Imports Request. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + cloud_router_circuit_id: + type: string + description: The Circuit ID of the source Cloud Router + example: PF-L3-CUST-19873 + customer_name: + type: string + description: >- + The customer that initiated this Cloud Router Import + Request. + example: Example Customer + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + state: + type: string + description: Shows the state of this import. + example: active + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was updated. + example: 2020-08-20T22:08:37.000000+0000 + request_type: + type: string + description: Type of the Cloud Router Import Request. + enum: + - sent + - received + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + connection_speed: + type: string + description: The speed of the target cloud router connection. + example: 1Gbps + from_customer: + type: object + description: >- + The details of the customer the cloud router request is + from + properties: + customer_uuid: + type: string + description: >- + The UUID of the customer making the cloud router + request + example: 35f9f368-6f0f-4511-a1d7-75f1d390af5f + name: + type: string + description: >- + The name of the customer making the cloud router + request + example: James Bond + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + localpref: + type: integer + description: The localpref of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + asprepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + localpref: + type: integer + description: The localpref of the Return Filter. + example: 120 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved the + return filter + example: false + delete: + operationId: cloud_router_request_delete + summary: Deletes a Cloud Router Imports Request associated with the circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been deleted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: + operationId: cloud_router_request_accept + summary: >- + Accepts a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + responses: + '200': + description: The Cloud Router Import Request has been accepted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been accepted. + description: Operation status + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + operationId: cloud_router_request_reject + summary: >- + Rejects a single Cloud Router Imports Request associated with the + circuit id. + parameters: + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + example: PF-L3-IMP-15626 + tags: + - Cloud Router Third Party + requestBody: + description: Request payload for rejecting an import request. + content: + application/json: + schema: + type: object + properties: + rejection_reason: + type: string + description: The reason for the rejection. + example: Return filters are too broad. + responses: + '200': + description: The Cloud Router Import Request has been rejected. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Import Request has been rejected. + description: Operation status + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: + operationId: cloud_routers_bgp_get + summary: List BGP sessions associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + responses: + '200': + description: A list of BGP sessions. + content: + application/json: + schema: + type: array + items: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs + to be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The source IP address + mask of the NAT pool + prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + put: + operationId: cloud_routers_bgp_update + summary: Updates an existing BGP session and associated L3 information. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: >- + Request payload for updating an existing BGP session on a cloud + router. + content: + application/json: + schema: + required: + - prefixes + - remote_asn + - l3_address + type: object + properties: + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to be + the subnet. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: >- + The cloud-side address of the instance. Not used for Azure + connections. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. Minimum + for Google is 1000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. Minimum for Google is 5. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + bgp_settings_uuid: + type: string + format: uuid + description: >- + The UUID of the specific BGP session to update, if more than + one are present. + example: 862386eb-df01-436b-8346-e16c8023e4d1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '200': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + post: + operationId: cloud_routers_bgp_create + summary: >- + Creates a new BGP session and associated L3 information on a cloud + router connection and returns it. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + requestBody: + description: Request payload for creating a new BGP session on a cloud router. + content: + application/json: + schema: + type: object + required: + - remote_asn + properties: + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + l3_address: + type: string + description: >- + The L3 Address of this instance. Not used for Azure + connections. + example: 10.0.0.1/30 + primary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the primary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + secondary_subnet: + type: string + description: >- + Currently for Azure use only, provide this as the secondary + subnet when creating an Azure cloud router connection. + example: 10.0.0.1/30 + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + default: 1 + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + minimum: 3 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a neighbor + that causes the session to be declared down. Available range + is 2 through 16. + example: 3 + minimum: 2 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + required: + - prefix + - type + type: object + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is used when + type = out + med: + type: integer + description: The MED of this prefix. It is used when type = out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is used when + type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + description: the order of this prefix against the others. + deprecated: true + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before + NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must be a + /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must be a + /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + get: + operationId: cloud_routers_bgp_get_by_uuid + summary: Get a single BGP session associated with a Cloud Router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: A single BGP session. + content: + application/json: + schema: + type: object + properties: + bgp_settings_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + address_family: + type: string + example: v4 + description: Whether this instance is IPv4 or IPv6. + enum: + - v4 + - v6 + remote_address: + type: string + example: 10.0.0.1 + description: The cloud-side address of the instance. + l3_address: + type: string + description: >- + The L3 Address of this instance. For Azure, this needs to + be the subnet. + example: 10.0.0.1/30 + remote_asn: + type: integer + example: 4556 + description: The cloud-side ASN of the instance. + multihop_ttl: + type: integer + example: 1 + description: The TTL of this session. Defaults to 1. + local_preference: + type: integer + example: 1 + description: The preference for this instance. + community: + type: integer + example: 1 + description: The BGP community for this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + orlonger: + type: boolean + description: Whether to use exact match or longer for all prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting BFD + Control packets. Available range is 3 through 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared down. + Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + description: List of bgp prefixes + items: + type: object + properties: + bgp_prefix_uuid: + type: string + format: uuid + description: The UUID of the instance. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + default: exact + as_prepend: + type: integer + example: 1 + description: The BGP prepend value of this prefix. + med: + type: integer + description: The MED of this prefix. + example: 10 + local_preference: + type: integer + description: The local_preference of this prefix. + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host before NAT + translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: >- + The direction of the NAT connection. Output is the + default. + nat_type: + type: string + enum: + - overload + - inline_dnat + description: The NAT type of the NAT connection. + default: overload + dnat_mappings: + type: array + items: + type: object + properties: + private_prefix: + type: string + description: The private prefix of this DNAT mapping. + example: 10.0.0.0/32 + public_prefix: + type: string + description: The public prefix of this DNAT mapping. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this DNAT + mapping. + example: 10.0.0.0/24 + bgp_state: + type: string + description: The current state of this BGP session on the device. + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + delete: + operationId: cloud_routers_bgp_delete_by_uuid + summary: Delete a single BGP session from a cloud router connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-AE-1234 + - required: true + in: path + name: bgp_settings_uuid + description: The UUID of the specific BGP session you want to get. + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: BGP session deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: BGP Settings deleted successfully + /v2/services/cloud-routers/{circuit_id}/connections: + get: + operationId: cloud_routers_connections + summary: Lists all cloud router connections for a given router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/connections/export.csv: + get: + operationId: get_cloud_routers_connections_csv + summary: Download cloud routers connections as csv + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: cloud_router_circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-1400 + responses: + '200': + description: CSV with list of cloud router connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + operationId: check_bgp_address_uniqueness + summary: Checks to make sure the bgp addresses are unique + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for bgp address uniqueness check + content: + application/json: + schema: + type: object + properties: + l3_address: + type: string + description: The BGP l3 address + example: 10.0.0.1/32 + remote_address: + type: string + description: The BGP cloud-side address + example: 10.0.0.1 + pool_prefix: + type: string + description: The source IP address + mask of the NAT pool prefix. + example: 10.0.0.0/32 + cloud_circuit_id: + type: string + description: >- + The cloud router connection circuit id, to be used during + bgp update uniqueness check. + example: PF-L3-CON-2843831 + bgp_settings_uuid: + type: string + format: uuid + description: >- + The bgp session UUID, to be used during multi-bgp update + uniqueness check. + example: 3d78949f-1396-4163-b0ca-3eba3592efef + responses: + '200': + description: BGP addresses uniqueness check response + content: + application/json: + schema: + type: object + properties: + remote_unique: + type: boolean + description: Indicates whether the remote address is unique. + nullable: true + l3_unique: + type: boolean + description: Indicates whether the l3 address is unique. + nullable: true + pool_prefix_unique: + type: boolean + description: Indicates whether the pool prefix is unique. + nullable: true + /v2/services/cloud-routers/connections: + get: + operationId: cloud_routers_connections_by_customer + summary: Lists all of the customer's cloud router connections. + tags: + - Cloud Router Connections + parameters: + - required: false + in: query + name: port_circuit_id + description: Filter Dedicated Port connections by their Port Cicuit ID. + schema: + type: string + example: PF-AP-LAB1-123456 + - name: offset + required: false + description: Number of records to skip + in: query + schema: + type: integer + example: 20 + - name: page_size + required: false + description: Number of records to show + in: query + schema: + type: integer + example: 10 + - name: sort_column + required: false + description: Column to sort results on + in: query + schema: + type: string + enum: + - time_created + - time_updated + - required: false + in: query + name: sort_order + description: Pagination sort order. + schema: + type: string + enum: + - asc + - desc + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + patch: + operationId: patch_cloud_router_connection + summary: Update a Cloud Router Connection + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection to update. + schema: + type: string + example: PF-CC-1234 + requestBody: + description: Update an existing Cloud Router Connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + example: New Super Cool Cloud Router Connection + description: The description of this Cloud Router Connection. + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: array + items: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: >- + The circuit ID of the port to connect to the cloud + router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the + Amazon connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in + the BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is + associated with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is + associated with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + get: + operationId: cloud_routers_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + delete: + operationId: cloud_routers_connection_delete + summary: Delete a cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/connections/{circuit_id}: + get: + operationId: cloud_router_connection + summary: Get a single cloud router connection by circuit id. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: The circuit ID of the connection. + schema: + type: string + example: PF-CC-1234 + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). Not for public VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a secondary + BGP peer in the same address family (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC Security + (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: The MAC Security (MACsec) connection encryption mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of the + connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + (AWS) An array of prefixes that will be + advertised. + items: + type: string + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_keepalive_interval: + type: integer + description: >- + (Google) The Keepalive Interval of this + connection. + example: 40 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: + operationId: cloud_routers_connections_connection_delete + summary: Delete a cloud router connection. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: cloud_connection_uuid + schema: + type: string + format: uuid + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: Target cloud connection's UUID. + responses: + '200': + description: Cloud router connection deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud router connection deleted. + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + operationId: cloud_routers_connections_third_party_create + summary: >- + Creates a new Marketplace Cloud Router Connection request and returns + it. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new marketplace cloud router connection + request. + content: + application/json: + schema: + required: + - account_uuid + - service_uuid + - speed + - pop + - prefixes + type: object + properties: + prefixes: + type: array + description: The prefixes to be advertised to the marketplace service. + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + default: exact + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + minimum: 0 + maximum: 5 + med: + type: integer + description: The MED to be advertised for the prefix. + minimum: 0 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_uuid: + type: string + format: uuid + description: UUID of the marketplace service being requested + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + pop: + type: string + description: The desired location for the new Third Party Connection. + example: DAL1 + description: + type: string + description: The description of the Marketplace Cloud Router connection. + example: My Marketplace Cloud Router connection + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + default: 1 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: VC connection request details + content: + application/json: + schema: + type: object + properties: + vc_request_uuid: + type: string + format: uuid + description: ID of the service request. + example: a375494c-5a61-47ce-b727-879a5407eac2 + vc_circuit_id: + type: string + example: PF-DC-SMF-PDX-12345 + description: Virtual Circuit ID + from_customer: + allOf: + - description: Customer initiating the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + contact_first_name: + type: string + description: Customer contact first name + example: James + contact_last_name: + type: string + description: Customer contact last name + example: Bond + contact_email: + type: string + description: Customer contact email + format: email + example: user@example.com + contact_phone: + description: Customer contact phone + type: string + example: 111-111-1111 + to_customer: + allOf: + - description: Customer receiving the request. + - type: object + properties: + customer_uuid: + type: string + format: uuid + description: Customer ID + example: f11ca343-ac2f-4b92-a66b-d4a58d827654 + name: + type: string + description: Customer Name + example: Vandelay Industries + status: + type: string + description: Current status of the service request. + enum: + - pending + - provisioned + - rejected + request_type: + type: string + description: The type of service being requested + enum: + - internet_exchange + - legacy_azure + - marketplace + - marketplace_cloud_aws + - marketplace_cloud_azure + - marketplace_cloud_google + - marketplace_cloud_router_connection + example: marketplace + text: + type: string + example: >- + Vandelay Industries would like to connect with you in Los + Angeles + bandwidth: + description: Billing settings + type: object + properties: + account_uuid: + type: string + format: uuid + description: UUID of the billed user's account + subscription_term: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + description: >- + Subscription term in months. Not applicable for hourly + billing. + longhaul_type: + type: string + enum: + - dedicated + - usage + - hourly + description: >- + Dedicated (no limits or additional charges), + usage-based (per transfered GB) pricing model or + hourly billing + speed: + type: string + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + - 20Gbps + - 30Gbps + - 40Gbps + - 50Gbps + - 60Gbps + - 80Gbps + - 100Gbps + description: >- + Link speed. Values for hourly (burst) billing accepts + multiples of 100Mbps. + rate_limit_in: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit incoming data by. + rate_limit_out: + type: integer + format: int64 + example: 1000 + description: The upper bound, in Mbps, to limit outgoing data by. + service_name: + type: string + description: Name of the service being requested + example: Example Service + allow_untagged_z: + type: boolean + description: >- + If true, the accepting customer can choose to make this VC + untagged. This will only be False if there is only one + logical interface on the requesting customer's port and + that single logical interface is untagged. + aggregate_capacity_id: + type: string + example: PF-AB-1234 + description: >- + Circuit ID of the aggregate capacity container with which + this request is associated. This field will only be + included for VC requests that you created. + deprecated: true + prefixes: + type: array + description: >- + The prefixes the customer wants to advertise to the + marketplace service. Only present for requests of + request_type marketplace_cloud_router_connection. + items: + type: object + properties: + prefix: + type: string + description: >- + The prefix to be advertised to the marketplace + service. + example: 10.0.0.0/32 + match_type: + type: string + description: The match type for the prefix. + enum: + - exact + - orlonger + as_prepend: + type: integer + description: >- + The number of times to prepend the AS path for the + prefix. + med: + type: integer + description: The MED to be advertised for the prefix. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: Date and time request was created + example: '2016-01-11T08:30:00+00:00' + time_updated: + type: string + format: date-time + description: Date and time request was last updated + example: '2016-01-11T08:30:00+00:00' + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + deprecated: true + operationId: cloud_routers_connections_aws_create + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + public_ip: + type: string + description: >- + The publically allocated IP for this connection, if + present. + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + aws_region: + type: string + description: The region this connection to AWS is in. + example: us-west-1 + aws_hosted_type: + type: string + description: The type of connection. + example: hosted-connection + aws_connection_id: + type: string + description: The AWS connection ID. + example: dxlag-fgk8etlc + aws_account_id: + type: string + description: The customer AWS Account ID. + example: 123456789120 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + operationId: cloud_routers_connections_aws_create_2_1 + summary: Creates a new AWS connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - aws_account_id + - speed + - pop + - description + - account_uuid + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + enum: + - 1500 + - 8500 + - 9001 + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU). + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - prefixes + properties: + l3_address: + type: string + description: The L3 address of this connection. + example: 10.10.10.10/32 + remote_address: + type: string + description: The remote address of this connection. + example: 10.10.10.10/32 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. Available range is 3 through + 30000. + example: 300 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. Available range is 2 through 16. + example: 3 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + order: + type: integer + deprecated: true + description: the order of this prefix against the others. + example: 1 + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required for transit Gateways. + items: + type: string + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new AWS Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + deprecated: true + operationId: cloud_routers_connections_azure_create + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan + example: 6 + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + example: 7 + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + operationId: cloud_routers_connections_azure_create_2_1 + summary: >- + Creates a new Azure ExpressRoute connection on a cloud router and + returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Azure cloud router connection. + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Azure Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + deprecated: true + operationId: cloud_routers_connections_google_create + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + example: hosted + settings: + type: object + properties: + google_pairing_key: + type: string + description: The customer provided google pairing key. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + vlan_id_cust: + type: integer + description: The customer provided Vlan for this connection. + example: 6 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + state: + type: string + description: The state of the port. + example: Requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + operationId: cloud_routers_connections_google_create_2_1 + summary: Creates a new Google connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Google cloud router connection. + content: + application/json: + schema: + type: object + required: + - speed + - pop + - description + - account_uuid + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address. + default: false + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - prefixes + properties: + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + local_preference: + type: integer + example: 1 + description: The preference for this instance. + med: + type: integer + example: 1 + description: The Multi-Exit Discriminator of this instance. + as_prepend: + type: integer + example: 1 + description: The BGP prepend value for this instance. + minimum: 1 + maximum: 5 + orlonger: + type: boolean + description: >- + Whether to use exact match or longer for all + prefixes. + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 3000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + disabled: + type: boolean + description: Whether this BGP session is disabled. + default: false + prefixes: + type: array + items: + type: object + required: + - prefix + - type + properties: + prefix: + type: string + description: The actual IP Prefix of this instance. + example: 10.0.0.1/32 + match_type: + type: string + description: The match type of this prefix. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + example: 1 + description: >- + The BGP prepend value of this prefix. It is + used when type = out. + minimum: 1 + maximum: 5 + med: + type: integer + description: >- + The MED of this prefix. It is used when type = + out + example: 10 + local_preference: + type: integer + description: >- + The local_preference of this prefix. It is + used when type = in + example: 120 + type: + type: string + description: Whether this prefix is in or out. + enum: + - in + - out + example: in + nat: + oneOf: + - type: object + properties: + pre_nat_sources: + type: array + items: + type: string + description: >- + The source IP address + mask of the host + before NAT translation. + example: 10.0.0.0/24 + pool_prefixes: + type: array + items: + type: string + description: >- + The prefixes to use in the NAT pool. Must + be a /32. + example: 10.0.0.0/32 + direction: + type: string + enum: + - output + - input + description: The direction of the NAT connection. + default: output + nat_type: + type: string + enum: + - overload + description: The NAT type of the NAT connection. + - type: object + properties: + direction: + type: string + enum: + - output + description: The direction of the NAT connection + default: output + nat_type: + type: string + enum: + - inline_dnat + description: The NAT type of the NAT connection. + dnat_mappings: + type: array + items: + type: object + required: + - private_ip + - public_ip + properties: + private_ip: + type: string + description: >- + The private IP of this DNAT mapping. + Must be a /32. + example: 10.0.0.0/32 + public_ip: + type: string + description: >- + The public IP of this DNAT mapping. Must + be a /32. + example: 10.0.0.0/32 + conditional_prefix: + type: string + description: >- + The conditional_prefix prefix of this + DNAT mapping. + example: 10.0.0.0/24 + responses: + '201': + description: A new Google Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + deprecated: true + operationId: cloud_routers_connections_ibm_create + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + example: hosted + settings: + type: object + properties: + account_id: + type: string + description: The customer IBM account ID + example: 57a7d05f36894e3cb9b46a43556d903e + gateway_id: + type: string + format: uuid + description: The newly created IBM gateway ID + example: 61c3a9d5-41e8-41f8-bbb4-7eae94dbb006 + port_id: + type: string + format: uuid + example: 6cf0c5e4-de27-4a5e-9cbc-47e8b0701949 + description: The cloud on-ramp port ID + name: + type: string + description: The name of this IBM gateway + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + example: 64999 + bgp_cer_cidr: + type: string + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + example: 10.254.30.77/30 + vlan_id_cust: + type: integer + example: 4 + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + operationId: cloud_routers_connections_ibm_create_2_1 + summary: Creates a new IBM connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new AWS cloud router connection. + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - speed + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for the BGP session with IBM. + Optional. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: IBM's IP address for the BGP session. Optional. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. Optional. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new IBM Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + operationId: cloud_routers_connections_ipsec_create + summary: Creates a new IPSec connection on a cloud router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new IPSec connection. + content: + application/json: + schema: + required: + - description + - account_uuid + - zone + - pop + - speed + - ike_version + - phase1_authentication_method + - phase1_group + - phase1_encryption_algo + - phase1_authentication_algo + - phase1_lifetime + - phase2_pfs_group + - phase2_encryption_algo + - phase2_lifetime + - gateway_address + - shared_key + type: object + properties: + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - des-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - md5 + - sha-256 + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + minimum: 180 + maximum: 86400 + phase2_pfs_group: + type: string + example: group14 + enum: + - group1 + - group14 + - group15 + - group16 + - group19 + - group2 + - group20 + - group24 + - group5 + phase2_encryption_algo: + type: string + example: 3des-cbc + enum: + - 3des-cbc + - aes-128-cbc + - aes-128-gcm + - aes-192-cbc + - aes-192-gcm + - aes-256-cbc + - aes-256-gcm + - des-cbc + phase2_authentication_algo: + type: string + example: hmac-sha-256-128 + enum: + - hmac-md5-96 + - hmac-sha-256-128 + - hmac-sha1-96 + description: >- + required if phase2_encryption_algo uses cbc, must be null if + phase2_encryption_algo uses gcm + phase2_lifetime: + type: integer + example: 28800 + minimum: 180 + maximum: 86400 + gateway_address: + description: The customer-side (remote) gateway address + type: string + example: 127.0.0.1 + shared_key: + description: The pre-shared-key to use for authentication. + type: string + example: superCoolKey + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + vc_circuit_id: + type: string + description: The circuit ID of the VC for this connection. + circuit_id: + type: string + description: The circuit ID of the IPSec connection. + customer_gateway_address: + type: string + description: The customer-defined gateway address. + local_gateway_address: + type: string + description: The PF-side gateway address. + ike_version: + type: integer + example: 1 + enum: + - 1 + - 2 + phase1_authentication_method: + type: string + example: pre-shared-key + phase1_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase1_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-128-cbc + phase1_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase1_lifetime: + type: integer + example: 10800 + phase2_pfs_group: + type: string + example: group14 + enum: + - group5 + - group14 + phase2_encryption_algo: + type: string + example: aes-156-cbc + enum: + - aes-256-cbc + - aes-256-gcm + - aes-128-cbc + phase2_authentication_algo: + type: string + example: sha-384 + enum: + - sha-384 + - sha1 + phase2_lifetime: + type: integer + example: 28800 + pre_shared_key: + type: string + description: The pre-shared key for this connection. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + description: + type: string + description: The description of this connection. + example: Test description + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The location for the new connection. + example: DAL1 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + deprecated: true + operationId: cloud_routers_connections_oracle_create + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle cloud connectivity instance. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the new instance. + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + - dedicated + cloud_circuit_id: + description: The cloud circuit ID (null until provisioned) + type: string + example: PF-CC-LAX-NYC-0192345 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + settings: + type: object + properties: + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: >- + OCID for the Oracle VC to use in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: >- + The OCID of the Oracle cross-connect or cross-connect + group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + port_compartment_ocid: + type: string + description: >- + The OCID of the Oracle compartment containing the + virtual circuit. + example: >- + ocid1.compartment.oc1..aaaaaaaa7izqu3guurglgo3xhpr4otzye4a6bydaxvuigjt3nf2yxbw4mzaa + vlan_id_cust: + type: integer + example: 7 + vlan_id_pf: + type: integer + example: 3000 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + subscription_term: + type: integer + description: The subscription term, in months, of this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + components: + type: object + properties: + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + description: >- + OCID for the Oracle VC used in this hosted + connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + bandwidth: + type: string + description: The provisioned data rate of the connection. + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + description: >- + The state of the BGP session associated with the + Oracle VC. + enum: + - DOWN + - UP + compartment_id: + type: string + description: >- + The OCID of the compartment containing the Oracle + VC. + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The OCID of the cross-connect or + cross-connect group for this mapping. + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + description: >- + The BGP IPv4 address for the router on the + PacketFabric end of the BGP session. + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + description: >- + The BGP IPv6 address for the router on the + PacketFabric end of the BGP session. + type: string + oracle_bgp_peering_ip: + type: string + description: >- + The IPv4 address for Oracle's end of the BGP + session. + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + description: >- + The IPv6 address for Oracle's end of the BGP + session. + type: string + vlan: + type: integer + format: int64 + description: >- + The number of the VLAN that is assigned to + this Oracle VC. + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric end + of the BGP session. + example: 5555 + gateway_id: + type: string + description: >- + The OCID of the customer's dynamic routing gateway + (DRG) that this Oracle VC uses. + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + description: The Oracle VC's current state. + enum: + - PROVISIONING + - PENDING_PROVIDER + - VERIFYING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle BGP ASN + example: 31898 + provider_state: + type: string + description: >- + PacketFabric's state in relation to this Oracle + VC. ACTIVE means PacketFabric has provisioned the + VC. INACTIVE means PacketFabric has not yet + provisioned the VC, or has de-provisioned it. + enum: + - ACTIVE + - INACTIVE + ifd_port_circuit_id_cust: + type: string + description: The circuit ID of the customer's Port. + example: PF-AP-LAX1-1002 + ifd_port_circuit_id_pf: + type: string + description: The circuit ID of the cloud on-ramp Port. + example: PF-AP-LAX1-1002 + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + operationId: cloud_routers_connections_oracle_create_2_1 + summary: Creates a new Oracle connection on a cloud router and returns it. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: Request payload for creating a new Oracle cloud router connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + properties: + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: DAL1 + zone: + type: string + description: The desired zone of the new connection. + example: A + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A new Oracle Cloud Router Connection + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + operationId: cloud_routers_connections_packetfabric_create + summary: Attaches a customer-owned port to a Cloud Router. + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + description: Circuit ID of the target cloud router. + schema: + type: string + example: PF-L3-CUST-2 + requestBody: + description: >- + Request payload for creating a new customer-owned port cloud router + connection. + content: + application/json: + schema: + required: + - account_uuid + - port_circuit_id + - description + - speed + type: object + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + maybe_nat: + type: boolean + description: >- + Whether or not this connection is intended for NAT later. + Optional. + example: false + default: false + maybe_dnat: + type: boolean + description: >- + Whether or not this connection is intended for DNAT later. + Optional. + example: false + default: false + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + description: + type: string + description: The description of this connection. + example: Test description + untagged: + type: boolean + description: >- + Whether or not the customer port is untagged. Do not specify + a VLAN if this is to be an untagged connection. + example: true + vlan: + type: integer + description: The desired vlan to use on the customer-owned port. + example: 6 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + is_public: + example: true + type: boolean + description: >- + Whether or not PacketFabric should allocate an IP address + for the user. Optional. + default: false + public_nat_pool: + example: true + type: boolean + description: >- + Indicates whether or not PacketFabric should allocate a NAT + IP address if the connection is not public. + default: false + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated. Optional. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: Cloud connection details + content: + application/json: + schema: + type: object + properties: + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + connection_type: + type: string + description: The type of the connection. + enum: + - cloud_hosted + - cloud_dedicated + - ipsec + - packetfabric + port_circuit_id: + type: string + description: The circuit ID of the port to connect to the cloud router. + example: PF-AE-1234 + pending_delete: + type: boolean + description: Whether or not the connection is currently deleting. + deleted: + type: boolean + example: false + description: Whether or not the connection has been fully deleted. + speed: + description: The speed of the connection. + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + state: + type: string + description: The state of the connection + enum: + - Requested + - Active + - Inactive + - PendingDelete + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The UUID of the billing contact. + example: a2115890-ed02-4795-a6dd-c485bec3529c + service_class: + type: string + description: The service class of the connection. + enum: + - metro + - longhaul + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + - azure + - packet + - google + - ibm + - oracle + - salesforce + - webex + - null + service_type: + type: string + description: >- + The type of connection, this will currently always be + cr_connection. + enum: + - cr_connection + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + uuid: + type: string + format: uuid + description: The UUID of the connection. + cloud_provider_connection_id: + type: string + description: >- + The cloud provider specific connection ID, eg. the Amazon + connection ID of the cloud router connection. + example: dxcon-fgadaaa1 + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will connect + to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + google_pairing_key: + type: string + description: >- + (Google) The Google pairing key to use for this + connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: (Google) The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + google_advertise_mode: + type: string + description: >- + (Google) The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + vlan_id_private: + type: integer + description: (Azure) The private peering vlan. + vlan_id_microsoft: + type: integer + description: (Azure) The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: >- + (Azure) The Azure service key tied to this cloud + service + azure_service_tag: + type: integer + description: (Azure) The service (outer) vlan provided by Azure + example: 4 + azure_connection_type: + type: string + description: (Azure) The connection type (primary or seconday). + example: primary + oracle_region: + type: string + description: >- + (Oracle) The region that the new connection will + connect to. + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: (Oracle) The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: (Oracle) The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: (Oracle) The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + account_id: + type: string + description: (IBM) The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: (IBM) The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: (IBM) The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: (IBM) The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: >- + (IBM) The customers ASN for use in the BGP session + with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + (IBM) The customers IP address for their router in the + BGP session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + (IBM) IBM's IP address for use in creating the BGP + session with the customer. + example: 10.254.30.77/30 + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + site: + type: string + description: Region short name + example: us-west-1 + cloud_router_name: + type: string + description: >- + The name of the cloud router this connection is associated + with. + example: Sample CR + cloud_router_asn: + type: integer + description: >- + The asn of the cloud router this connection is associated + with. + example: 4556 + bgp_state: + type: string + deprecated: true + description: >- + The status of the BGP session, established, configuring, + fetching, etc. + bgp_state_list: + type: array + description: >- + A list of bgp sessions attached to the connection and + their states. + items: + type: object + properties: + bgp_settings_uuid: + type: string + description: The UUID of the BGP session + bgp_state: + type: string + description: >- + The status of the BGP session, established, + configuring, fetching, etc. + cloud_router_circuit_id: + type: string + description: >- + The circuit ID of the cloud router this connection is + associated with. + example: PF-L3-CUST-2001 + nat_capable: + type: boolean + description: Indicates whether this connection supports NAT. + dnat_capable: + type: boolean + description: Indicates whether this connection supports DNAT. + zone: + type: string + description: The zone of the connection + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + vlan: + type: number + description: The source vlan for dedicated connections + example: 6 + desired_nat: + type: string + description: Indicates the user's choice of nat type + example: overload + subscription_term: + type: integer + description: Subscription term of the Cloud Router Connection + example: 12 + service_uuid: + type: string + format: uuid + description: The UUID of the service this connection is connected to + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + operationId: cloud_routers_connection_status + summary: Get cloud connection instance status + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Connection Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudGoogle + state: + type: string + description: The state of the connection + example: Active + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - InstanceValidated + - VCCreated + - CloudProviderProvisioningPending + - CloudProviderProvisioningComplete + - SOFCreated + - BillingAdded + - CloudConnectionCreated + - Layer3InterfaceProvisioning + - RoutingInstanceProvisioning + - Active + - BillingRemoved + - CloudProviderProvisioningRemoved + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + VCCreated: EVPL virtual circuit created. Billing is being set up. + CloudProviderProvisioningPending: Notifying Azure of ExpressRoute configuration. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + CloudConnectionCreated: Cloud Router Connection has been created + Layer3InterfaceProvisioning: >- + Layer3 interface for Cloud Router Connection is being + provisioned + RoutingInstanceProvisioning: >- + Routing instance for Cloud Router Connection is being + provisioned + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Cloud Connection Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: + operationId: cloud_routers_connection_upgrade_options + summary: Get cloud connection upgrade options + tags: + - Cloud Router Connections + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target cloud connection's Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + properties: + upgrade_available: + type: boolean + description: Flag to indicate if connection is upgradable + speed: + type: array + description: List of available speed for connection + items: + type: string + description: Connection speed + example: 1Gbps + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_connection_bgp_routes + summary: Get routes for the BGP session of a specific connection. + tags: + - Cloud Router BGP Session Settings + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: path + name: connection_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + responses: + '200': + description: List of bgp routes for the specified connection. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + tags: + - Cloud Router Connections + summary: Get CR connection status + operationId: cr_connection_status_2_1 + parameters: + - name: circuit_id + in: path + required: true + description: Target's CR Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + - name: connection_circuit_id + in: path + required: true + description: Target's CR Connection Circuit ID. + schema: + type: string + example: PF-AP-LAX1-1002 + responses: + '200': + description: Status of a CR connection provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-AP-LAX1-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: + operationId: get_cloud_router_bgp_routes + summary: Get routes for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: true + in: query + name: route_type + description: Type of the bgp routes + schema: + type: array + items: + type: string + enum: + - received + - received_hidden + - advertised + - not_active + - imported + responses: + '200': + description: List of bgp routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + destination: + type: string + description: Address of the received/advertised BGP route. + example: 192.168.16.0/20 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + advertised: + type: boolean + description: Whether the route is advertised. + received: + type: boolean + description: Whether the route is received. + hidden: + type: boolean + description: Whether the route is hidden. + imported: + type: boolean + description: Whether the route was imported + installed: + type: boolean + description: Whether the route is installed. + hidden_reason: + type: string + description: Reason why the route is hidden. + example: rejected by import policy + as_path: + type: string + description: The route's AS path. + example: 64514 I + med: + type: integer + description: The route's MED. + example: -1 + neighbor: + type: string + description: The route's neighbor. + example: 169.254.253.29 + next_hop: + type: string + description: The route's next hop. + example: 169.254.253.29 + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + protocol_name: + type: string + description: The route's protocol name. + example: BGP + imported_data: + type: object + properties: + service_uuid: + type: string + format: uuid + description: Service UUID of the imported service + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: Name of the imported service + example: Sample Service Name + description: + type: string + description: Decscription of the imported service + example: Sample service description + circuit_id: + type: string + description: Circuit id of the imported service + example: PF-L3-CUST-1400 + timestamp: + type: string + format: date-time + description: >- + Date and time when the route was entered into the + routing table. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: + operationId: get_cloud_router_all_routes + summary: Get all routes for this cloud router + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + responses: + '200': + description: List of routes for this Cloud Router. + content: + application/json: + schema: + type: array + items: + type: object + properties: + origin: + type: string + description: >- + The origin of the route, usually this Cloud Router or + the Circuit ID of the Cloud Router Import. + example: PF-L3-IMP-12768 + as_path: + type: string + description: The route's AS path. + example: 64514 I + local_preference: + type: integer + description: Integer value specifying the route's local preference. + example: 100 + med: + type: integer + description: The route's MED. + example: -1 + prefix: + type: string + description: The route's prefix. + example: 192.168.16.0 + prefix_length: + type: integer + description: The route's prefix length. + example: 20 + communities: + type: array + items: + type: string + description: A community of this route + example: '2914:410' + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: + operationId: get_cloud_router_bgp_logs + summary: Get logs for this cloud router's bgp sessions + tags: + - Cloud Routers + parameters: + - required: true + in: path + name: circuit_id + schema: + type: string + example: PF-L3-CUST-2 + description: Circuit ID of the target cloud router. + - required: false + in: query + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: time_from + description: Get BGP logs starting from this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + - required: true + in: query + name: time_to + description: Get BGP logs up until this time + schema: + type: string + format: date-time + example: '2020-04-01T19:14:42.642Z' + responses: + '200': + description: List of bgp logs for the specified time frame + content: + application/json: + schema: + type: array + items: + type: object + properties: + message: + type: string + example: >- + %DAEMON-4-RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer + 127.0.0.1 changed state from OpenConfirm to Established + bgp_peer_ip: + type: string + example: 172.24.0.41 + severity: + type: integer + example: 4 + description: Severity of the bgp log as integer. + severity_name: + type: string + example: Warning + description: >- + Severity of the bgp log as string, according to RFC + 3164. + timestamp: + type: string + format: date-time + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: + operationId: cloud_router_third_party_get_list + summary: Returns a list of Cloud Router Imports applied on a Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + tags: + - Cloud Router Third Party + responses: + '200': + description: A list of Cloud Router Imports. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + post: + operationId: cloud_router_third_party_post + summary: Apply a new Cloud Router Import to this Cloud Router Connection. + tags: + - Cloud Router Third Party + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for importing a third-party service. + content: + application/json: + schema: + required: + - service_uuid + - return_filters + type: object + properties: + service_uuid: + type: string + format: uuid + description: >- + The Service UUID of the third-party service to associate + with the Cloud Router. + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + enum: + - 1 + - 12 + - 24 + - 36 + responses: + '201': + description: A single Cloud Router Import. + content: + application/json: + schema: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated with + the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + get: + operationId: cloud_router_third_party_get_import + summary: Returns a single Cloud Router Import associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + delete: + operationId: cloud_router_third_party_delete + summary: Remove a Cloud Router Import from this Connection. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + tags: + - Cloud Router Third Party + responses: + '202': + description: Cloud Router Import is being removed. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Router Import is being removed. + patch: + operationId: cloud_router_third_party_patch + summary: Updates a Cloud Router Import associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + - required: true + in: path + name: import_circuit_id + description: Circuit ID of the Cloud Router third-party service import. + schema: + type: string + format: uuid + requestBody: + description: Request payload for updating an import. + content: + application/json: + schema: + type: object + required: + - return_filters + properties: + import_filters: + type: array + items: + type: object + required: + - prefix + - match_type + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + required: + - match_type + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + tags: + - Cloud Router Third Party + responses: + '200': + description: A Cloud Router Import. + content: + application/json: + schema: + type: array + items: + type: object + properties: + import_circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + circuit_id: + type: string + description: The Circuit ID of this Cloud Router Import. + example: PF-L3-IMP-12345 + deprecated: true + route_set_circuit_id: + type: string + description: >- + The Circuit ID of the Route Set selected for this Cloud + Router Import. + example: PF-L3-RS-12345 + service_uuid: + type: string + format: uuid + description: >- + Service UUID of the third-party service associated with + the Cloud Router. + example: 8fbc86f4-76b6-453c-86f6-cae9253f2f61 + name: + type: string + description: >- + The name of the third-party service associated with the + Cloud Router. + example: Sample Service + description: + type: string + description: >- + The description of the third-party service associated + with the Cloud Router. + example: Sample Service Description + is_defunct: + type: boolean + description: Whether the third-party service is defunct. + is_private: + type: boolean + description: Whether the import is private. + state: + type: string + description: Shows the state of this import. + example: active + enum: + - pending + - rejected + - provisioning + - active + - deleting + - inactive + time_created: + type: string + format: date-time + description: Time the instance was created. + example: 2020-08-20T22:08:37.000000+0000 + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + example: 2020-08-20T22:08:37.000000+0000 + connection_speed: + type: string + description: The speed of the target cloud router connection + example: 1Gbps + subscription_term: + type: integer + description: Subscription term of the Cloud Router + example: 12 + import_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Import Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Import Filter. + enum: + - exact + - orlonger + - longer + local_preference: + type: integer + description: The local_preference of the Import Filter. + example: 120 + return_filters: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the Return Filter. + example: 127.0.0.1/24 + match_type: + type: string + description: The match type of the Return Filter. + enum: + - exact + - orlonger + - longer + as_prepend: + type: integer + description: The AS Prepend of the Return Filter. + example: 100 + med: + type: integer + description: The MED of the Return Filter. + example: 10 + pending_approval: + type: boolean + description: >- + Indicates whether the provider has not approved + the return filter + example: false + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + operationId: cloud_router_third_party_delete_multiple + summary: Remove multiple Cloud Router Imports by Circuit Id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: connection_circuit_id + description: Circuit ID of the target Cloud Router Connection. + schema: + type: string + example: PF-CC-123456 + requestBody: + description: Request payload for deleting multiple Cloud Router Imports. + content: + application/json: + schema: + type: object + properties: + import_circuit_ids: + type: array + items: + type: string + example: PF-L3-IMP-123456 + tags: + - Cloud Router Third Party + responses: + '202': + description: The Cloud Router Imports are being deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: The Cloud Router Imports are being deleted. + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: + operationId: cloud_router_route_set_get_list + summary: Returns a list of Route Sets on this Cloud Router. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of Route Sets. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: + operationId: cloud_router_get_route_set + summary: Returns a single Route Set associated with the circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + patch: + operationId: cloud_router_patch_route_set + summary: Updates a Route Set associated with this circuit id. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-123456 + requestBody: + description: Request payload for updating a route set. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + tags: + - Cloud Router Route Sets + responses: + '200': + description: A single Route Set. + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + type: string + description: Circuit ID of the Route Set + example: PF-L3-RS-123456 + description: + type: string + description: The route set's description + example: User entered description + prefixes: + type: array + description: Prefixes of this Route Set + items: + type: object + properties: + prefix: + type: string + description: Single Prefix of this Route Set + example: 192.168.16.0/20 + match_type: + type: string + description: The match type of this Route Set. + example: exact + enum: + - exact + - orlonger + time_created: + type: string + format: date-time + description: Date and time of Route Set creation + time_updated: + type: string + format: date-time + description: Date and time this Route Set was last updated + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: + operationId: cloud_router_get_route_set_connections + summary: Returns the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + responses: + '200': + description: A list of connections this Route Set is defined from. + content: + application/json: + schema: + type: array + items: + type: object + properties: + route_set_circuit_id: + type: string + description: Circuit ID of the Route Set. + example: PF-L3-RS-123456 + connection_circuit_id: + type: string + description: Circuit ID of the Cloud Router Connection. + state: + type: string + description: The state of the Connection Link. + example: active + enum: + - active + - provisioning + - deleting + service_uuid: + type: string + description: The uuid of the route_set service + example: ee77f0b3-4dfc-4772-baa7-1d3683589a67 + put: + operationId: cloud_router_put_route_set_connections + summary: Updates the list of connections this Route Set is defined from. + parameters: + - required: true + in: path + name: cr_circuit_id + description: Circuit ID of the target Cloud Router. + schema: + type: string + example: PF-L3-CUST-2 + - required: true + in: path + name: route_set_circuit_id + description: Circuit ID of the Route Set. + schema: + type: string + example: PF-L3-RS-9087 + tags: + - Cloud Router Route Sets + requestBody: + description: >- + Request payload for updating a list of connections this Route Set is + defined from. + content: + application/json: + schema: + type: object + properties: + connection_circuit_ids: + type: array + items: + type: string + example: PF-CC-123456 + responses: + '202': + description: Success message + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: + message: Route Set Connection Links are being updated. + /v2/services/cloud/hosted/aws: + post: + operationId: aws_hosted_connection_post + summary: Request a new hosted AWS connection. + tags: + - Cloud Services - AWS + requestBody: + content: + application/json: + schema: + type: object + required: + - aws_account_id + - account_uuid + - description + - pop + - port + - vlan + - speed + properties: + aws_account_id: + type: string + description: >- + The AWS account ID to connect with. Must be 12 characters + long. + example: 2345678910 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to AWS. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - aws_vif_type + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + aws_region: + type: string + description: The AWS region that should be used. + example: us-east-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size of + the largest supported PDU) + default: 1500 + aws_vif_type: + type: string + description: The type of VIF to use for this connection. + enum: + - private + - public + - transit + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + l3_address: + type: string + description: >- + The prefix of the customer router. Required for + public VIFs. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The prefix of the remote router. Required for public + VIFs. + example: 10.10.10.10/32 + address_family: + type: string + description: The address family that should be used. + enum: + - ipv4 + - ipv6 + default: ipv4 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Required for public VIFs. + items: + type: string + aws_gateways: + type: array + items: + type: object + required: + - type + properties: + type: + type: string + description: The type of this AWS Gateway. + enum: + - directconnect + - private + - transit + name: + type: string + description: >- + The name of the AWS Gateway, required if creating + a new DirectConnect Gateway. + id: + type: string + description: >- + The AWS ID of this Gateway, required if using an + existing Gateway. + asn: + type: integer + description: The ASN of this Gateway. + default: 64512 + vpc_id: + type: string + description: >- + The AWS VPC ID this Gateway should be associated + with. Required for private and transit Gateways. + subnet_ids: + type: array + description: >- + An array of subnet IDs to associate with this + Gateway. Required when creating transit Gateways. + items: + type: string + allowed_prefixes: + type: array + description: >- + An array of allowed prefixes. Required on the + DirectConnect Gateway when the other Gateway is of + type transit. + items: + type: string + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: 102 + vlan_id_cust: 4 + svlan_id_cust: null + aws_region: us-east-2 + aws_hosted_type: hosted-connection + aws_connection_id: dxlag-ffll8f52 + aws_account_id: 2345678910 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + credentials_uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + type: string + description: The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/aws: + post: + operationId: aws_dedicated_connection_post + summary: Request a new dedicated AWS connection. + tags: + - Cloud Services - AWS + requestBody: + description: Request payload for creating new AWS Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - aws_region + - account_uuid + - description + - pop + - subscription_term + - service_class + - autoneg + - speed + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: AWS Hosted connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new AWS Hosted Connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 1Gbps + enum: + - 1Gbps + - 10Gbps + should_create_lag: + description: Create the dedicated connection as a LAG interface. + example: true + type: boolean + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: a268133d-fabd-4037-a40b-deb9e223542e + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: aws + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated connection for Foo Corp. + state: requested + settings: + aws_region: us-east-1 + zone_dest: D + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - aws + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: + operationId: azure_hosted_service_key_validate_get + summary: Validate an Azure service key. + tags: + - Cloud Services - Azure + parameters: + - required: true + in: path + name: azure_service_key + schema: + type: string + format: uuid + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + description: The Service Key provided by Microsoft Azure. + responses: + '200': + description: Azure service key validation response. + content: + application/json: + schema: + type: object + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + is_valid: + type: boolean + description: Whether or not the provided Azure service key is valid. + peering_location: + type: string + description: ExpressRoute peering location + example: Washington DC + speed: + type: string + description: The speed of the ExpressRoute circuit + example: 10Gbps + primary_availability: + type: boolean + description: primary availability of the azure key + example: true + secondary_availability: + type: boolean + description: secondary availability of the azure key + example: false + /v2/services/cloud/hosted/azure: + post: + operationId: azure_hosted_connection_post + summary: Request a new AzureExpressRoute hosted connection. + tags: + - Cloud Services - Azure + requestBody: + content: + application/json: + schema: + type: object + required: + - azure_service_key + - account_uuid + - description + - port + properties: + azure_service_key: + type: string + format: uuid + description: The Service Key provided by Microsoft Azure. + example: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure ExpressRoute Hosted connection for Foo Corp. + port: + type: string + description: The port to connect to Azure. + example: PF-AP-LAX1-1002 + vlan_private: + type: integer + format: int64 + example: 6 + description: >- + Private peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + vlan_microsoft: + type: integer + format: int64 + example: 7 + description: >- + Microsoft Peering vlan. Valid VLAN range is from 4-4094, + inclusive. At least one vlan needs to be provided; either + vlan_private or vlan_microsoft. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + speed: + deprecated: true + description: >- + The desired speed of the new connection. Must be the same + speed as specified in Azure for your service key. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new Azure ExpressRoute Hosted Connection. + responses: + '201': + description: Successfully created a new AzureExpressRoute hosted connection + content: + application/json: + schema: + type: object + example: + uuid: ba66fac8-2924-428d-aa9d-90f14fa2364f + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-NYC-1744356-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + is_cloud_router_connection: false + is_awaiting_onramp: false + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + vc_id_microsoft: 39092 + vc_id_private: 39091 + settings: + vlan_id_private: 6 + vlan_id_microsoft: 7 + svlan_id_customer: null + azure_service_key: aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa + azure_service_tag: 2 + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_private: + type: integer + description: The private peering vlan. + vlan_microsoft: + type: integer + description: The Microsoft peering vlan. + azure_service_key: + type: string + format: uuid + description: The Azure service key tied to this cloud service + azure_service_tag: + type: integer + description: The service (outer) vlan provided by Azure + example: 4 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/azure: + post: + operationId: azure_dedicated_connection_post + summary: Request a new AzureExpressRoute dedicated connection. + tags: + - Cloud Services - Azure + requestBody: + description: >- + Request payload for creating new dedicated Azure ExpressRoute + Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + - encapsulation + - port_category + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Azure Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. + pop: + type: string + description: The desired location for the new Azure dedicated connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + encapsulation: + type: string + enum: + - dot1q + - qinq + port_category: + type: string + enum: + - primary + - secondary + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: 94992688-36ad-4a72-a454-a7bc9085e385 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: azure + port_type: dedicated + speed: 10Gbps + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: demo123-azure + state: requested + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + azure_port_category: primary + settings: + zone_dest: A + autoneg: null + encapsulation: dot1q + properties: + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - azure + port_type: + type: string + description: The type of port. + enum: + - dedicated + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Azure connection for Foo Corp. + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + time_created: + type: string + format: date-time + description: Time the instance was created. + time_updated: + type: string + format: date-time + description: Time the instance was last updated. + azure_port_category: + type: string + description: Category of the Azure port. + enum: + - primary + - secondary + settings: + type: object + properties: + zone_dest: + type: string + example: A + description: destination zone for this connection + encapsulation: + type: string + enum: + - dot1q + - qinq + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/google: + post: + operationId: google_hosted_connection_post + summary: Request a new hosted Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + content: + application/json: + schema: + type: object + required: + - account_uuid + - google_vlan_attachment_name + - description + - port + - vlan + - pop + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + google_pairing_key: + type: string + description: >- + The Google pairing key to use for this connection. Required + if cloud_settings are not used. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: >- + The Google Vlan attachment name. Required if cloud_settings + are not used. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + description: + type: string + description: The description of this connection. + example: Test description + port: + type: string + description: The port to connect to Google. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + cloud_settings: + type: object + required: + - credentials_uuid + - google_region + - google_vlan_attachment_name + - google_cloud_router_name + - bgp_settings + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + google_region: + type: string + description: The Google region that should be used. + example: us-west1 + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + google_vlan_attachment_name: + type: string + description: >- + The Google Interconnect Attachment name. No whitespace + allowed. + example: interconnect-attachement-name + google_cloud_router_name: + type: string + description: >- + The Google Cloud Router Attachment name. No whitespace + allowed. + example: google-router-name + google_vpc_name: + type: string + description: >- + The Google VPC name. Required if a new router needs to + be created. + example: default + google_edge_availability_domain: + type: integer + description: The Google Edge Availability Domain. Must be 1 or 2. + default: 1 + mtu: + type: integer + description: Maximum Transmission Unit. Must be either 1440 or 1500. + default: 1500 + bgp_settings: + type: object + required: + - customer_asn + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be 16550, + between 64512 and 65534, or between 4200000000 and + 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: The Keepalive Interval. Must be between 20 and 60. + example: 40 + default: 20 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for transmitting + BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received by a + neighbor that causes the session to be declared + down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + description: Request payload for creating new AWS Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 384a5fa5-3b03-44df-84d1-48f94101efd1 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-WDC-CHI-1744352-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_cust: 215 + svlan_id_cust: null + google_pairing_key: a2115890-ed02-4795-a6dd-c485bec3529c + google_vlan_attachment_name: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-WDC1-1726464 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_cust: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + google_pairing_key: + type: string + description: The Google pairing key to use for this connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2 + google_vlan_attachment_name: + type: string + description: The Google Vlan attachment name. + example: rrv-nms-dev-1a2b-vl1-us-west1-1 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/dedicated/google: + post: + operationId: google_dedicated_connection_post + summary: Request a new dedicated Google connection. + tags: + - Cloud Services - Google Cloud + requestBody: + description: Request payload for creating new Google Dedicated Connection. + content: + application/json: + schema: + type: object + required: + - account_uuid + - description + - pop + - subscription_term + - service_class + - speed + properties: + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + description: + type: string + description: The description of this connection. + example: Google Dedicated connection for Foo Corp + zone: + example: A + type: string + description: The desired zone of the new connection. Optional. + pop: + type: string + description: The desired location for the new connection. + example: DAL1 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is currently + only possible with 1Gbps ports and the request will fail if + specified with 10Gbps. + speed: + description: The desired speed of the new connection. + type: string + example: 10Gbps + enum: + - 10Gbps + - 100Gbps + loa: + type: string + format: byte + description: A base64 encoded string of a PDF of a LOA + example: SSBhbSBhIFBERg== + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: The newly requested Connection. + content: + application/json: + schema: + type: object + example: + uuid: d60f32c0-0ce0-4b07-88a5-b009508851a0 + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: google + port_type: dedicated + deleted: false + cloud_circuit_id: null + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: metro + description: Dedicated-connection-Foo_Corp + state: requested + settings: + zone_dest: A + autoneg: null + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + components: {} + is_cloud_router_connection: false + speed: 10Gbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - google + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - dedicated + example: dedicated + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + aws_region: + type: string + description: The region that the new connection will connect to. + example: us-west-1 + zone_dest: + type: string + example: A + description: destination zone for this connection + autoneg: + type: boolean + example: false + description: >- + Whether the port auto-negotiates or not, this is + currently only possible with 1Gbps ports and the + request will fail if specified with 10Gbps. + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/ibm: + post: + operationId: ibm_hosted_connection_post + summary: Request a new hosted IBM connection. + tags: + - Cloud Services - IBM + requestBody: + content: + application/json: + schema: + type: object + required: + - ibm_account_id + - ibm_bgp_asn + - description + - account_uuid + - pop + - port + - speed + properties: + ibm_account_id: + type: string + description: >- + The customer IBM account ID to connect with. Must be 32 + characters long. + example: 57a7d05f36894e3cb9b46a43556d903e + ibm_bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + ibm_bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP session + with IBM. + example: 10.254.30.78/30 + ibm_bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session with + the customer. + example: 10.254.30.77/30 + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new IBM Hosted Connection. + example: DAL1 + port: + type: string + description: The port to connect to IBM. + example: PF-AP-LAX1-1002 + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + zone: + type: string + description: The desired zone of the new connection. + example: A + speed: + type: string + description: The desired speed of the new connection. + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for creating new IBM Hosted Connection. + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + example: + uuid: 680f2199-b9d5-4198-8e12-7ca78b31f0ec + customer_uuid: d31886b0-dccc-479d-b299-00c4e7ac4daf + user_uuid: 26cfb2c7-0f91-4587-8b25-ba753cbc5b7b + service_provider: ibm + port_type: hosted + deleted: false + cloud_circuit_id: PF-CC-LAX-CHI-1744326-PF + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + customer_site_code: null + customer_site_name: null + service_class: longhaul + description: Hosted-connection-Foo_Corp + state: requested + settings: + vlan_id_pf: null + vlan_id_cust: 4 + svlan_id_cust: null + account_id: 8128867a1ca242d65a17993232128022b + gateway_id: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: Hosted-connection-Foo_Corp + bgp_asn: 64999 + bgp_cer_cidr: 10.254.30.78/30 + bgp_ibm_cidr: 10.254.30.77/30 + billing: + account_uuid: 0379ef74-c326-4f0d-a906-c56da712e536 + subscription_term: 1 + speed: 50Mbps + components: + ifd_port_circuit_id_cust: PF-AP-LAX2-1729130 + is_cloud_router_connection: false + is_awaiting_onramp: false + speed: 50Mbps + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - ibm + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-AP-LAX1-1002 + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + account_id: + type: string + description: The IBM account ID to connect with. + example: 8128867a1ca242d65a17993232128022b + gateway_id: + type: string + description: The IBM Gateway ID. + example: c5c06b66-343b-464f-a873-1240ec428ce4 + port_id: + type: string + description: The IBM Port ID. + example: bfc87d5b-9dd6-473d-8daa-39f08ba4e4dc + name: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + bgp_asn: + type: integer + description: The customers ASN for use in the BGP session with IBM. + example: 64999 + bgp_cer_cidr: + type: string + description: >- + The customers IP address for their router in the BGP + session with IBM. + example: 10.254.30.78/30 + bgp_ibm_cidr: + type: string + description: >- + IBM's IP address for use in creating the BGP session + with the customer. + example: 10.254.30.77/30 + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + format: uuid + description: Customer Port Circuit ID + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle: + post: + operationId: oracle_hosted_connection_post + summary: Request a new hosted Oracle connection. + tags: + - Cloud Services - Oracle + requestBody: + description: Request payload for creating new Oracle Hosted Connection. + content: + application/json: + schema: + type: object + required: + - vc_ocid + - region + - description + - account_uuid + - pop + - port + - vlan + properties: + vc_ocid: + type: string + description: OCID for the Oracle VC to use in this hosted connection. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + description: The Oracle region for this connection. + enum: + - us-ashburn-1 + - us-phoenix-1 + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + account_uuid: + type: string + format: uuid + description: The UUID of the contact that will be billed. + example: a2115890-ed02-4795-a6dd-c485bec3529c + pop: + type: string + description: The desired location for the new Oracle Hosted Connection. + example: WDC2 + port: + type: string + description: The port to connect to Oracle. + example: PF-AP-LAX1-1002 + zone: + type: string + description: The desired zone of the new connection. + example: A + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + src_svlan: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + published_quote_line_uuid: + type: string + format: uuid + description: >- + UUID of the published quote line with which this connection + should be associated + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + subscription_term: + type: integer + enum: + - 1 + - 12 + - 24 + - 36 + default: 1 + responses: + '201': + description: The newly requested hosted connection. + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The Cloud Service Request UUID + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to. + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to. + service_provider: + type: string + description: The service provider of the connection. + enum: + - oracle + port_type: + type: string + description: The type of port, either dedicated or hosted. + enum: + - hosted + example: hosted + deleted: + type: boolean + description: Is object deleted + example: false + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection. + example: PF-CC-WDC-SFO-1744662-PF + account_uuid: + type: string + format: uuid + description: The billing account UUID + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + service_class: + type: string + description: >- + The service class for the given port, either long haul or + metro. + example: longhaul + enum: + - longhaul + - metro + description: + type: string + description: The description of this connection. + example: Hosted-connection-Foo_Corp + state: + type: string + description: The state of the port. + example: requested + enum: + - active + - deleting + - inactive + - pending + - requested + settings: + type: object + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + oracle_region: + type: string + description: The region that the new connection will connect to. + example: us-sanjose-1 + enum: + - us-ashburn-1 + - us-phoenix-1 + vc_ocid: + type: string + description: The Oracle Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_cross_connect_ocid: + type: string + description: The Oracle Port Cross Connect OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + port_compartment_ocid: + type: string + description: The Oracle Port Compartment OCID. + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + billing: + type: object + properties: + account_uuid: + type: string + format: uuid + description: The billing account UUID + subscription_term: + type: integer + description: The billing term, in months, for this connection. + example: 1 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + components: + type: object + properties: + ifd_port_circuit_id_cust: + type: string + description: Customer Port Circuit ID + example: PF-AP-WDC1-1726464 + cloud_provider_provisioning_response: + type: object + properties: + vc_ocid: + type: string + format: uuid + description: The Virtual Circuit OCID. + example: >- + ocid1.virtualcircuit.oc1.us-sanjose-1.aaaaaaaa3uylbvopbkhgqiao5vm5ulk7oyxr3knt4rvqfqm5rt5ni5flhuwq + bandwidth: + type: string + description: The speed of the new connection. + example: 1Gbps + bgp_management: + type: string + description: The BGP Management Type. + example: CUSTOMER_MANAGED + bgp_session_state: + type: string + description: The BGP session state. + example: DOWN + compartment_id: + type: string + format: uuid + description: The compartment OCID. + example: >- + ocid1.compartment.oc1..aaaaaaaairiuj3wlr2rozdvr4vptx2qtrricp5o5hibyuk2rujj3drncxexq + cross_connect_mappings: + type: array + description: Cross connect mappings. + items: + type: object + properties: + bgp_md5_auth_key: + type: string + description: >- + The key for BGP MD5 authentication. Only + applicable if your system requires MD5 + authentication. + example: dd02c7c2232759874e1c20558 + cross_connect_or_cross_connect_group_id: + type: string + description: >- + The Cross Connect or Cross Connect group + OCID. + format: uuid + example: >- + ocid1.crossconnectgroup.oc1.us-sanjose-1.aaaaaaaadsgug2hwvbkimite6hbupnt3k75klhqvq4dw5re7zrrwulslkhea + customer_bgp_peering_ip: + type: string + example: 169.254.247.41/30 + description: The customer BGP peering IPv4. + customer_bgp_peering_ipv6: + type: string + description: The customer BGP peering IPv6. + example: None + oracle_bgp_peering_ip: + type: string + description: The Oracle BGP peering IPv4. + example: 169.254.247.42/30 + oracle_bgp_peering_ipv6: + type: string + description: The Oracle BGP peering IPv6. + example: None + vlan: + type: integer + format: int64 + example: 103 + description: Vlan range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + customer_asn: + type: integer + format: int64 + description: The customer ASN for use in the BGP session. + example: 5555 + defined_tags: + type: object + freeform_tags: + type: object + gateway_id: + type: string + format: uuid + description: The gateway OCID. + example: >- + ocid1.drg.oc1.us-sanjose-1.aaaaaaaa5tvcbacgf366sjf5cm5m6vg2yuk3ibzbanzlmwrupjq6xaxl75dq + lifecycle_state: + type: string + description: The lifecucle state. + example: PROVISIONING + oracle_bgp_asn: + type: integer + format: int64 + description: The Oracle ASN for use in the BGP session. + example: 31898 + provider_service_id: + type: string + format: uuid + description: The provider Service OCID. + example: >- + ocid1.providerservice.oc1.us-sanjose-1.aaaaaaaarexwwfagkbd432tes33oz6cbgoeeqku7ze544mpeiykv2kr4nvaa + provider_state: + type: string + description: The provider state. + example: ACTIVE + reference_comment: + type: string + description: The reference comment. + example: ba16fd1d-6e72-45a0-85f0-4d5fa07cac29 (activated) + service_type: + type: string + description: The service type. + example: LAYER2 + type: + type: string + description: The conneciton type. + example: PRIVATE + is_cloud_router_connection: + type: boolean + description: Whether or not this is a Cloud Router hosted connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an onramp + connection to be available before provisioning. + speed: + description: The desired speed of the new connection. + type: string + example: 100Mbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: + operationId: cloud_oracle_vc_ocid_status + summary: Get current status of Oracle side VC + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: vc_ocid + schema: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + description: Oracle side VC identifier + - name: region + required: false + description: Oracle region for this VC OCID + in: query + schema: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + responses: + '200': + description: Current status of Oracle VC + content: + application/json: + schema: + type: object + properties: + vc_ocid: + type: string + example: >- + ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq + region: + type: string + enum: + - us-ashburn-1 + - us-phoenix-1 + bandwidth: + type: string + enum: + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + bgp_session_state: + type: string + enum: + - UP + - DOWN + compartment_id: + type: string + example: >- + ocid1.compartment.oc1..aaaaaaaaeem7d2grhojduviahdxqjjynstawncoeh3ynexjp3byc22osywna + cross_connect_mappings: + type: array + items: + type: object + properties: + bgp_md5_auth_key: + type: string + cross_connect_or_cross_connect_group_id: + type: string + example: >- + ocid1.crossconnectgroup.oc1.iad.aaaaaaaammrr6e2o52rirbpimudzzr4m6d7j4tkyvxql7ij7nfclvvf5xajq + customer_bgp_peering_ip: + type: string + example: 10.0.0.22/30 + customer_bgp_peering_ipv6: + type: string + oracle_bgp_peering_ip: + type: string + example: 10.0.0.21/30 + oracle_bgp_peering_ipv6: + type: string + vlan: + type: integer + format: int64 + example: 103 + minimum: 100 + maximum: 16777216 + customer_asn: + type: integer + format: int64 + example: 5555 + gateway_id: + type: string + example: >- + ocid1.drg.oc1.iad.aaaaaaaacpcqxhtmyaakzq76jjwhrmyysmkermdhdvlxtag7ot7jcmhfciqq + lifecycle_state: + type: string + enum: + - PENDING_PROVIDER + - VERIFYING + - PROVISIONING + - PROVISIONED + - FAILED + - INACTIVE + - TERMINATING + - TERMINATED + oracle_bgp_asn: + type: integer + format: int64 + example: 31898 + provider_state: + type: string + enum: + - ACTIVE + - INACTIVE + public_prefixes: + type: string + reference_comment: + type: string + example: PF-CC-DAL-NYC-2014 (activated) + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: + operationId: cloud_oracle_sync + summary: >- + Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted + connection. + tags: + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-DAL-NYC-2009-PF + description: The unique PF circuit ID for this connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/{cloud_circuit_id}: + delete: + operationId: cloud_connection_delete + summary: Delete a cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + responses: + '200': + description: Cloud connection successfully deleted + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + operationId: hosted_cloud_connection_update + summary: Update a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + cloud_settings: + oneOf: + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + aws_region: + type: string + description: >- + The AWS region that will be used. Ignored if + credentials are already associated with this + connection. + example: us-west-1 + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public VIFs. + default: 1500 + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + Only for public VIFs. + items: + type: string + - type: object + properties: + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + google_project_id: + type: string + description: >- + The Google Project Id to be used. If not present the + project id of the credentials will be used. + mtu: + type: integer + description: >- + Maximum Transmission Unit. Must be either 1440 or + 1500. + default: 1500 + bgp_settings: + type: object + properties: + customer_asn: + type: integer + description: The customer ASN of this connection. + example: 64513 + remote_asn: + type: integer + description: >- + The Google ASN of this connection. Must be + 16550, between 64512 and 65534, or between + 4200000000 and 4294967294. + example: 64513 + default: 16550 + md5: + type: string + description: The MD5 value of the authenticated BGP sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + google_keepalive_interval: + type: integer + description: >- + The Keepalive Interval. Must be between 20 and + 60. + example: 40 + minimum: 20 + maximum: 60 + google_advertised_ip_ranges: + type: array + description: An array of prefixes that will be advertised. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + minimum: 1000 + maximum: 30000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + minimum: 5 + maximum: 16 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a hosted cloud connection. + responses: + '200': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_hosted + summary: Upgrade a hosted cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + required: + - speed + properties: + speed: + description: > + The new requested speed for this connection. Choices are + provider specific. + + + - **Azure**: `50Mbps`, `100Mbps`, `200Mbps`, `300Mbps`, + `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, - **AWS**: `50Mbps`, `100Mbps`, + `200Mbps`, `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, + `2Gbps`, `5Gbps`, `10Gbps` + + - **Google Cloud**: `50Mbps`, `100Mbps`, `200Mbps`, + `300Mbps`, `400Mbps`, `500Mbps`, `1Gbps`, `2Gbps`, `5Gbps`, + `10Gbps`, `20Gbps`, `50Gbps` + + - **IBM**: `50Mbps`, `100Mbps`, `200Mbps`, `500Mbps`, + `1Gbps`, `2Gbps`, `5Gbps` + type: string + example: 100Mbps + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud hosted services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Hosted Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + operationId: dedicated_cloud_connection_update + summary: Update a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for updating a dedicated cloud connection. + responses: + '200': + description: The cloud dedicated connection was updated successfully + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + deprecated: true + operationId: cloud_multi_upgrade_dedicated + summary: Upgrade a dedicated cloud connection + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + subscription_term: + description: The billing term, in months, for this connection. + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + service_class: + type: string + description: The service class for the given port. + example: longhaul + enum: + - longhaul + description: Request payload for upgrading a hosted cloud connection. + responses: + '202': + description: Multi cloud dedicated services upgrade response + content: + application/json: + schema: + type: object + properties: + workflow: + type: string + example: Upgrade Dedicated Cloud Connection Workflow + description: The type of workflow that was requested + state: + type: string + example: STARTED + description: The type state of the workflow requested + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + deprecated: true + operationId: hosted_cloud_patch_ibm + summary: Update an IBM hosted cloud connection + tags: + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-AP-LAX1-1002 + description: The unique PF circuit ID for this connection. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: >- + The description of this connection. Will be shown as "name" + field in IBM portal for this connection. Allows only + numbers, letters, underscores and dashes. + example: Hosted-connection-Foo_Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + description: Request payload for upgrading an IBM hosted cloud connection. + responses: + '201': + description: Request payload for updating a cloud connection. + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of this connection. + example: Cloud Connection Foo Corp + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + /v2/services/cloud/connections/{cloud_circuit_id}: + get: + operationId: get_connection + summary: Get cloud connection info + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection details + content: + application/json: + schema: + type: object + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long haul + or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: Point of Presence for the cloud provider location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud provider + side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before provisioning. + cloud_settings: + type: object + description: Cloud-specific details. Varies per provider. + properties: + vlan_id_pf: + type: integer + format: int64 + example: 102 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + vlan_id_cust: + type: integer + format: int64 + example: 4 + description: Valid VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + svlan_id_cust: + type: integer + format: int64 + example: 100 + description: Valid S-VLAN range is from 4-4094, inclusive. + minimum: 4 + maximum: 4094 + aws_region: + type: string + description: >- + (AWS) The region that the new connection will + connect to. + example: us-west-1 + aws_hosted_type: + type: string + description: (AWS) The AWS Direct Connect Connection Type. + example: hosted-connection + aws_account_id: + type: string + description: (AWS) The AWS account ID to connect with. + example: 2345678910 + aws_connection_id: + deprecated: true + type: string + description: (AWS) The AWS Direct Connect Connection ID. + example: dxlag-ffll8f52 + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credentials to be used with this + connection. + mtu: + type: integer + description: >- + Maximum Transmission Unit this port supports (size + of the largest supported PDU). Not for public + VIFs. + example: 1500 + aws_dx_location: + type: string + description: Location of the AWS Connection. + example: TLXA1 + aws_dx_bandwidth: + type: string + description: Bandwidth of the AWS Connection. + example: 50Mbps + aws_dx_jumbo_frame_capable: + type: boolean + description: >- + Indicates whether jumbo frames (9001 MTU) are + supported. + aws_dx_aws_device: + type: string + description: The device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_deviceV2: + type: string + description: The version 2 device of the AWS Connection. + example: TLXA1-j0tlk9lg5g3m + aws_dx_aws_logical_device_id: + type: string + description: The logical device id of the AWS Connection. + example: TLXA1-1wjcwun7avg1s + aws_dx_has_logical_redundancy: + type: boolean + description: >- + Indicates whether the connection supports a + secondary BGP peer in the same address family + (IPv4/IPv6). + aws_dx_mac_sec_capable: + type: boolean + description: >- + Indicates whether the connection supports MAC + Security (MACsec). + aws_dx_encryption_mode: + type: string + enum: + - no_encrypt + - should_encrypt + - must_encrypt + description: >- + The MAC Security (MACsec) connection encryption + mode. + example: no_encrypt + aws_vif_type: + type: string + enum: + - private + - public + - transit + description: The type of virtual interface. + example: private + aws_vif_id: + type: string + description: The ID of the virtual interface. + example: dxvif-fgh7zq0y + aws_vif_bgp_peer_id: + type: string + description: The ID of the BGP peer. + example: dxpeer-ffxttgfe + aws_vif_direct_connect_gw_id: + type: string + description: The ID of the DirectConnect Gateway. + example: 99542d76-b357-48ff-b0de-5a9fdd3a5129 + google_region: + type: string + description: The Google region of this connection. + example: us-west1 + google_project_id: + type: string + description: The Google project ID of this connection. + google_vlan_attachment_name: + type: string + description: The Google VLAN Attachment name. + example: test-attachment + google_edge_availability_domain: + type: integer + description: The Availability Domain of this connection. + example: 1 + google_dataplane_version: + type: integer + description: The Google Dataplane Version. + example: 4 + google_interface_name: + type: string + description: The Google Interface Name. + example: example-interface-name + google_pairing_key: + type: string + description: The Pairing Key of the connection. + example: 7e51371e-72a3-40b5-b844-2e3efefaee87/us-central1/2 + google_cloud_router_name: + type: string + description: The Name of the Google Cloud Router + example: example-router-name + cloud_state: + type: object + properties: + aws_dx_connection_state: + type: string + description: The state of the connection. + example: available + aws_dx_port_encryption_status: + type: string + description: >- + The MAC Security (MACsec) port link status of + the connection. + enum: + - Encryption Up + - Encryption Down + example: Encryption Up + aws_vif_state: + type: string + description: The state of the virtual interface. + example: available + bgp_state: + type: string + enum: + - up + - down + - unknown + description: The status of the BGP peer. + google_interconnect_state: + type: string + description: The stat of the Interconnect + example: Active + google_interconnect_admin_enabled: + type: boolean + description: Whether the Interconncet is admin enabled. + example: true + bgp_settings: + type: object + properties: + advertised_prefixes: + type: array + description: >- + An array of prefixes that will be advertised. + AWS only. + items: + type: string + customer_asn: + type: integer + format: int64 + description: >- + The BGP ASN of the network at the PacketFabric + end of the BGP session. + example: 123 + remote_asn: + type: integer + description: The remote ASN of this connection. + example: 64514 + l3_address: + type: string + description: >- + The L3 address of this connection. Required if + vif_type is not public. + example: 10.10.10.10/32 + remote_address: + type: string + description: >- + The remote address of this connection. + Required if vif_type is not public. + example: 10.10.10.10/32 + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address family of this connection. + md5: + type: string + description: >- + The MD5 value of the authenticated BGP + sessions. + example: $9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt + customer_router_ip: + type: string + description: The IP of the customer router + example: 10.10.10.10 + remote_router_ip: + type: string + description: The IP of the remote router + example: 10.10.10.10 + google_keepalive_interval: + type: integer + description: The Keepalive Interval of this connection. + example: 40 + google_advertise_mode: + type: string + description: >- + The Advertise Mode of the Google Router. + CUSTOM or DEFAULT. + example: CUSTOM + google_advertised_ip_ranges: + type: array + description: >- + An array of prefixes that will be advertised. + Google only. + items: + type: string + bfd_interval: + type: integer + description: >- + Minimum interval, in microseconds, for + transmitting BFD Control packets. + example: 1000 + bfd_multiplier: + type: integer + description: >- + The number of BFD Control packets not received + by a neighbor that causes the session to be + declared down. + example: 5 + bfd_mode: + type: string + enum: + - ACTIVE + - PASSIVE + - DISABLED + description: The BFD Mode. + example: PASSIVE + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: + operationId: get_connection_status + summary: Get cloud connection instance status (Legacy) + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection instance status + content: + application/json: + schema: + type: object + properties: + instance_id: + type: string + description: Cloud Circuit ID + example: PF-CC-GOG-NYC-1234567 + instance_type: + type: string + description: Instance type identifier + enum: + - CloudAWS + - CloudAzure + - CloudPacket + - CloudGoogle + - CloudIBM + - CloudSalesforce + - CloudWebex + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + all_states: + type: array + description: List of all possible workflow states + items: + type: string + example: + - Requested + - DestIFDCreated + - VCCreated + - BillingAdded + - Active + - BillingRemoved + - IFLsDestroyed + - VCDestroyed + - Inactive + all_state_descriptions: + type: object + description: Descriptions for all possible states + example: + Requested: >- + Cloud connection requested. Cloud connection is being + provisioned. + InstanceValidated: Cloud connection settings validation finished. + PFIFDSelected: PacketFabric port has been selected. + DestIFDCreated: Destination port has been created. + VCDeleteRequested: Virtual Circuit delete request created. + VCCreated: EVPL virtual circuit created. Billing is being set up. + VCsCreated: Virtual circuits created. Billing is being set up. + VCRequestsSent: Virtual circuits requested. + VCRequestsProvisioned: Virtual circuits provisioned. Billing is being set up. + AWSVIFAllocated: >- + Successfully provisioned AWS virtual interface. Billing + is being set up. + CloudProviderProvisioningComplete: >- + Integration steps with the cloud provider have been + completed. Service order is being created. + SOFCreated: Service order has been created. Billing is being set up. + BillingAdded: >- + Billing correctly set up. Cloud connection is being + activated. + Active: Cloud connection is active. + BillingRemoved: Billing removed. Cloud connection is being destroyed. + AWSVIFRemoved: >- + Successfully removed AWS Virtual Interface. Deleting + PacketFabric logical interfaces. + CloudProviderProvisioningRemoved: >- + Successfully removed any cloud provider assets. Deleting + PacketFabric logical interfaces. + IFLsDestroyed: >- + Virtual circuit logical interfaces deleted. Virtual + circuit will be deleted. + VCDestroyed: >- + Virtual circuit deleted. Source and destination ports + will be deleted. + VCsDestroyed: >- + Virtual circuits deleted. Source and destination ports + will be deleted. + Inactive: Cloud connection is inactive. + progress: + type: object + description: Connection's current workflow progress + properties: + step_count: + type: integer + example: 5 + description: Total number of steps in deployment workflow + current_step: + type: integer + example: 2 + description: Current workflow step + time_remaining_sec: + type: integer + example: 20 + description: Number of seconds left to finalize the workflow + activity: + type: array + description: Logged activity details + items: + type: object + properties: + event: + type: string + description: Cause of the event logging this entry + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the activity has occurred + user: + type: string + example: alice + description: The login of the user which caused the activity + current_errors: + type: array + description: '' + items: + type: object + properties: + error_message: + type: string + description: User-friendly description of the error + example: Something went wrong + log_uuid: + type: string + format: uuid + description: Log message ID + event: + type: string + description: Event caused logging this error + example: Point-to-Point Requested + time_created: + type: string + format: date-time + description: Date and time the error object was logged + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: + operationId: get_connection_upgrade_options + summary: Get cloud connection instance upgrade options + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + responses: + '200': + description: Cloud connection upgrade options + content: + application/json: + schema: + type: object + required: + - upgrade_available + properties: + upgrade_available: + type: boolean + service_class_upgrade_available: + type: boolean + subscription_term: + type: array + items: + type: integer + format: int64 + enum: + - 1 + - 12 + - 24 + - 36 + speed: + type: array + items: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + /v2/services/cloud/connections/hosted: + get: + operationId: get_connections_hosted_list + summary: >- + Get list of current customer's hosted cloud connections. Output is only + paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: List of customer's hosted cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + is_cloud_router_connection: + type: boolean + description: >- + Whether or not this is a Cloud Router hosted + connection. + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + cloud_provider_connection_id: + type: string + description: >- + The unique ID for the connection on the cloud + provider side + example: dxcon-1234567890abcdef0 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + interfaces: + type: array + items: + type: object + properties: + port_circuit_id: + type: string + example: PF-AP-LAX1-1234 + description: Port identifier + pop: + type: string + description: POP name + example: LAS1 + site: + type: string + description: Unique site code + example: SW-LAS1 + site_name: + type: string + description: Site name + example: Switch Las Vegas 7 + customer_site_code: + type: string + description: Unique site code of the customer's equipment + example: CS-LA1 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Coresite LA1 + speed: + type: string + enum: + - 1Gbps + - 10Gbps + - 40Gbps + - 100Gbps + description: Speed of the port + media: + type: string + enum: + - LX + - EX + - ZX + - LR + - ER + - ER DWDM + - ZR + - ZR DWDM + - LR4 + - ER4 + - CWDM4 + - LR4 + - ER4 Lite + description: Optic media type + zone: + type: string + description: Availability zone of the port + example: A + description: + type: string + description: User provided description of the port + example: User provided description + vlan: + type: integer + format: int64 + example: 6 + description: Valid VLAN range is from 4-4094, inclusive. + untagged: + type: boolean + example: false + description: Whether or not the interface is untagged. + provisioning_status: + type: string + enum: + - provisioning + - active + description: Provisioning status of the port + admin_status: + type: string + operational_status: + type: string + customer_uuid: + type: string + format: uuid + customer_name: + type: string + description: >- + Name of the customer associated with this + interface + region: + type: string + description: Region short name + example: US + is_cloud: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is a cloud connection + is_ptp: + type: boolean + example: false + description: >- + Whether the Port associated with this + interface is part of a Point-to-Point + time_created: + type: string + format: date-time + description: Date and time the interface was created + example: '2020-09-10T14:11:50.075143Z' + time_updated: + type: string + format: date-time + description: Date and time the interface was last updated + example: '2020-09-10T14:11:50.075143Z' + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/hosted/export.csv: + get: + operationId: get_connections_hosted_list_csv + summary: >- + Get CSV with the list of current customer's hosted cloud connections. + Output is only paginated if at least one pagination argument is given. + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + parameters: + - name: q + in: query + description: Filter by circuit id or description + schema: + type: string + - name: sort_column + in: query + schema: + type: string + enum: + - cloud_circuit_id + - description + - name: sort_order + in: query + schema: + type: string + enum: + - asc + - desc + default: asc + - name: offset + in: query + schema: + type: integer + default: 0 + - name: page_size + in: query + schema: + type: integer + default: 100 + responses: + '200': + description: CSV with the list of customer's hosted cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2/services/cloud/connections/dedicated: + get: + operationId: get_connections_dedicated_list + summary: Get list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: List of customer's dedicated cloud connections + content: + application/json: + schema: + type: array + items: + allOf: + - type: object + properties: + cloud_circuit_id: + type: string + description: The unique PF circuit ID for this connection + example: PF-AP-LAX1-1002 + customer_uuid: + type: string + format: uuid + description: The UUID for the customer this connection belongs to + user_uuid: + type: string + format: uuid + description: The UUID for the user this connection belongs to + state: + type: string + description: The state of the connection + enum: + - active + - deleting + - inactive + - pending + - requested + service_provider: + type: string + description: The service provider of the connection + enum: + - aws + - azure + - packet + - google + - ibm + - salesforce + - webex + service_class: + type: string + description: >- + The service class for the given port, either long + haul or metro + enum: + - longhaul + - metro + port_type: + type: string + description: The port type for the given port + enum: + - hosted + - dedicated + speed: + description: The desired speed of the new connection + type: string + example: 1Gbps + enum: + - 50Mbps + - 100Mbps + - 200Mbps + - 300Mbps + - 400Mbps + - 500Mbps + - 1Gbps + - 2Gbps + - 5Gbps + - 10Gbps + description: + type: string + description: The description of this connection + example: AWS connection for Foo Corp. + cloud_provider: + type: object + description: Customer-side location details + properties: + pop: + type: string + description: >- + Point of Presence for the cloud provider + location + example: LAX1 + region: + type: string + description: Region short name + example: us-west-1 + time_created: + type: string + format: date-time + description: Date and time of connection creation + time_updated: + type: string + format: date-time + description: Date and time connection was last updated + user_created: + type: string + description: Email of the user that created the port + format: email + user_updated: + type: string + description: Email of the user that last modified the port + format: email + pop: + type: string + description: Point of Presence for the connection + example: LAS1 + is_lag: + type: boolean + description: >- + Flag indicating that the port aggregates multiple + LAG member ports + site: + type: string + description: Name of the site of PacketFabric's equipment + example: Switch Las Vegas 7 + customer_site_name: + type: string + description: Name of the site of the customer's equipment + example: Switch Las Vegas 8 + customer_site_code: + type: string + description: Unique code for the site of the customer's equipment + example: SW-LAS8 + is_awaiting_onramp: + type: boolean + description: >- + Whether or not this connection is waiting for an + onramp connection to be available before + provisioning. + credentials_uuid: + type: string + format: uuid + description: >- + The UUID of the credential associated with this + connection. + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + /v2/services/cloud/connections/dedicated/export.csv: + get: + operationId: get_connections_dedicated_list_csv + summary: Get CSV with the list of current customer's dedicated cloud connections + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + responses: + '200': + description: CSV with the list of customer's dedicated cloud connections + content: + text/csv: + schema: + type: string + format: byte + example: '[data]' + /v2.1/services/cloud/connections/{ident}/status: + get: + tags: + - Cloud Services - AWS + - Cloud Services - Azure + - Cloud Services - Google Cloud + - Cloud Services - IBM + - Cloud Services - Oracle + summary: Get Cloud status + operationId: cloud_status_2_1 + parameters: + - name: ident + in: path + required: true + description: Cloud UUID + schema: + type: string + example: 2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6 + responses: + '200': + description: Cloud provisioning status + content: + application/json: + schema: + type: object + properties: + circuit_id: + type: string + example: PF-AE-LAB1-1234 + description: Cloud Circuit ID + status: + type: object + description: Status details + properties: + object: + type: object + description: Meta information about the object + properties: + state: + type: string + description: Object's state + deleted: + type: boolean + description: Is object deleted + current: + type: object + description: Current state information + properties: + state: + type: string + description: State name + description: + type: string + description: State description + last_workflow: + type: object + nullable: true + description: Last executed workflow operation + properties: + name: + type: string + example: cloud/workflow/dedicated_aws_provision/master + description: Name of operation + root: + type: string + format: uuid + description: Root task ID + current: + type: string + format: uuid + description: Current task ID + state: + type: string + example: COMPLETED + description: Current state + current_name: + type: string + example: COMPLETED + description: Current task operation + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + description: Previous task operation + failures: + type: array + description: List of errors + items: + type: string + description: Error message + example: Error message here + is_final: + type: boolean + description: Is operation final + progress: + type: object + description: Progress information + properties: + position: + type: integer + format: int64 + example: 7 + description: Current progress position + steps: + type: integer + format: int64 + example: 7 + description: Total progress number of steps + states: + type: array + description: List of possible states + items: + type: object + description: State object + properties: + state: + type: string + description: State name + description: + type: string + description: State description + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: + operationId: get_router_config + summary: Get router configuration + tags: + - Cloud Services - AWS + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: cloud_circuit_id + schema: + type: string + example: PF-CC-GOG-NYC-1234567 + description: Target connection's Cloud Circuit ID. + - required: true + in: query + name: router_type + description: Router Type Identifier. + schema: + type: string + enum: + - CiscoSystemsInc-2900SeriesRouters-IOS124 + - CiscoSystemsInc-3700SeriesRouters-IOS124 + - CiscoSystemsInc-7200SeriesRouters-IOS124 + - CiscoSystemsInc-Nexus7000SeriesSwitches-NXOS51 + - CiscoSystemsInc-Nexus9KSeriesSwitches-NXOS93 + - JuniperNetworksInc-MMXSeriesRouters-JunOS95 + - JuniperNetworksInc-SRXSeriesRouters-JunOS95 + - JuniperNetworksInc-TSeriesRouters-JunOS95 + - PaloAltoNetworks-PA3000and5000series-PANOS803 + example: CiscoSystemsInc-2900SeriesRouters-IOS124 + responses: + '200': + description: Cloud Router Configuration + content: + application/json: + schema: + type: object + properties: + router_config: + type: string + description: The Router Configuration as a string. + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: + operationId: get_aws_regions + summary: Get available AWS regions + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: AWS regions + content: + application/json: + schema: + type: array + items: + type: object + properties: + region: + type: string + description: The AWS region + example: us-east-1 + region_description: + type: string + description: The AWS region description + example: US East (N. Virginia) + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_aws_resources + summary: Get AWS resources in the given region + tags: + - Cloud Services - AWS + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east-1 + responses: + '200': + description: AWS resources in the given region + content: + application/json: + schema: + type: object + properties: + networks: + type: array + items: + type: object + properties: + vpc_id: + type: string + description: The ID of the VPC + example: vpc-055e127037787824 + vpc_cidr: + type: string + description: The CIDR block of the VPC + example: 192.168.1.0/24 + subnets: + type: array + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + cidr: + type: string + description: The CIDR block of the subnet + example: 172.31.0.0/20 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + gateways: + type: array + items: + type: object + properties: + type: + type: string + description: >- + The type of gateway (e.g. "directconnect", + "private", or "transit") + example: private + name: + type: string + description: The name of the gateway + example: Test Gateway + id: + type: string + description: The ID of the gateway + example: vgw-0617396786c32764c7 + asn: + type: integer + description: The Autonomous System Number (ASN) of the gateway + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + subnets: + type: array + description: >- + The subnets associated with the transit gateway (if + applicable) + items: + type: object + properties: + id: + type: string + description: The ID of the subnet + example: subnet-5ff5dd05 + availability_zone: + type: string + description: The Availability Zone of the subnet + example: us-east-1b + directconnect_gw_id: + type: string + description: >- + The ID of the direct connection gateway that this + gateway is associated with. + example: b2c5c07e-1518-437f-9b90-10726bd391k2 + attachment_type: + type: string + description: The attachment type of this DirectConnect Gateway. + enum: + - private + - transit + example: private + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: + operationId: get_google_regions + summary: Get available Google regions + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + responses: + '200': + description: Google regions + content: + application/json: + schema: + type: array + items: + type: string + description: The name of the Google region + example: us-west1 + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: + operationId: get_google_resources + summary: Get Google resources in the given region + tags: + - Cloud Services - Google Cloud + parameters: + - required: true + in: path + name: credentials_uuid + schema: + type: string + example: 95ee5b4e-0174-437b-8e24-61f4d726acad + description: The UUID of the credentials that should be used for this request. + - required: true + in: path + name: region_name + description: Name of the chosen AWS region. + schema: + type: string + example: us-east1 + - required: false + in: query + name: project_id + description: >- + Name of the chosen project_id. Defaults to the project_id of the + credentials. + schema: + type: string + example: example-project + responses: + '200': + description: Google resources in the given region + content: + application/json: + schema: + type: object + properties: + google_vlan_attachments: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the VLAN Attachment + example: example-vlan-name + google_pairing_key: + type: string + description: The pairing key of the VLAN Attachment + example: .... + google_cloud_router: + type: string + description: >- + The name of the Google Clour Router this Attachment + is attached to. + example: example-router + google_cloud_routers: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Cloud Router + example: example-router + asn: + type: integer + description: >- + The Autonomous System Number (ASN) of the Cloud + Router + example: 64000 + vpc_id: + type: string + description: >- + The ID of the VPC associated with the private + gateway (if applicable) + example: vpc-055e127037787824 + network: + type: string + description: The name of the network the Cloud Router is on + example: default + networks: + type: array + items: + type: object + properties: + name: + type: string + description: The name of the Google Network + example: example-network + cidr: + type: string + description: The CIDR of this network + example: 10.138.0.0/20 + vpc: + type: string + description: The name of the associated VPC + example: default + /v2/services/cloud/credentials: + get: + operationId: cloud_provider_credentials_get + summary: Get all cloud provider credentials + tags: + - Cloud Provider Credentials + responses: + '200': + description: List of Cloud Provider Credentials + content: + application/json: + schema: + type: array + items: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is + unused and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + post: + operationId: cloud_provider_credential_post + summary: Create a new Cloud Provider Credential. + tags: + - Cloud Provider Credentials + requestBody: + content: + application/json: + schema: + type: object + required: + - cloud_provider + - cloud_credentials + properties: + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '201': + description: Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}: + delete: + operationId: cloud_provider_credential_delete + summary: Delete a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: Cloud Provider Credential deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Cloud Provider Credential deleted. + patch: + operationId: cloud_provider_credential_update + summary: Update a Cloud Provider Credential. + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + requestBody: + content: + application/json: + schema: + type: object + properties: + description: + type: string + description: The description of the cloud provider credential. + example: Example Description + cloud_credentials: + description: >- + The credentials of the cloud provider, as an object. Schema + depends on the cloud provider. + oneOf: + - type: object + required: + - aws_access_key + - aws_secret_key + properties: + aws_access_key: + type: string + description: The AWS access key you want to save. + example: NZIA2KLUD6KQ7KTYELS0 + aws_secret_key: + type: string + description: The AWS secret key you want to save. + example: l5leLsYM+L2m/vUHATzwyjaInshJLELI9kipaHDR + - type: object + required: + - google_service_account + properties: + google_service_account: + type: string + description: The service account JSON you want to save. + example: >- + {"type": "service_account", "project_id": + "your-project-534215", "private_key_id": + "45764311cds767j78b903832500a478af524d6e7", + "private_key": "-----BEGIN PRIVATE + KEY-----\nMIIEvQ... + responses: + '200': + description: Updated Cloud Provider Credential + content: + application/json: + schema: + type: object + properties: + cloud_provider_credential_uuid: + type: string + description: The UUID of this cloud provider credential. + format: uuid + description: + type: string + description: The description of this cloud provider credential. + cloud_provider: + type: string + description: The cloud provider of this cloud provider credential. + enum: + - aws + - google + is_unused: + type: boolean + description: >- + Indicates whether this cloud provider credential is unused + and can be deleted. + example: false + time_created: + type: string + format: date-time + description: Date and time of cloud provider credential creation + time_updated: + type: string + format: date-time + description: >- + Date and time this cloud provider credential was last + updated + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: + operationId: cloud_provider_credential_connections_get + summary: Get all connections tied to this cloud provider credential + tags: + - Cloud Provider Credentials + parameters: + - required: true + in: path + name: credential_uuid + schema: + type: string + format: uuid + example: 0379ef74-c326-4f0d-a906-c56da712e536 + description: UUID of the target Cloud Provider Credential. + responses: + '200': + description: List of Connections tied to this Cloud Provider Credential + content: + application/json: + schema: + type: array + items: + type: object + properties: + circuit_id: + description: The circuit_id of the connection + type: string + example: PF-L3-CON-1234 + description: + description: The description of the connection + type: string + example: Test Connection + _links: + type: object + properties: + connection: + type: string + description: Link to the Connection + example: >- + https://api.packetfabric.com/v2/cloud-routers/connections/PF-L3-CON-1234 + /v2/signup/email-validation: + get: + operationId: signup_email_validation + security: [] + summary: Check email address + description: Check if an email address is valid for signup + tags: + - Signup + parameters: + - required: true + in: query + name: email + description: The email address to be checked + schema: + type: string + example: email@email.com + responses: + '200': + description: A valid email address was checked + '400': + description: The email address was either missing or invalid + /v2/aggregated-capacity: + post: + deprecated: true + operationId: create_aggregate_capacity + summary: Create a flex bandwidth container + description: >- + Flex Bandwidth containers can be used to provision backbone, dedicated + cloud, marketplace, and internet exchange virtual circuits as long as + they are not usage-based or metro (single market) VCs. + tags: + - Flex Bandwidth + requestBody: + content: + application/json: + schema: + type: object + required: + - description + - account_uuid + - subscription_term + - capacity + properties: + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + capacity: + type: string + description: >- + Capacity of the flex bandwidth container. Must be in the + format XXGbps or XXMbps. + example: 100Gbps + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + responses: + '201': + description: New flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + get: + deprecated: true + operationId: get_aggregate_capacity_list + summary: Get all flex bandwidth containers for the current customer + tags: + - Flex Bandwidth + responses: + '200': + description: A list of flex bandwidth containers + content: + application/json: + schema: + type: array + items: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth + container belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth + container belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: >- + Available capacity in Mbps of the flex bandwidth + container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + /v2/aggregated-capacity/{aggregate_capacity_id}: + get: + deprecated: true + operationId: get_aggregate_capacity_by_id + summary: Get a flex bandwidth container by ID + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: The flex bandwidth container + content: + application/json: + schema: + type: object + properties: + aggregate_capacity_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + deprecated: true + flex_bandwidth_id: + type: string + description: ID of the flex bandwidth container + example: PF-AB-1234 + description: + type: string + description: Description of the flex bandwidth container + example: Flex bandwidth container description + account_uuid: + type: string + format: uuid + description: >- + UUID of the account to which the flex bandwidth container + belongs + subscription_term: + type: integer + description: Subscription term of the flex bandwidth container + example: 12 + customer_uuid: + type: string + format: uuid + description: >- + UUID of the customer to which the flex bandwidth container + belongs + capacity_mbps: + type: integer + description: Capacity in Mbps of the flex bandwidth container + example: 100 + used_capacity_mbps: + type: integer + description: Used capacity in Mbps of the flex bandwidth container + example: 50 + available_capacity_mbps: + type: integer + description: Available capacity in Mbps of the flex bandwidth container + example: 50 + po_number: + type: string + example: PO-1234 + description: Purchase order number or identifier of a service + maxLength: 32 + nullable: true + time_created: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was + created + time-updated: + type: string + format: date-time + description: >- + Date and time when the flex bandwidth container was last + updated + delete: + deprecated: true + operationId: delete_aggregate_capacity + summary: Delete a flex bandwidth container + tags: + - Flex Bandwidth + parameters: + - in: path + name: aggregate_capacity_id + description: The ID of the flex bandwidth container + required: true + schema: + type: string + example: PF-AB-1234 + responses: + '200': + description: Aggregate Capacity deleted successfully + /v2/announcements: + get: + operationId: get_announcement_list + summary: Get all active announcements for the current customer + tags: + - Announcements + responses: + '200': + description: An object containing a list of active announcements + content: + application/json: + schema: + type: object + properties: + announcements: + type: array + items: + type: object + properties: + announcement_uuid: + type: string + format: uuid + description: UUID of the announcement + title: + type: string + description: Title of the announcement + example: Announcement title + description: + type: string + description: Description of the announcement + example: Announcement description + start_date: + type: string + format: date-time + description: Date and time when the announcement becomes active + end_date: + type: string + format: date-time + description: >- + Date and time when the announcement stops being + active + /v2/services/ipam/contacts: + get: + operationId: ipam_contact_get_list + summary: Get the IPAM contacts associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM contacts + content: + application/json: + schema: + type: array + items: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with + a country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + post: + operationId: ipam_contact_post + summary: Add the contact for the current customer + tags: + - IPAM + requestBody: + description: Request payload for IPAM contact creation + content: + application/json: + schema: + type: object + required: + - name + - email + - phone + - address + - country_code + properties: + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: The phone number of the IPAM contact + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + responses: + '201': + description: Created IPAM contact details + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + /v2/services/ipam/contacts/{ipam_contact_uuid}: + get: + operationId: ipam_contact_get + summary: Get an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: IPAM contact + content: + application/json: + schema: + type: object + properties: + uuid: + type: string + format: uuid + description: The UUID of the IPAM contact + name: + type: string + description: The name of the IPAM contact + email: + type: string + description: The email of the IPAM contact + phone: + type: string + description: >- + The phone number of the IPAM contact. Has to start with a + country code (e.g. +1 for US, +49 for Germany, etc.) + address: + type: string + description: The address of the IPAM contact + country_code: + type: string + description: The country code of the IPAM contact + example: US + apnic_org_id: + type: string + description: The apnic_org_id of the IPAM contact + ripe_org_id: + type: string + description: The ripe_org_id of the IPAM contact + apnic_ref: + type: string + description: The apnic_ref of the IPAM contact + ripe_ref: + type: string + description: The ripe_ref of the IPAM contact + time_created: + type: string + format: date-time + description: The date and time the IPAM contact was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM contact was last updated + delete: + operationId: ipam_contact_delete + summary: Delete an IPAM contact by UUID + tags: + - IPAM + parameters: + - required: true + in: path + name: ipam_contact_uuid + description: The UUID of the IPAM contact. + schema: + type: string + example: a2115890-ed02-4795-a6dd-c485bec3529c + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Contact deleted successfully + /v2/services/ipam/prefixes: + get: + operationId: ipam_prefix_get_list + summary: Get the IPAM prefixes associated with the current customer + tags: + - IPAM + parameters: + - name: market + in: query + required: false + description: The market code to filter by. + schema: + type: string + example: NYC + responses: + '200': + description: List of IPAM prefixes + content: + application/json: + schema: + type: array + items: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: >- + Whether the current prefix in use will + renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + post: + operationId: ipam_prefix_post + summary: Allocate a new IPAM prefix + tags: + - IPAM + requestBody: + description: Request payload for IPAM prefix creation + content: + application/json: + schema: + type: object + required: + - length + properties: + length: + type: integer + description: >- + The length of the IPAM prefix. 25-32 for ipv4 and 48-64 for + ipv6. + market: + type: string + description: The market of the IPAM prefix. Only for ipv4. + address_family: + type: string + enum: + - ipv4 + - ipv6 + description: The address_family of the IPAM prefix + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + address: + type: string + description: >- + The address of the IPAM prefix, required for ARIN prefixes + if org_id was not provided + city: + type: string + description: >- + The city of the IPAM prefix, required for ARIN prefixes if + org_id was not provided + postal_code: + type: string + description: >- + The postal code of the IPAM prefix, required for ARIN + prefixes if org_id was not provided + org_id: + type: string + description: The org_id of the IPAM prefix + ipj_details: + type: object + properties: + planned_prefix: + type: object + required: + - usage_30d + - usage_3m + - usage_6m + - usage_1y + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + required: + - prefix + - ips_in_use + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + responses: + '201': + description: Created IPAM prefix details + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + /v2/services/ipam/prefixes/{prefix_circuit_id}: + get: + operationId: ipam_prefix_get + summary: Get an IPAM Prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: IPAM prefix + content: + application/json: + schema: + type: object + properties: + ip_address: + type: string + description: The ip_address of the IPAM prefix + example: 3.0.0.0/30 + prefix_circuit_id: + type: string + description: The prefix_circuit_id of the IPAM prefix + example: PF-IP-12345 + type: + type: string + description: The type of the IPAM prefix + example: public + org_id: + type: string + description: The org_id of the IPAM prefix + example: ORG-TEST + address: + type: string + description: The address of the IPAM prefix + example: 123 Main St + city: + type: string + description: The city of the IPAM prefix + example: Los Angeles + postal_code: + type: string + description: The postal code of the IPAM prefix + example: '90001' + market: + type: string + description: The market of the IPAM prefix + example: NYC + admin_ipam_contact_uuid: + type: string + description: The admin_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + tech_ipam_contact_uuid: + type: string + description: The tech_ipam_contact_uuid of the IPAM prefix + example: a2115890-ed02-4795-a6dd-c485bec3529c + state: + type: string + description: The state of the IPAM prefix + example: active + linked_object_circuit_id: + type: string + description: The linked_object_circuit_id of the IPAM prefix + example: PF-L3-TRAN-12345 + ipj_details: + type: object + properties: + planned_prefix: + type: object + properties: + description: + type: string + description: The description of the planned prefix + example: Example description + location: + type: string + description: The location of the planned prefix + example: US-CA + usage_30d: + type: integer + description: The 30 day planned usage + example: 10 + usage_3m: + type: integer + description: The 3 month planned usage + example: 10 + usage_6m: + type: integer + description: The 6 month planned usage + example: 10 + usage_1y: + type: integer + description: The 1 year planned usage + example: 10 + current_prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the current prefix in use + example: 3.0.0.0/28 + ips_in_use: + type: integer + description: The number of IPs in use in the current prefix + example: 14 + description: + type: string + description: The description of the current prefix in use + example: This is used for X + isp_name: + type: string + description: The ISP name of the current prefix in use + example: PacketFabric + will_renumber: + type: boolean + description: Whether the current prefix in use will renumber + rejection_reason: + type: string + description: The rejection reason of the IPAM prefix + example: This is a rejection reason + time_created: + type: string + format: date-time + description: The date and time the IPAM prefix was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM prefix was last updated + delete: + operationId: ipam_prefix_delete + summary: Delete an IPAM prefix by Circuit Id + tags: + - IPAM + parameters: + - required: true + in: path + name: prefix_circuit_id + description: The Circuit Id of the IPAM Prefix. + schema: + type: string + example: PF-IP-12345 + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: IPAM Prefix deleted successfully + /v2/services/ipam/asns: + get: + operationId: ipam_asn_get_list + summary: Get the IPAM ASNs associated with the current customer + tags: + - IPAM + responses: + '200': + description: List of IPAM ASNs + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + post: + operationId: ipam_asn_post + summary: Allocate a new IPAM ASN + tags: + - IPAM + requestBody: + description: Request payload for IPAM ASN creation + content: + application/json: + schema: + type: object + properties: + asn_byte_type: + type: integer + enum: + - 2 + description: >- + Whether to allocate a 2 or 4 byte ASN. Only 2 byte ASNs are + supported for now. + default: 2 + responses: + '201': + description: Created IPAM ASN details + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + /v2/services/ipam/asns/{asn}: + get: + operationId: ipam_asn_get + summary: Get an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: IPAM ASN + content: + application/json: + schema: + type: object + properties: + asn: + type: integer + description: The ASN as integer + example: 65367 + time_created: + type: string + format: date-time + description: The date and time the IPAM ASN was created + time_updated: + type: string + format: date-time + description: The date and time the IPAM ASN was last updated + delete: + operationId: ipam_asn_delete + summary: Delete an IPAM ASN by the ASN + tags: + - IPAM + parameters: + - required: true + in: path + name: asn + description: The ASN. + schema: + type: integer + example: 65367 + responses: + '200': + description: ASN deleted. + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: ASN deleted + /v2/services/high-performance-internet: + get: + operationId: hpi_get_list + summary: Get HPIs associated with the current customer + tags: + - High Performance Internet + responses: + '200': + description: List of HPIs + content: + application/json: + schema: + type: array + items: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + post: + operationId: hpi_post + summary: Create a new HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI creation + content: + application/json: + schema: + type: object + required: + - port_circuit_id + - speed + - vlan + - description + - account_uuid + - routing_configuration + properties: + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + responses: + '202': + description: Created HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + /v2/services/high-performance-internet/{hpi_circuit_id}: + get: + operationId: hpi_get + summary: Get a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: HPI + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + put: + operationId: hpi_put + summary: Update a HPI + tags: + - High Performance Internet + requestBody: + description: Request payload for HPI update + content: + application/json: + schema: + type: object + required: + - description + - routing_configuration + properties: + description: + type: string + description: The description of the HPI + example: HPI for customer A + routing_configuration: + type: object + properties: + static_routing_v4: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + static_routing_v6: + type: object + required: + - l3_address + - remote_address + - prefixes + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: >- + The remote_address of the static routing + configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The prefix of the static routing configuration + bgp_v4: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_v6: + type: object + required: + - asn + - l3_address + - remote_address + - prefixes + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + required: + - prefix + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '202': + description: Updated HPI details + content: + application/json: + schema: + type: object + properties: + hpi_circuit_id: + type: string + description: The Circuit Id of the HPI + example: PF-L3-TRAN-12345 + port_circuit_id: + type: string + description: The Circuit Id of the connected port + example: PF-AP-12345 + speed: + type: string + description: The speed of the HPI + example: 1Gbps + vlan: + type: integer + description: The vlan of this HPI on the connected port + example: 4 + description: + type: string + description: The description of the HPI + example: HPI for customer A + market: + type: string + description: The market of the HPI + example: NYC + account_uuid: + type: string + description: The account uuid of the HPI + example: 12345678-1234-1234-1234-123456789012 + routing_type: + type: string + description: The routing type of the HPI + example: bgp + enum: + - bgp + - static + state: + type: string + description: The state of the HPI + example: active + enum: + - pending + - provisioning + - active + - deleting + delete: + operationId: hpi_delete + summary: Delete a HPI by hpi_circuit_id + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Deletion message + content: + application/json: + schema: + type: object + properties: + message: + type: string + description: Deletion message + example: HPI deleted successfully + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: + operationId: hpi_get_bgp_list + summary: Get the bgp routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of BGP routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + asn: + type: integer + description: The ASN of the bgp routing configuration + example: 65000 + l3_address: + type: string + description: The l3_address of the bgp routing configuration + remote_address: + type: string + description: The remote_address of the bgp routing configuration + md5: + type: string + description: The md5 hash of the bgp routing configuration + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The single BGP prefix + local_preference: + type: integer + description: The local preference of the BGP prefix + example: 100 + bgp_state: + type: string + description: The state of the BGP session + example: established + address_family: + type: string + description: The address family of the BGP session + example: v4 + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: + operationId: hpi_get_static_list + summary: Get the static routing configurations for this HPI + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: List of static routing configurations + content: + application/json: + schema: + type: array + items: + type: object + properties: + l3_address: + type: string + description: The l3_address of the static routing configuration + remote_address: + type: string + description: The remote_address of the static routing configuration + address_family: + type: string + description: The address family of the static routing configuration + example: v4 + prefixes: + type: array + items: + type: object + properties: + prefix: + type: string + description: The prefix of the static routing configuration + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: + operationId: hpi_get_status + summary: Get HPI status + tags: + - High Performance Internet + parameters: + - required: true + in: path + name: hpi_circuit_id + description: The circuit id of the HPI. + schema: + type: string + responses: + '200': + description: Status of an HPI provisioning + content: + application/json: + schema: + type: object + required: + - circuit_id + - status + properties: + circuit_id: + type: string + example: PF-L3-TRAN-1234 + status: + type: object + properties: + object: + type: object + properties: + state: + type: string + deleted: + type: boolean + current: + type: object + properties: + state: + type: string + description: + type: string + last_workflow: + type: object + nullable: true + properties: + name: + type: string + root: + type: string + format: uuid + current: + type: string + format: uuid + state: + type: string + example: COMPLETED + current_name: + type: string + example: COMPLETED + prev_state: + type: string + example: BILLING_ADD:BILLING_ADD_WORKFLOW + failures: + type: array + items: + type: string + example: Error message here + is_final: + type: boolean + progress: + type: object + properties: + position: + type: integer + format: int64 + example: 7 + steps: + type: integer + format: int64 + example: 7 + states: + type: array + items: + type: object + properties: + state: + type: string + description: + type: string +components: + securitySchemes: + BearerAuth: + type: http + scheme: bearer diff --git a/sdks/db/intermediate-fixed-specs/rated/openapi.yaml b/sdks/db/intermediate-fixed-specs/rated/openapi.yaml new file mode 100644 index 000000000..0fc459ed5 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/rated/openapi.yaml @@ -0,0 +1,8436 @@ +openapi: 3.1.0 +info: + title: Rated API Beta + description: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators + and individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) + version: 0.0.1 +paths: + /v0/pricingPlans: + get: + tags: + - Pricing + summary: Get Pricing Plans + operationId: get_pricing_plans_v0_pricingPlans_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PricingPlan' + type: array + title: Response Get Pricing Plans V0 Pricingplans Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness + operationId: >- + get_effectiveness_v0_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorEffectiveness' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/effectiveness: + get: + tags: + - Validators + summary: Get Effectiveness Aggregation + operationId: get_effectiveness_aggregation_v0_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: From + name: from + in: query + - required: false + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: To + name: to + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/FilterTypeEnum' + default: day + name: filterType + in: query + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__page__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedValidatorEffectivenessDataOrAggregation + '307': + description: Validators aggregation requested by valid PubKeys + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators: + get: + tags: + - Validators + - Validators + summary: Get Metadata List + operationId: get_metadata_list_v0_eth_validators_get + parameters: + - required: false + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + maximum: 200 + exclusiveMinimum: 0 + title: Size + default: 100 + name: size + in: query + - required: false + schema: + items: + anyOf: + - type: string + - type: string + type: array + title: Operatorsids + name: operatorsIds + in: query + - required: false + schema: + type: string + title: Withdrawaladdress + name: withdrawalAddress + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolOrNodeOperatorIdType' + default: nodeOperator + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}: + get: + tags: + - Validators + summary: Get Metadata + operationId: get_metadata_v0_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorMetadata' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/validators/{validator_index_or_pubkey}/apr: + get: + tags: + - Validators + summary: Get Apr + operationId: get_apr_v0_eth_validators__validator_index_or_pubkey__apr_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorApr' + '307': + description: Validator requested by a valid PubKey + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators: + get: + tags: + - Operators + summary: Get Summaries + operationId: get_summaries_v0_eth_operators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/PoolType' + default: all + name: poolType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/IdType' + default: depositAddress + name: idType + in: query + - required: false + schema: + type: integer + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 15 + name: size + in: query + - required: false + schema: + type: string + title: Parentid + name: parentId + in: query + - description: Use parentId + required: false + deprecated: true + schema: + type: string + title: Parententity + description: Use parentId + name: parentEntity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/percentiles: + get: + tags: + - Operators + summary: Get Percentiles + operationId: get_percentiles_v0_eth_operators_percentiles_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Percentile' + type: array + title: Response Get Percentiles V0 Eth Operators Percentiles Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}: + get: + tags: + - Operators + summary: Get Operator + operationId: get_operator_v0_eth_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Operator' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/effectiveness: + get: + tags: + - Operators + summary: Get Effectiveness + operationId: get_effectiveness_v0_eth_operators__operator_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + $ref: '#/components/schemas/FilterTypeEnum' + name: filterType + in: query + - required: false + schema: + items: + type: string + type: array + title: Include + name: include + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedOperatorEffectiveness' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/relayers: + get: + tags: + - Operators + summary: Get Relayer Stats + operationId: get_relayer_stats_v0_eth_operators__operator_id__relayers_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 30d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: >- + Response Get Relayer Stats V0 Eth Operators Operator Id + Relayers Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/apr: + get: + tags: + - Operators + summary: Get Operator Apr + operationId: get_operator_apr_v0_eth_operators__operator_id__apr_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/AprType' + default: backward + name: apr_type + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorApr' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/summary: + get: + tags: + - Operators + summary: Get Operator Summary + operationId: get_operator_summary_v0_eth_operators__operator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: idType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/operators/{operator_id}/stakeMovement: + get: + tags: + - Operators + summary: Get Activations Exits Aggregate + operationId: >- + get_activations_exits_aggregate_v0_eth_operators__operator_id__stakeMovement_get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ActivationsExitsAggregate' + type: array + title: >- + Response Get Activations Exits Aggregate V0 Eth Operators + Operator Id Stakemovement Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/stats: + get: + tags: + - Network + summary: Get Network Stats + operationId: get_network_stats_v0_eth_network_stats_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkStats' + type: array + title: Response Get Network Stats V0 Eth Network Stats Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/overview: + get: + tags: + - Network + summary: Get Network Overview + operationId: get_network_overview_v0_eth_network_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkOverview' + type: array + title: Response Get Network Overview V0 Eth Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity: + get: + tags: + - Network + summary: Get Network Churn Capacity + operationId: get_network_churn_capacity_v0_eth_network_capacity_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacity' + type: array + title: >- + Response Get Network Churn Capacity V0 Eth Network Capacity + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/capacity/pool: + get: + tags: + - Network + summary: Get Network Churn Capacity Pool + operationId: get_network_churn_capacity_pool_v0_eth_network_capacity_pool_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/TimeWindow' + default: 1d + name: window + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/StakeAction' + default: activation + name: stakeAction + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/NetworkChurnCapacityPool' + type: array + title: >- + Response Get Network Churn Capacity Pool V0 Eth Network + Capacity Pool Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards: + get: + tags: + - Network + summary: Get Network Daily Rewards + operationId: get_network_daily_rewards_v0_eth_network_dailyRewards_get + parameters: + - description: The starting date (UTC) to return. For example, 2024-01-01. + required: false + schema: + title: From + description: The starting date (UTC) to return. For example, 2024-01-01. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/PaginatedNetworkDailyConsensusExecutionRewards + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/network/dailyRewards/{date}: + get: + tags: + - Network + summary: Get Daily Rewards By Day + operationId: get_daily_rewards_by_day_v0_eth_network_dailyRewards__date__get + parameters: + - required: true + schema: + title: Date + name: date + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/operators/{operator_id}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Operator + operationId: >- + get_withdrawals_predicted_by_operator_v0_eth_withdrawals_predicted_operators__operator_id__get + parameters: + - required: true + schema: + type: string + title: Operator Id + name: operator_id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWithdrawalsPredicted' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: + tags: + - Withdrawals + summary: Get Withdrawals Predicted By Slot + operationId: >- + get_withdrawals_predicted_by_slot_v0_eth_withdrawals_predicted_slot__withdrawal_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Withdrawal Slot + name: withdrawal_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: >- + Response Get Withdrawals Predicted By Slot V0 Eth Withdrawals + Predicted Slot Withdrawal Slot Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/selfReports/validators: + post: + tags: + - Self Reports + summary: Report Validators + operationId: report_validators_v0_selfReports_validators_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReportIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SelfReport' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/overview: + get: + tags: + - Slashings + summary: Get Slashing Overview + operationId: get_slashing_overview_v0_eth_slashings_overview_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingOverview' + type: array + title: Response Get Slashing Overview V0 Eth Slashings Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/leaderboard: + get: + tags: + - Slashings + summary: Get Slashing Leaderboard + operationId: get_slashing_leaderboard_v0_eth_slashings_leaderboard_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SlashingRole' + default: slashed + name: slashingRole + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingLeaderboard' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/cohortAnalysis: + get: + tags: + - Slashings + summary: Get Slashing Cohort Analysis + operationId: get_slashing_cohort_analysis_v0_eth_slashings_cohortAnalysis_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingCohortAnalysis' + type: array + title: >- + Response Get Slashing Cohort Analysis V0 Eth Slashings + Cohortanalysis Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/timeseries: + get: + tags: + - Slashings + summary: Get Slashing Time Series + operationId: get_slashing_time_series_v0_eth_slashings_timeseries_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SlashingTimeSeries' + type: array + title: >- + Response Get Slashing Time Series V0 Eth Slashings Timeseries + Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings: + get: + tags: + - Slashings + summary: Get Slashing Penalties All + operationId: get_slashing_penalties_all_v0_eth_slashings_get + parameters: + - required: false + schema: + anyOf: + - type: integer + minimum: 0 + - type: string + format: date + title: From + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedSlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/slashings/{validator_index_or_pubkey}: + get: + tags: + - Slashings + summary: Get Slashing Penalties + operationId: get_slashing_penalties_v0_eth_slashings__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SlashingPenalties' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/geographical: + get: + tags: + - P2P (Beta) + summary: Get P2P Geographical Distribution + operationId: get_p2p_geographical_distribution_v0_eth_p2p_geographical_get + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/P2PGeographicalDistribution' + type: array + title: >- + Response Get P2P Geographical Distribution V0 Eth P2P + Geographical Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/p2p/hostingProvider: + get: + tags: + - P2P (Beta) + summary: Get P2P Hosting Provider Distribution + operationId: get_p2p_hosting_provider_distribution_v0_eth_p2p_hostingProvider_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + default: 0 + name: from + in: query + - required: false + schema: + type: integer + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/DistType' + default: pros + name: distType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedP2PHostingProviderDistribution' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks: + get: + tags: + - Blocks + summary: Get Blocks + operationId: get_blocks_v0_eth_blocks_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 10 + name: size + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBlocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/eth/blocks/{consensus_slot}: + get: + tags: + - Blocks + summary: Get Blocks By Slot + operationId: get_blocks_by_slot_v0_eth_blocks__consensus_slot__get + parameters: + - required: true + schema: + type: integer + maximum: 2147483648 + minimum: 0 + title: Consensus Slot + name: consensus_slot + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Blocks' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/effectiveness: + get: + tags: + - Polygon Validators + summary: Validator Checkpoint Effectiveness + operationId: >- + validator_checkpoint_effectiveness_v0_polygon_validators__validator_id__effectiveness_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - description: >- + The starting checkpoint or date (UTC) to return. For example, 41100 + or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + name: from + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}: + get: + tags: + - Polygon Validators + summary: Validator Metadata + operationId: validator_metadata_v0_polygon_validators__validator_id__get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators: + get: + tags: + - Polygon Validators + summary: Validator Summaries + operationId: validator_summaries_v0_polygon_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - description: The delegator address to filter by. + required: false + schema: + type: string + title: Delegatoraddress + description: The delegator address to filter by. + name: delegatorAddress + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/validators/{validator_id}/summary: + get: + tags: + - Polygon Validators + summary: Validator Summary + operationId: validator_summary_v0_polygon_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: integer + minimum: 0 + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/network/overview: + get: + tags: + - Polygon Network + summary: Get Network Overview + operationId: get_network_overview_v0_polygon_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/PolygonNetworkOverview' + type: array + title: Response Get Network Overview V0 Polygon Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators: + get: + tags: + - Polygon Delegators + summary: Delegator Summaries + operationId: delegator_summaries_v0_polygon_delegators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/summary: + get: + tags: + - Polygon Delegators + summary: Delegator Summary + operationId: delegator_summary_v0_polygon_delegators__delegator_address__summary_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PolygonDelegatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/polygon/delegators/{delegator_address}/rewards: + get: + tags: + - Polygon Delegators + summary: Delegator Rewards + operationId: delegator_rewards_v0_polygon_delegators__delegator_address__rewards_get + parameters: + - required: true + schema: + type: string + title: Delegator Address + name: delegator_address + in: path + - description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + required: false + schema: + title: From + description: >- + The starting (highest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: from + in: query + - description: >- + The ending (lowest) checkpoint or date (UTC) to return. For example, + 41100 or 2021-01-01. + required: false + schema: + title: To + description: >- + The ending (lowest) checkpoint or date (UTC) to return. For + example, 41100 or 2021-01-01. + name: to + in: query + - description: Checkpoint or UTC day + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__polygon__granularity__Granularity + description: Checkpoint or UTC day + name: granularity + in: query + - description: Maximum number of time periods (days or checkpoint) in the results. + required: false + schema: + type: integer + minimum: 0 + title: Size + description: >- + Maximum number of time periods (days or checkpoint) in the + results. + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_polygon__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/overview: + get: + tags: + - Solana Network + summary: Get Network Overview + operationId: get_network_overview_v0_solana_network_overview_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/SolanaNetworkOverview' + type: array + title: Response Get Network Overview V0 Solana Network Overview Get + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/network/validatorDistributions: + get: + tags: + - Solana Network + summary: Get Validator Distributions + operationId: get_validator_distributions_v0_solana_network_validatorDistributions_get + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorDistributions' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/rewards: + get: + tags: + - Solana Validators + summary: Validator Rewards + operationId: validator_rewards_v0_solana_validators__validator_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance: + get: + tags: + - Solana Validators + summary: Validator Performance + operationId: >- + validator_performance_v0_solana_validators__validator_id__performance_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: UTC day or slot multiple of 3k + required: false + schema: + title: From + description: UTC day or slot multiple of 3k + name: from + in: query + - description: UTC day or 3k block interval + required: false + schema: + allOf: + - $ref: >- + #/components/schemas/networks__solana__granularity__Granularity + description: UTC day or 3k block interval + name: granularity + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/performance/latency: + get: + tags: + - Solana Validators + summary: Validator Latency + operationId: >- + validator_latency_v0_solana_validators__validator_id__performance_latency_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - description: Slot to get vote latency from. + required: false + schema: + type: integer + minimum: 0 + title: From + description: Slot to get vote latency from. + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}: + get: + tags: + - Solana Validators + summary: Validator Metadata + operationId: validator_metadata_v0_solana_validators__validator_id__get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators: + get: + tags: + - Solana Validators + summary: Validator Summaries + operationId: validator_summaries_v0_solana_validators_get + parameters: + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: integer + minimum: 0 + title: From + name: from + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Size + default: 15 + name: size + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/api__schemas__page_solana__PaginatedResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v0/solana/validators/{validator_id}/summary: + get: + tags: + - Solana Validators + summary: Validator Summary + operationId: validator_summary_v0_solana_validators__validator_id__summary_get + parameters: + - required: true + schema: + type: string + title: Validator Id + name: validator_id + in: path + - required: true + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SolanaValidatorSummary' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags: + get: + summary: Get Tags + operationId: get_tags_v1_tags_get + parameters: + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + tags: + - Tags + summary: Create Tag + operationId: create_tag_v1_tags_post + parameters: + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}: + get: + summary: Get Tag + operationId: get_tag_v1_tags__id__get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + patch: + summary: Update Tag + operationId: update_tag_v1_tags__id__patch + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdateIn' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/Tag' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/tags/{id}/validators: + get: + summary: Get Tag Validators + operationId: get_tag_validators_v1_tags__id__validators_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + post: + summary: Add Validators + operationId: add_validators_v1_tags__id__validators_post + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidatorTagIn' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + items: + $ref: '#/components/schemas/ValidatorTag' + type: array + title: Response Add Validators V1 Tags Id Validators Post + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/tags/{id}/validators/{pubkey}: + delete: + summary: Remove Validator + operationId: remove_validator_v1_tags__id__validators__pubkey__delete + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Id + name: id + in: path + - required: true + schema: + type: string + title: Pubkey + name: pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '204': + description: Successful Response + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/effectiveness: + get: + summary: Get Entity Effectiveness + operationId: get_entity_effectiveness_v1_eth_entities__entity_id__effectiveness_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/attestations: + get: + summary: Get Entity Attestations + operationId: get_entity_attestations_v1_eth_entities__entity_id__attestations_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/proposals: + get: + summary: Get Entity Proposals + operationId: get_entity_proposals_v1_eth_entities__entity_id__proposals_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/effectiveness: + get: + summary: Get Validators Effectiveness + operationId: get_validators_effectiveness_v1_eth_validators_effectiveness_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/attestations: + get: + summary: Get Validators Attestations + operationId: get_validators_attestations_v1_eth_validators_attestations_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/proposals: + get: + summary: Get Validators Proposals + operationId: get_validators_proposals_v1_eth_validators_proposals_get + parameters: + - required: false + schema: + items: + type: string + type: array + title: Pubkeys + name: pubkeys + in: query + - required: false + schema: + items: + type: integer + maximum: 2147483648 + minimum: 0 + type: array + title: Indices + name: indices + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + $ref: '#/components/schemas/GranularityEnum' + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: >- + #/components/schemas/api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum + default: validator + name: groupBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + summary: Get Validator Effectiveness + operationId: >- + get_validator_effectiveness_v1_eth_validators__validator_index_or_pubkey__effectiveness_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + summary: Get Validator Attestations + operationId: >- + get_validator_attestations_v1_eth_validators__validator_index_or_pubkey__attestations_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + summary: Get Validator Proposals + operationId: >- + get_validator_proposals_v1_eth_validators__validator_index_or_pubkey__proposals_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/effectiveness: + get: + summary: Get Set Effectiveness + operationId: get_set_effectiveness_v1_eth_sets__set_id__effectiveness_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/attestations: + get: + summary: Get Set Attestations + operationId: get_set_attestations_v1_eth_sets__set_id__attestations_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/proposals: + get: + summary: Get Set Proposals + operationId: get_set_proposals_v1_eth_sets__set_id__proposals_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/rewards: + get: + summary: Get Entity Rewards + operationId: get_entity_rewards_v1_eth_entities__entity_id__rewards_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/penalties: + get: + summary: Get Entity Penalties + operationId: get_entity_penalties_v1_eth_entities__entity_id__penalties_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + summary: Get Validator Rewards + operationId: >- + get_validator_rewards_v1_eth_validators__validator_index_or_pubkey__rewards_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + summary: Get Validator Penalties + operationId: >- + get_validator_penalties_v1_eth_validators__validator_index_or_pubkey__penalties_get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/rewards: + get: + summary: Get Private Set Rewards + operationId: get_private_set_rewards_v1_eth_sets__set_id__rewards_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/sets/{set_id}/penalties: + get: + summary: Get Private Set Penalties + operationId: get_private_set_penalties_v1_eth_sets__set_id__penalties_get + parameters: + - required: true + schema: + type: string + format: uuid4 + title: Set Id + name: set_id + in: path + - required: false + schema: + type: string + format: date + title: Fromdate + name: fromDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Fromday + name: fromDay + in: query + - required: false + schema: + type: string + format: date + title: Todate + name: toDate + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Today + name: toDay + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/GranularityEnum' + default: day + name: granularity + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/summaries: + get: + summary: Get Entities Summaries + operationId: get_entities_summaries_v1_eth_entities_summaries_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}/summaries: + get: + summary: Get Entity Summaries + operationId: get_entity_summaries_v1_eth_entities__entity_id__summaries_get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + $ref: '#/components/schemas/TimeWindow' + name: window + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities: + get: + summary: Get Entities + operationId: get_entities_v1_eth_entities_get + parameters: + - required: false + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/entities/{entity_id}: + get: + summary: Get Entity + operationId: get_entity_v1_eth_entities__entity_id__get + parameters: + - required: true + schema: + type: string + title: Entity Id + name: entity_id + in: path + - required: true + schema: + $ref: '#/components/schemas/IdType' + name: entityType + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators: + get: + summary: Get Validators + operationId: get_validators_v1_eth_validators_get + parameters: + - required: false + schema: + type: string + title: Sortby + name: sortBy + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: asc + name: sortOrder + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Limit + default: 10 + name: limit + in: query + - required: false + schema: + type: integer + minimum: 0 + title: Offset + default: 0 + name: offset + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + /v1/eth/validators/{validator_index_or_pubkey}: + get: + summary: Get Validator + operationId: get_validator_v1_eth_validators__validator_index_or_pubkey__get + parameters: + - required: true + schema: + anyOf: + - type: integer + maximum: 2147483648 + minimum: 0 + - type: string + title: Validator Index Or Pubkey + name: validator_index_or_pubkey + in: path + - required: false + schema: + allOf: + - $ref: '#/components/schemas/Network' + default: mainnet + name: X-Rated-Network + in: header + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' +components: + schemas: + ActivationsExitsAggregate: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + stakeAction: + $ref: '#/components/schemas/StakeAction' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgEpochsToAction: + type: integer + minimum: 0 + title: Avgepochstoaction + avgMinutesToAction: + type: number + minimum: 0 + title: Avgminutestoaction + amountGwei: + type: integer + minimum: 0 + title: Amountgwei + type: object + required: + - timeWindow + - id + - idType + - stakeAction + - validatorCount + - avgEpochsToAction + - avgMinutesToAction + title: ActivationsExitsAggregate + AprType: + type: string + enum: + - backward + - forward + title: AprType + description: An enumeration. + Blocks: + properties: + epoch: + type: integer + minimum: 0 + title: Epoch + consensusSlot: + type: integer + minimum: 0 + title: Consensusslot + consensusBlockRoot: + type: string + title: Consensusblockroot + executionBlockNumber: + type: integer + minimum: 0 + title: Executionblocknumber + executionBlockHash: + type: string + title: Executionblockhash + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + feeRecipient: + type: string + title: Feerecipient + totalType0Transactions: + type: integer + minimum: 0 + title: Totaltype0Transactions + totalType2Transactions: + type: integer + minimum: 0 + title: Totaltype2Transactions + totalTransactions: + type: integer + minimum: 0 + title: Totaltransactions + totalGasUsed: + type: integer + minimum: 0 + title: Totalgasused + baseFeePerGas: + type: integer + minimum: 0 + title: Basefeepergas + totalBurntFees: + type: integer + minimum: 0 + title: Totalburntfees + totalType2TxFees: + type: integer + minimum: 0 + title: Totaltype2Txfees + totalType0TxFees: + type: integer + minimum: 0 + title: Totaltype0Txfees + totalPriorityFees: + type: integer + minimum: 0 + title: Totalpriorityfees + baselineMev: + type: integer + minimum: 0 + title: Baselinemev + executionProposerDuty: + type: string + title: Executionproposerduty + executionRewards: + type: integer + minimum: 0 + title: Executionrewards + missedExecutionRewards: + type: integer + minimum: 0 + title: Missedexecutionrewards + consensusProposerDuty: + type: string + title: Consensusproposerduty + consensusRewards: + type: integer + minimum: 0 + title: Consensusrewards + missedConsensusRewards: + type: number + minimum: 0 + title: Missedconsensusrewards + totalRewards: + type: integer + minimum: 0 + title: Totalrewards + totalRewardsMissed: + type: number + minimum: 0 + title: Totalrewardsmissed + totalType1Transactions: + type: integer + minimum: 0 + title: Totaltype1Transactions + totalType1TxFees: + type: integer + minimum: 0 + title: Totaltype1Txfees + blockTimestamp: + type: string + format: date-time + title: Blocktimestamp + totalSanctionedTransactions: + type: integer + minimum: 0 + title: Totalsanctionedtransactions + totalPriorityFeesValidator: + type: integer + minimum: 0 + title: Totalpriorityfeesvalidator + relays: + items: + type: string + type: array + title: Relays + blockBuilderPubkeys: + items: + type: string + type: array + title: Blockbuilderpubkeys + totalType3Transactions: + type: integer + minimum: 0 + title: Totaltype3Transactions + totalType3TxFees: + type: integer + minimum: 0 + title: Totaltype3Txfees + type: object + required: + - epoch + - consensusSlot + - validatorIndex + - executionProposerDuty + - consensusProposerDuty + - relays + - blockBuilderPubkeys + title: Blocks + example: + epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: '2023-10-09T11:00:47' + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + ClientDistribution: + properties: + client: + type: string + title: Client + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - client + - validatorShare + title: ClientDistribution + ClientEffectiveness: + properties: + client: + type: string + title: Client + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - client + - avgValidatorEffectiveness + title: ClientEffectiveness + ClientPercentage: + properties: + client: + type: string + title: Client + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - client + - percentage + title: ClientPercentage + CreateTagIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: CreateTagIn + DistType: + enum: + - all + - pros + title: DistType + description: An enumeration. + Error: + properties: + loc: + items: + type: string + type: array + title: Loc + msg: + type: string + title: Msg + type: + type: string + title: Type + type: object + required: + - msg + - type + title: Error + ErrorResponse: + properties: + detail: + items: + $ref: '#/components/schemas/Error' + type: array + title: Detail + type: object + required: + - detail + title: ErrorResponse + FilterTypeEnum: + type: string + enum: + - hour + - day + - datetime + title: FilterTypeEnum + description: An enumeration. + GeoDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - country + - validatorShare + title: GeoDistribution + GranularityEnum: + type: string + enum: + - hour + - day + - week + - month + - quarter + - year + - all + title: GranularityEnum + description: An enumeration. + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + HostingDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + type: object + required: + - hostingProvider + - validatorShare + title: HostingDistribution + IdType: + type: string + enum: + - depositAddress + - withdrawalAddress + - nodeOperator + - pool + - poolShare + - entity + - validator + title: IdType + description: An enumeration. + Network: + type: string + enum: + - mainnet + - prater + - holesky + title: Network + description: An enumeration. + NetworkChurnCapacity: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activatedValidators: + type: integer + minimum: 0 + title: Activatedvalidators + activationCapacityFilled: + type: number + minimum: 0 + title: Activationcapacityfilled + exitedValidators: + type: integer + minimum: 0 + title: Exitedvalidators + exitCapacityFilled: + type: number + minimum: 0 + title: Exitcapacityfilled + activatedPercentage: + type: number + minimum: 0 + title: Activatedpercentage + exitedPercentage: + type: number + minimum: 0 + title: Exitedpercentage + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + activationChurnLimit: + type: integer + minimum: 0 + title: Activationchurnlimit + exitChurnLimit: + type: integer + minimum: 0 + title: Exitchurnlimit + type: object + required: + - timeWindow + - latestEpoch + - activatedValidators + - activationCapacityFilled + - exitedValidators + - exitCapacityFilled + - activatedPercentage + - exitedPercentage + - churnLimit + - activationChurnLimit + - exitChurnLimit + title: NetworkChurnCapacity + example: + time_window: all + latestEpoch: 186271 + activatedValidators: 238445 + activationCapacityFilled: 0.62372 + exitedValidators: 955 + exitCapacityFilled: 0.0025 + activatedPercentage: 0.47689 + exitedPercentage: 0.00191 + churnLimit: 382294 + activationChurnLimit: 382294 + exitChurnLimit: 382294 + NetworkChurnCapacityPool: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + stakeAction: + $ref: '#/components/schemas/StakeAction' + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + churnLimit: + type: integer + minimum: 0 + title: Churnlimit + pool: + type: string + title: Pool + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + capacityFilled: + type: number + minimum: 0 + title: Capacityfilled + networkCapacityRemaining: + type: number + minimum: 0 + title: Networkcapacityremaining + type: object + required: + - timeWindow + - stakeAction + - latestEpoch + - churnLimit + - pool + - validatorCount + - capacityFilled + - networkCapacityRemaining + title: NetworkChurnCapacityPool + example: + time_window: 7d + stakeAction: activation + latestEpoch: 187225 + churnLimit: 12600 + pool: Lido + validatorCount: 3534 + capacityFilled: 0.28048 + networkCapacityRemaining: 0.41198 + NetworkDailyConsensusExecutionRewards: + properties: + date: + type: string + format: date + title: Date + sumConsensusRewards: + type: integer + minimum: 0 + title: Sumconsensusrewards + sumExecutionRewards: + type: integer + minimum: 0 + title: Sumexecutionrewards + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + minimum: 0 + title: Sumbaselinemev + type: object + title: NetworkDailyConsensusExecutionRewards + example: + 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + NetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + validatorCountDiff: + type: integer + title: Validatorcountdiff + medianValidatorAgeDays: + type: integer + minimum: 0 + title: Medianvalidatoragedays + activeStake: + type: integer + minimum: 0 + title: Activestake + activeStakeDiff: + type: integer + title: Activestakediff + avgValidatorBalance: + type: number + minimum: 0 + title: Avgvalidatorbalance + avgValidatorBalanceDiff: + type: number + title: Avgvalidatorbalancediff + consensusLayerRewardsPercentage: + type: number + minimum: 0 + title: Consensuslayerrewardspercentage + priorityFeesPercentage: + type: number + minimum: 0 + title: Priorityfeespercentage + baselineMevPercentage: + type: number + minimum: 0 + title: Baselinemevpercentage + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + sumMissedSlots: + type: integer + minimum: 0 + title: Summissedslots + missedSlotsPercentage: + type: number + minimum: 0 + title: Missedslotspercentage + avgConsensusAprPercentage: + type: number + title: Avgconsensusaprpercentage + avgExecutionAprPercentage: + type: number + title: Avgexecutionaprpercentage + medianConsensusAprPercentage: + type: number + title: Medianconsensusaprpercentage + medianExecutionAprPercentage: + type: number + title: Medianexecutionaprpercentage + consensusRewardsRatio: + type: number + title: Consensusrewardsratio + executionRewardsRatio: + type: number + title: Executionrewardsratio + avgNetworkAprPercentage: + type: number + title: Avgnetworkaprpercentage + medianNetworkAprPercentage: + type: number + title: Mediannetworkaprpercentage + avgConsensusAprGwei: + type: integer + title: Avgconsensusaprgwei + avgExecutionAprGwei: + type: integer + title: Avgexecutionaprgwei + medianConsensusAprGwei: + type: integer + title: Medianconsensusaprgwei + medianExecutionAprGwei: + type: integer + title: Medianexecutionaprgwei + avgNetworkAprGwei: + type: integer + title: Avgnetworkaprgwei + medianNetworkAprGwei: + type: integer + title: Mediannetworkaprgwei + giniCoefficient: + type: number + minimum: 0 + title: Ginicoefficient + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + clientValidatorEffectiveness: + items: + $ref: '#/components/schemas/ClientEffectiveness' + type: array + title: Clientvalidatoreffectiveness + latestEpoch: + type: integer + minimum: 0 + title: Latestepoch + activationQueueMinutes: + type: number + minimum: 0 + title: Activationqueueminutes + activatingValidators: + type: integer + minimum: 0 + title: Activatingvalidators + activatingStake: + type: integer + minimum: 0 + title: Activatingstake + exitQueueMinutes: + type: number + minimum: 0 + title: Exitqueueminutes + withdrawalQueueMinutes: + type: number + minimum: 0 + title: Withdrawalqueueminutes + withdrawalProcessingQueueMinutes: + type: number + minimum: 0 + title: Withdrawalprocessingqueueminutes + fullyWithdrawingValidators: + type: integer + minimum: 0 + title: Fullywithdrawingvalidators + partiallyWithdrawingValidators: + type: integer + minimum: 0 + title: Partiallywithdrawingvalidators + totalWithdrawingValidators: + type: integer + minimum: 0 + title: Totalwithdrawingvalidators + fullyWithdrawingBalance: + type: integer + minimum: 0 + title: Fullywithdrawingbalance + partiallyWithdrawingBalance: + type: integer + minimum: 0 + title: Partiallywithdrawingbalance + totalWithdrawingBalance: + type: integer + minimum: 0 + title: Totalwithdrawingbalance + exitingValidators: + type: integer + minimum: 0 + title: Exitingvalidators + exitingStake: + type: integer + minimum: 0 + title: Exitingstake + liquidStakingPenetration: + type: number + minimum: 0 + title: Liquidstakingpenetration + networkNativelyRestaked: + type: number + minimum: 0 + title: Networknativelyrestaked + type: object + required: + - timeWindow + - validatorCount + - medianValidatorAgeDays + - activeStake + - avgValidatorBalance + - sumMissedSlots + - missedSlotsPercentage + - giniCoefficient + - clientPercentages + - latestEpoch + - activationQueueMinutes + - activatingValidators + - activatingStake + - exitQueueMinutes + - withdrawalQueueMinutes + - withdrawalProcessingQueueMinutes + - fullyWithdrawingValidators + - partiallyWithdrawingValidators + - totalWithdrawingValidators + - fullyWithdrawingBalance + - partiallyWithdrawingBalance + - totalWithdrawingBalance + - exitingValidators + title: NetworkOverview + example: + timeWindow: all + validatorCount: 513101 + validatorCountDiff: 0 + medianValidatorAgeDays: 446 + activeStake: 16419232000000000 + activeStakeDiff: 0 + avgValidatorBalance: 33989164381.593678 + avgValidatorBalanceDiff: 0 + consensusLayerRewardsPercentage: 71.00716294317242 + priorityFeesPercentage: 17.670898689999394 + baselineMevPercentage: 11.321938366828187 + avgValidatorEffectiveness: 96.24882777017207 + avgInclusionDelay: 1.026223700745488 + avgUptime: 99.60745479648561 + sumMissedSlots: 54305 + missedSlotsPercentage: 0.9463495357389193 + avgConsensusAprPercentage: 4.110372806103757 + avgExecutionAprPercentage: 1.8784786051796751 + medianConsensusAprPercentage: 3.892783165538195 + medianExecutionAprPercentage: 0.6112049138020833 + consensusRewardsRatio: 0.7100716294317242 + executionRewardsRatio: 0.2899283705682758 + avgNetworkAprPercentage: 5.988851411283433 + medianNetworkAprPercentage: 4.503988079340278 + avg_consensus_apr_gwei: 1315319298 + avg_execution_apr_gwei: 601113154 + median_consensus_apr_gwei: 1245690613 + median_execution_apr_gwei: 195585572 + avg_network_apr_gwei: 1916432452 + median_network_apr_gwei: 1441276185 + giniCoefficient: 0.9374772860811317 + clientPercentages: + - client: Lighthouse + percentage: 0.3744886640155385 + - client: Nimbus + percentage: 0.025649007580706686 + - client: Teku + percentage: 0.19682653817317683 + - client: Prysm + percentage: 0.4004708894725073 + - client: Lodestar + percentage: 0.0025649007580706685 + clientValidatorEffectiveness: + - client: Lighthouse + avgValidatorEffectiveness: 95.42 + - client: Nimbus + avgValidatorEffectiveness: 93.4 + - client: Teku + avgValidatorEffectiveness: 94.9 + latestEpoch: 162521 + activationQueueMinutes: 838.4 + activatingValidators: 787 + activatingStake: 25184000000000 + exitQueueMinutes: 25.6 + withdrawalQueueMinutes: 47392 + withdrawalProcessingQueueMinutes: 47834.2875 + fullyWithdrawingValidators: 32 + partiallyWithdrawingValidators: 35351 + totalWithdrawingValidators: 35383 + fullyWithdrawingBalance: 1024000000000 + partiallyWithdrawingBalance: 1447374543384832 + totalWithdrawingBalance: 39939418387645100 + exitingValidators: 98 + exitingStake: 3136000000000 + liquid_staking_penetration: 0.312321 + network_natively_restaked: 0.035343 + NetworkStats: + properties: + day: + type: integer + minimum: 0 + title: Day + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + type: object + required: + - day + - avgUptime + - avgInclusionDelay + - avgCorrectness + - avgValidatorEffectiveness + title: NetworkStats + example: + day: 796 + avgUptime: 0.9957368996638016 + avgInclusionDelay: 1.0192267929181533 + avgCorrectness: 0.9908021620574459 + avgValidatorEffectiveness: 97.15146353052468 + Operator: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + displayName: + type: string + title: Displayname + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + type: object + required: + - id + - idType + - displayName + - operatorTags + title: Operator + example: + id: Stakefish + idType: nodeOperator + displayName: Stakefish + operatorTags: + - name: operator + nodeOperatorCount: 2 + OperatorApr: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: OperatorApr + example: + id: Lido + idType: pool + timeWindow: 1d + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + OperatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgProposerEffectiveness: + type: number + minimum: 0 + title: Avgproposereffectiveness + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + sumProposedCount: + type: integer + minimum: 0 + title: Sumproposedcount + sumProposerDutiesCount: + type: integer + minimum: 0 + title: Sumproposerdutiescount + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + sumEarnings: + type: integer + title: Sumearnings + sumEstimatedRewards: + type: integer + title: Sumestimatedrewards + sumEstimatedPenalties: + type: integer + title: Sumestimatedpenalties + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + avgAttesterEffectiveness: + type: number + minimum: 0 + title: Avgattestereffectiveness + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + sumExecutionProposedEmptyCount: + type: integer + minimum: 0 + title: Sumexecutionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + required: + - id + - idType + title: OperatorEffectiveness + example: + day: 796 + startEpoch: 179324 + endEpoch: 179100 + id: Stakefish + idType: nodeOperator + validatorCount: 16075 + avgInclusionDelay: 1.0138705386457403 + avgUptime: 0.9999466390184881 + avgCorrectness: 0.9929917401071404 + avgProposerEffectiveness: 99.53271028037379 + avgValidatorEffectiveness: 97.96642775943795 + totalUniqueAttestations: 3616682 + sumCorrectHead: 3547355 + sumCorrectTarget: 3612248 + sumInclusionDelay: 3666847 + sumProposedCount: 213 + sumProposerDutiesCount: 214 + slashesCollected: 0 + slashesReceived: 0 + sumEarnings: 56766373292 + sumEstimatedRewards: 56675239144 + sumEstimatedPenalties: -82967688 + networkPenetration: 0.03132911454080191 + sumPriorityFees: 10662221791 + sumBaselineMev: 5266131924 + sumMissedExecutionRewards: 58181568 + sumConsensusBlockRewards: 6554423259 + sumMissedConsensusBlockRewards: 31228533 + sumAllRewards: 72694727007 + sumCorrectSource: 3614403 + avgAttesterEffectiveness: 97.9580945527236 + sumMissedSyncSignatures: 2837 + sumSyncCommitteePenalties: -44317643 + sumLateSourceVotes: 2279 + sumWrongTargetVotes: 4434 + sumLateTargetVotes: 0 + sumWrongTargetPenalties: -28763358 + sumLateTargetPenalties: 0 + sumMissedAttestations: 193 + sumMissedAttestationPenalties: -1926140 + sumWrongHeadVotes: 48767 + sumWrongHeadPenalties: 0 + sumAttestationRewards: 50120815885 + sumLateSourcePenalties: -7960547 + sumExecutionProposedEmptyCount: 0 + sumMissedAttestationRewards: 269961427 + sumMissedSyncCommitteeRewards: 44317643 + sumExternallySourcedExecutionRewards: 14862131536 + OperatorEffectivenessSummary: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + avgUptime: + type: number + minimum: 0 + title: Avguptime + avgValidatorEffectiveness: + type: number + minimum: 0 + title: Avgvalidatoreffectiveness + clientPercentages: + items: + $ref: '#/components/schemas/ClientPercentage' + type: array + title: Clientpercentages + networkPenetration: + type: number + minimum: 0 + title: Networkpenetration + relayerPercentages: + items: + $ref: '#/components/schemas/RelayerPercentage' + type: array + title: Relayerpercentages + nodeOperatorCount: + type: integer + minimum: 0 + title: Nodeoperatorcount + operatorTags: + items: + $ref: '#/components/schemas/OperatorTag' + type: array + title: Operatortags + displayName: + type: string + title: Displayname + aprPercentage: + type: number + title: Aprpercentage + type: object + required: + - id + - idType + - timeWindow + - validatorCount + - avgCorrectness + - avgUptime + - avgValidatorEffectiveness + - clientPercentages + - relayerPercentages + - operatorTags + title: OperatorEffectivenessSummary + example: + id: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + idType: depositAddress + timeWindow: 1d + validatorCount: 37361 + avgCorrectness: 0.9872805930783213 + avgInclusionDelay: 1.0209945048723401 + avgUptime: 0.9990847259025307 + avgValidatorEffectiveness: 96.65219797373126 + clientPercentages: + - client: Prysm + percentage: 0.8462792766083606 + - client: Nimbus + percentage: 0.04797904931317324 + - client: Teku + percentage: 0.034044866093487496 + - client: Lighthouse + percentage: 0.07169680798497875 + networkPenetration: 0.07855633469653803 + relayerPercentages: [] + operatorTags: [] + displayName: '0xa40dfee99e1c85dc97fdc594b16a460717838703' + OperatorTag: + properties: + name: + type: string + title: Name + path: + type: string + title: Path + idType: + $ref: '#/components/schemas/IdType' + type: object + required: + - name + title: OperatorTag + P2PGeographicalDistribution: + properties: + country: + type: string + title: Country + countryCode: + type: string + title: Countrycode + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - country + - countryCode + - validatorShare + - distType + title: P2PGeographicalDistribution + P2PHostingProviderDistribution: + properties: + hostingProvider: + type: string + title: Hostingprovider + validatorShare: + type: number + minimum: 0 + title: Validatorshare + distType: + $ref: '#/components/schemas/DistType' + type: object + required: + - hostingProvider + - validatorShare + - distType + title: P2PHostingProviderDistribution + PageP2P: + properties: + fromRank: + type: integer + title: Fromrank + toRank: + type: integer + title: Torank + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + type: object + required: + - fromRank + title: PageP2P + PaginatedBlocks: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/Blocks' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedBlocks + example: + page: + size: 1 + data: + - epoch: 234440 + consensusSlot: 7502102 + consensusBlockRoot: >- + \\x5668a71163c5ec5fcf34185deb36f0c3619a6f00a4ee0a547220f439913b6412 + executionBlockNumber: 18312479 + executionBlockHash: >- + \\x5b138bff063adf335b468150d91eb8c3025a02f6716e3dd4bcee42bf81bb0fe8 + validatorIndex: 888078 + feeRecipient: \\x1f9090aae28b8a3dceadf281b0f12828e676c326 + totalType0Transactions: 19 + totalType2Transactions: 137 + totalTransactions: 156 + totalGasUsed: 11894065 + baseFeePerGas: 7413818806 + totalBurntFees: 88180442776786380 + totalType2TxFees: 11085611875723216 + totalType0TxFees: 23400203843039860 + totalPriorityFees: 34485815 + baselineMev: 0 + executionProposerDuty: proposed + executionRewards: 34330125 + missedExecutionRewards: 0 + consensusProposerDuty: proposed + consensusRewards: 41947807 + missedConsensusRewards: 0 + totalRewards: 76277932 + totalRewardsMissed: 0 + totalType1Transactions: 0 + totalType1TxFees: 0 + blockTimestamp: 123242323 + totalSanctionedTransactions: 0 + totalPriorityFeesValidator: 34330125 + relays: + - bloxroute_regulated + - flashbots + - bloxroute_maxprofit + blockBuilderPubkeys: + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + - >- + 0x978a35c39c41aadbe35ea29712bccffb117cc6ebcad4d86ea463d712af1dc80131d0c650dc29ba29ef27c881f43bd587 + totalType3Transactions: 10 + totalType3TxFees: 1108561187572321 + next: /v0/eth/blocks/?size=10&from=7502092 + total: 1 + PaginatedNetworkDailyConsensusExecutionRewards: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/NetworkDailyConsensusExecutionRewards' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedNetworkDailyConsensusExecutionRewards + example: + page: + size: 1 + data: + - 'date:': '2024-03-01' + sumConsensusRewards: 5065328672680 + sumExecutionRewards: 679962110741 + sumPriorityFees: 492780713029 + sumBaselineMev: 187181397712 + next: /v0/eth/network/dailyRewards?size=10&from=2024-02-19 + total: 1 + PaginatedOperatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectiveness + PaginatedOperatorEffectivenessSummary: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/OperatorEffectivenessSummary' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedOperatorEffectivenessSummary + PaginatedP2PHostingProviderDistribution: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/P2PHostingProviderDistribution' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedP2PHostingProviderDistribution + PaginatedSlashingLeaderboard: + properties: + page: + $ref: '#/components/schemas/PageP2P' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingLeaderboard' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingLeaderboard + PaginatedSlashingPenalties: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/SlashingPenalties' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedSlashingPenalties + PaginatedValidatorEffectiveness: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectiveness' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectiveness + example: + page: + filterType: day + granularity: day + size: 1 + data: + - attesterEffectiveness: 98.82005899705014 + avgCorrectness: 0.9925925925925926 + avgInclusionDelay: 1.0044444444444445 + day: 803 + earnings: 2958548 + endEpoch: 180675 + estimatedPenalties: -6461 + estimatedRewards: 2965823 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startEpoch: 180899 + sumAllRewards: 2958548 + sumAttestationRewards: 2965823 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 221 + sumCorrectSource: 225 + sumCorrectTarget: 224 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 226 + sumLateSourcePenalties: 0 + sumLateSourceVotes: 0 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 19233 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 3 + sumWrongTargetPenalties: -6461 + sumWrongTargetVotes: 1 + syncSignatureCount: 0 + totalAttestationAssignments: 225 + totalAttestations: 237 + totalUniqueAttestations: 225 + uptime: 1 + validatorEffectiveness: 98.82005899705014 + validatorIndex: 100 + next: >- + /v0/eth/validators/100/effectiveness?size=1&from=802&granularity=day&filterType=day + total: 804 + PaginatedValidatorEffectivenessAggregation: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessAggregation' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessAggregation + example: + data: + - attesterEffectiveness: 97.32583666151515 + avgCorrectness: 0.9918362178153197 + avgInclusionDelay: 1.0193737639350782 + day: 803 + earnings: 4280356408 + endDay: 0 + endEpoch: 0 + estimatedPenalties: -12510807 + estimatedRewards: 4128779301 + executionProposedEmptyCount: 0 + proposedCount: 24 + proposerDutiesCount: 24 + proposerEffectiveness: 100 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 4280356408 + sumAttestationRewards: 4052665764 + sumBaselineMev: 0 + sumConsensusBlockRewards: 76113537 + sumCorrectHead: 177727 + sumCorrectSource: 180937 + sumCorrectTarget: 180496 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 184525 + sumLateSourcePenalties: -353416 + sumLateSourceVotes: 81 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: -629004 + sumMissedAttestationRewards: 24938630 + sumMissedAttestations: 47 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumMissedSyncSignatures: 16384 + sumPriorityFees: 0 + sumSyncCommitteePenalties: -409318.20849609375 + sumWrongHeadPenalties: -6971040 + sumWrongHeadVotes: 2231 + sumWrongTargetPenalties: -4148029 + sumWrongTargetVotes: 522 + syncSignatureCount: 0 + totalAttestationAssignments: 181065 + totalAttestations: 202175 + totalUniqueAttestations: 181018 + uptime: 0.9997404247093585 + validatorEffectiveness: 97.33446322952862 + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + page: + filterType: day + size: 1 + total: 1 + PaginatedValidatorEffectivenessData: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorEffectivenessData' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorEffectivenessData + example: + data: + - attesterEffectiveness: 98.46868397067385 + avgCorrectness: 0.9951851851851852 + avgInclusionDelay: 1.0107407407407407 + day: 803 + earnings: 35804991 + endDay: 792 + endEpoch: 178200 + estimatedPenalties: -22921 + estimatedRewards: 35849013 + executionProposedEmptyCount: 0 + proposedCount: 0 + proposerDutiesCount: 0 + slashesCollected: 0 + slashesReceived: 0 + startDay: 803 + startEpoch: 180899 + sumAllRewards: 35804991 + sumAttestationRewards: 35849013 + sumBaselineMev: 0 + sumConsensusBlockRewards: 0 + sumCorrectHead: 2665 + sumCorrectSource: 2699 + sumCorrectTarget: 2697 + sumExternallySourcedExecutionRewards: 0 + sumInclusionDelay: 2729 + sumLateSourcePenalties: -3486 + sumLateSourceVotes: 1 + sumLateTargetPenalties: 0 + sumLateTargetVotes: 0 + sumMissedAttestationPenalties: 0 + sumMissedAttestationRewards: 137813 + sumMissedAttestations: 0 + sumMissedConsensusBlockRewards: 0 + sumMissedExecutionRewards: 0 + sumMissedSyncCommitteeRewards: 0 + sumPriorityFees: 0 + sumSyncCommitteePenalties: 0 + sumWrongHeadPenalties: 0 + sumWrongHeadVotes: 21 + sumWrongTargetPenalties: -19435 + sumWrongTargetVotes: 3 + syncSignatureCount: 0 + totalAttestationAssignments: 2700 + totalAttestations: 2919 + totalUniqueAttestations: 2700 + uptime: 1 + validatorEffectiveness: 98.46868397067385 + next: >- + /v0/eth/validators/effectiveness?indices=100&indices=101&groupBy=timeWindow&granularity=month&size=1&from=791&filterType=day + page: + filterType: day + granularity: month + size: 1 + total: 27 + PaginatedValidatorEffectivenessDataOrAggregation: + anyOf: + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessData' + - $ref: '#/components/schemas/PaginatedValidatorEffectivenessAggregation' + title: PaginatedValidatorEffectivenessDataOrAggregation + PaginatedValidatorMetadata: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/ValidatorMetadata' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedValidatorMetadata + example: + page: + from: 0 + size: 3 + total: 11 + data: + - validatorIndex: 1 + validatorPubkey: >- + 0xb44440543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004466666 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 4 + validatorPubkey: >- + 0xa62420543ceef8d77e065c70da15f7b731e56db5457571c465f025e032bbcd263a0990c8749b4ca6ff20d77004454b51 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + - validatorIndex: 10 + validatorPubkey: >- + 0xc55540543ceef8dccc065c70da15f7b731e56db5457571c465f0254442bbcd263a0111c8749b4ca6ff20d77004466777 + pool: '' + dvtNetwork: '' + nodeOperators: [] + depositAddresses: + - '0xc34eb7e3f34e54646d7cd140bb7c20a466b3e852' + dvtOperators: [] + activationEpoch: 169000 + activationEligibilityEpoch: 171000 + exitEpoch: 172000 + withdrawableEpoch: 172256 + withdrawalAddress: '0x0d369bb49efa5100fd3b86a9f828c55da04d2d50' + next: /v0/eth/validators?from=11&size=3&operatorsIds=&idType= + PaginatedWithdrawalsPredicted: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: + $ref: '#/components/schemas/WithdrawalsPredicted' + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedWithdrawalsPredicted + Percentile: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + rank: + type: integer + minimum: 0 + title: Rank + value: + type: number + minimum: 0 + title: Value + type: object + required: + - timeWindow + - rank + - value + title: Percentile + PolygonDelegation: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + validatorName: + type: string + title: Validatorname + stakePercentage: + type: number + title: Stakepercentage + type: object + required: + - validatorId + - stakePercentage + title: PolygonDelegation + PolygonDelegatorSummary: + properties: + delegatorAddress: + type: string + title: Delegatoraddress + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkPenetration: + type: number + title: Networkpenetration + delegations: + items: + $ref: '#/components/schemas/PolygonDelegation' + type: array + title: Delegations + aprGross: + type: number + title: Aprgross + aprNet: + type: number + title: Aprnet + aggregateEffectiveness: + type: number + title: Aggregateeffectiveness + blendedCommissionRate: + type: number + title: Blendedcommissionrate + totalDelegatorStake: + type: number + title: Totaldelegatorstake + totalGrossRewards: + type: number + title: Totalgrossrewards + totalNetRewards: + type: number + title: Totalnetrewards + totalCommissionPaid: + type: number + title: Totalcommissionpaid + type: object + required: + - delegatorAddress + - timeWindow + - networkPenetration + - delegations + - aggregateEffectiveness + - blendedCommissionRate + - totalDelegatorStake + - totalGrossRewards + - totalNetRewards + - totalCommissionPaid + title: PolygonDelegatorSummary + example: + delegatorAddress: '0x00000' + timeWindow: 30d + networkPenetration: 0.1 + delegations: + - validatorId: 103 + validatorName: Stake Capital + stakePercentage: 0.1 + - validatorId: 104 + validatorName: Coinbase Cloud + stakePercentage: 0.1 + aprGross: 0.05 + aprNet: 0.05 + aggregateEffectiveness: 0.98865 + blendedCommissionRate: 0.05125 + totalDelegatorStake: 400995914.00753 + totalGrossRewards: 1859026.3456 + totalNetRewards: 1746304.13028 + totalCommissionPaid: 112722.21532 + PolygonNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkCheckpointSigningRate: + type: number + title: Networkcheckpointsigningrate + networkCheckpointProposalRate: + type: number + title: Networkcheckpointproposalrate + networkBorProposalRate: + type: number + title: Networkborproposalrate + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + delegatorApr: + type: number + title: Delegatorapr + heimdallCheckpointApr: + type: number + title: Heimdallcheckpointapr + borProposalApr: + type: number + title: Borproposalapr + heimdallCheckpointRewardsRatio: + type: number + title: Heimdallcheckpointrewardsratio + borProposalRewardsRatio: + type: number + title: Borproposalrewardsratio + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + activeDelegatorCount: + type: integer + minimum: 0 + title: Activedelegatorcount + activeDelegatorDiff: + type: integer + title: Activedelegatordiff + totalStake: + type: number + title: Totalstake + totalDelegatedStake: + type: number + title: Totaldelegatedstake + avgDelegatedStake: + type: number + title: Avgdelegatedstake + totalSelfStake: + type: number + title: Totalselfstake + rewardsCheckpointSignatures: + type: number + title: Rewardscheckpointsignatures + rewardsCheckpointProposals: + type: number + title: Rewardscheckpointproposals + rewardsBorPriorityFees: + type: number + title: Rewardsborpriorityfees + rewardsBorMev: + type: number + title: Rewardsbormev + avgValidatorDelegates: + type: number + title: Avgvalidatordelegates + blendedCommissionRate: + type: number + title: Blendedcommissionrate + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + networkCheckpointSigningRateDiff: + type: number + title: Networkcheckpointsigningratediff + networkCheckpointProposalRateDiff: + type: number + title: Networkcheckpointproposalratediff + networkBorProposalRateDiff: + type: number + title: Networkborproposalratediff + type: object + required: + - timeWindow + - networkEffectiveness + - networkCheckpointSigningRate + - networkCheckpointProposalRate + - networkBorProposalRate + - validatorApr + - netValidatorApr + - delegatorApr + - heimdallCheckpointApr + - borProposalApr + - heimdallCheckpointRewardsRatio + - borProposalRewardsRatio + - activeValidatorCount + - activeValidatorDiff + - activeDelegatorCount + - activeDelegatorDiff + - totalStake + - totalDelegatedStake + - avgDelegatedStake + - totalSelfStake + - rewardsCheckpointSignatures + - rewardsCheckpointProposals + - rewardsBorPriorityFees + - rewardsBorMev + - avgValidatorDelegates + - blendedCommissionRate + - networkEffectivenessDiff + - networkCheckpointSigningRateDiff + - networkCheckpointProposalRateDiff + - networkBorProposalRateDiff + title: PolygonNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkCheckpointSigningRate: 0.999 + networkCheckpointProposalRate: 0.999 + networkBorProposalRate: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + heimdallCheckpointApr: 0.99 + borProposalApr: 0.99 + heimdallCheckpointRewardsRatio: 0.99 + borProposalRewardsRatio: 0.99 + activeValidatorCount: 999 + activeValidatorDiff: -10 + activeDelegatorCount: 999 + activeDelegatorDiff: 999 + totalStake: 999 + totalDelegatedStake: 999 + avgDelegatedStake: 999 + totalSelfStake: 999 + rewardsCheckpointSignatures: 999 + rewardsCheckpointProposals: 999 + rewardsBorPriorityFees: 999 + rewardsBorMev: 999 + avgValidatorDelegates: 999 + blendedCommissionRate: 0.99 + network_effectiveness_diff: 0.01 + network_checkpoint_signing_rate_diff: 0.01 + network_checkpoint_proposal_rate_diff: 0.01 + network_bor_proposal_rate_diff: 0.01 + PolygonValidatorMetadata: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + name: + type: string + title: Name + status: + type: string + title: Status + currentState: + type: string + title: Currentstate + owner: + type: string + title: Owner + signer: + type: string + title: Signer + url: + type: string + title: Url + description: + type: string + title: Description + commission: + type: number + minimum: 0 + title: Commission + type: object + required: + - validatorId + - name + - status + - currentState + - owner + - signer + - commission + title: PolygonValidatorMetadata + example: + validatorId: 103 + name: Stake Capital + status: active + currentState: healthy + owner: '0x00000' + signer: '0x00000' + url: https://stake.capital + description: Stake Capital is a validator for Polygon. + commission: 0.1 + PolygonValidatorSummary: + properties: + validatorId: + type: integer + minimum: 0 + title: Validatorid + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + currentState: + type: string + title: Currentstate + networkPenetration: + type: number + title: Networkpenetration + validatorApr: + type: number + title: Validatorapr + netValidatorApr: + type: number + title: Netvalidatorapr + commissionRate: + type: number + title: Commissionrate + delegatorApr: + type: number + title: Delegatorapr + effectiveness: + type: number + title: Effectiveness + type: object + required: + - validatorId + - timeWindow + - name + - currentState + - networkPenetration + - validatorApr + - netValidatorApr + - commissionRate + - delegatorApr + - effectiveness + title: PolygonValidatorSummary + example: + validatorId: 103 + timeWindow: 30d + name: Stake Capital + currentState: healthy + networkPenetration: 0.24 + validatorApr: 0.05 + commissionRate: 0.05 + netValidatorApr: 0.049 + delegatorApr: 0.05 + effectiveness: 0.984 + PoolOrNodeOperatorIdType: + type: string + enum: + - pool + - nodeOperator + title: PoolOrNodeOperatorIdType + description: An enumeration. + PoolType: + enum: + - all + - cex + - lst + title: PoolType + description: An enumeration. + PricingPlan: + properties: + tier: + $ref: '#/components/schemas/PricingTiersEnum' + price: + type: integer + minimum: 0 + title: Price + computeUnits: + type: integer + minimum: 0 + title: Computeunits + autoscale: + type: boolean + title: Autoscale + autoscalePrice: + type: integer + minimum: 0 + title: Autoscaleprice + cuUpperBound: + type: integer + minimum: 0 + title: Cuupperbound + rateLimits: + type: string + title: Ratelimits + lifetimeRequestsLimit: + type: integer + minimum: 0 + title: Lifetimerequestslimit + type: object + required: + - tier + - autoscale + - rateLimits + title: PricingPlan + PricingTiersEnum: + type: string + enum: + - free + - starter + - build + - growth + - enterprise + - chorus-one + - blockworks + - manifold + title: PricingTiersEnum + description: An enumeration. + RelayerPercentage: + properties: + relayer: + type: string + title: Relayer + percentage: + type: number + minimum: 0 + title: Percentage + type: object + required: + - relayer + - percentage + title: RelayerPercentage + example: + relayer: agnostic + percentage: 0.00041296716911005574 + SelfReport: + properties: + operatorName: + type: string + title: Operatorname + validators: + items: + type: string + type: array + title: Validators + network: + $ref: '#/components/schemas/Network' + poolTag: + type: string + title: Pooltag + type: object + required: + - operatorName + - validators + - network + title: SelfReport + SelfReportIn: + properties: + validators: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Validators + poolTag: + type: string + title: Pooltag + type: object + required: + - validators + title: SelfReportIn + SlashingCohortAnalysis: + properties: + cohort: + type: string + title: Cohort + lastSixMonths: + type: integer + minimum: 0 + title: Lastsixmonths + pastYear: + type: integer + minimum: 0 + title: Pastyear + pastTwoYears: + type: integer + minimum: 0 + title: Pasttwoyears + allTime: + type: integer + minimum: 0 + title: Alltime + type: object + required: + - cohort + - lastSixMonths + - pastYear + - pastTwoYears + - allTime + title: SlashingCohortAnalysis + SlashingLeaderboard: + properties: + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + slashes: + type: integer + minimum: 0 + title: Slashes + medianSlashedMonth: + type: string + title: Medianslashedmonth + slasherPedigree: + type: string + title: Slasherpedigree + slashingRole: + $ref: '#/components/schemas/SlashingRole' + validatorCount: + type: integer + minimum: 0 + title: Validatorcount + type: object + required: + - id + - idType + - slashes + - medianSlashedMonth + - slasherPedigree + - slashingRole + - validatorCount + title: SlashingLeaderboard + SlashingOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + discreteSlashingEvents: + type: integer + minimum: 0 + title: Discreteslashingevents + largestSlashingIncident: + type: integer + minimum: 0 + title: Largestslashingincident + currentSlashingPenaltyGwei: + type: integer + minimum: 0 + title: Currentslashingpenaltygwei + slashingSlotsRatio: + type: number + minimum: 0 + title: Slashingslotsratio + solosRatio: + type: number + minimum: 0 + title: Solosratio + prosRatio: + type: number + minimum: 0 + title: Prosratio + slashingPenaltiesAllRewardsRatio: + type: number + minimum: 0 + title: Slashingpenaltiesallrewardsratio + slashingPenaltiesStakeRatio: + type: number + minimum: 0 + title: Slashingpenaltiesstakeratio + type: object + required: + - timeWindow + - validatorsSlashed + - discreteSlashingEvents + - largestSlashingIncident + - currentSlashingPenaltyGwei + - slashingSlotsRatio + - solosRatio + - prosRatio + - slashingPenaltiesAllRewardsRatio + - slashingPenaltiesStakeRatio + title: SlashingOverview + example: + timeWindow: all + validatorsSlashed: 278 + discreteSlashingEvents: 97 + largestSlashingIncident: 2 + currentSlashingPenaltyGwei: 1064833914 + slashingSlotsRatio: 0.00003 + solosSlotsRatio: 0.57554 + prosSlotsRatio: 0.42446 + slashingPenaltiesAllRewardsRatio: 0.00011 + slashingPenaltiesStakeRatio: 0.00001 + SlashingPenalties: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + slashingEpoch: + type: integer + minimum: 0 + title: Slashingepoch + withdrawableEpoch: + type: integer + minimum: 0 + title: Withdrawableepoch + balanceBeforeSlashing: + type: integer + minimum: 0 + title: Balancebeforeslashing + balanceBeforeWithdrawal: + type: integer + minimum: 0 + title: Balancebeforewithdrawal + slashingPenalties: + type: integer + minimum: 0 + title: Slashingpenalties + type: object + required: + - validatorIndex + - validatorPubkey + - slashingEpoch + - withdrawableEpoch + - balanceBeforeSlashing + - balanceBeforeWithdrawal + - slashingPenalties + title: SlashingPenalties + example: + validatorIndex: 516858 + validatorPubkey: >- + 0xafa647044b05fd7d7f3cfd806170fc9774bf37cbcfd4f083528522bb2a011e57f3af00f8bb8435a9d3316816e4cdb022 + slashingEpoch: 203644 + withdrawableEpoch: 211836 + balanceBeforeSlashing: 32001900366 + balanceBeforeWithdrawal: 30980804667 + slashingPenalties: 1021095699 + SlashingRole: + enum: + - slashed + - slasher + title: SlashingRole + description: An enumeration. + SlashingTimeSeries: + properties: + month: + type: string + format: date + title: Month + validatorsSlashed: + type: integer + minimum: 0 + title: Validatorsslashed + type: object + required: + - month + - validatorsSlashed + title: SlashingTimeSeries + SolanaNetworkOverview: + properties: + timeWindow: + $ref: '#/components/schemas/TimeWindow' + networkEffectiveness: + type: number + title: Networkeffectiveness + networkVoteSuccessRate: + type: number + title: Networkvotesuccessrate + networkMissedBlocksRate: + type: number + title: Networkmissedblocksrate + networkVotingLatency: + type: number + title: Networkvotinglatency + validatorApy: + type: number + title: Validatorapy + netValidatorApy: + type: number + title: Netvalidatorapy + delegatorApy: + type: number + title: Delegatorapy + rewardsSolanaVoting: + type: number + title: Rewardssolanavoting + rewardsSolanaProposals: + type: number + title: Rewardssolanaproposals + rewardsSolanaMev: + type: number + title: Rewardssolanamev + rewardsSolanaRent: + type: number + title: Rewardssolanarent + activeValidatorCount: + type: integer + minimum: 0 + title: Activevalidatorcount + activeValidatorDiff: + type: integer + title: Activevalidatordiff + totalDelegatedStake: + type: number + title: Totaldelegatedstake + activeDelegatorStakeAccountCount: + type: integer + minimum: 0 + title: Activedelegatorstakeaccountcount + activeDelegatorStakeAccountCountDiff: + type: integer + title: Activedelegatorstakeaccountcountdiff + activeDelegatorWithdrawAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorwithdrawauthoritycount + activeDelegatorWithdrawAuthorityCountDiff: + type: integer + title: Activedelegatorwithdrawauthoritycountdiff + stakeAccountWithdrawAuthorityRatio: + type: number + title: Stakeaccountwithdrawauthorityratio + activeDelegatorStakeAuthorityCount: + type: integer + minimum: 0 + title: Activedelegatorstakeauthoritycount + activeDelegatorStakeAuthorityCountDiff: + type: integer + title: Activedelegatorstakeauthoritycountdiff + stakeAccountStakeAuthorityRatio: + type: number + title: Stakeaccountstakeauthorityratio + networkEffectivenessDiff: + type: number + title: Networkeffectivenessdiff + giniCoefficient: + type: number + title: Ginicoefficient + type: object + required: + - timeWindow + - networkEffectiveness + - networkVoteSuccessRate + - networkMissedBlocksRate + - networkVotingLatency + - validatorApy + - netValidatorApy + - delegatorApy + - rewardsSolanaVoting + - rewardsSolanaProposals + - rewardsSolanaMev + - rewardsSolanaRent + - activeValidatorCount + - activeValidatorDiff + - totalDelegatedStake + - activeDelegatorStakeAccountCount + - activeDelegatorStakeAccountCountDiff + - activeDelegatorWithdrawAuthorityCount + - activeDelegatorWithdrawAuthorityCountDiff + - stakeAccountWithdrawAuthorityRatio + - activeDelegatorStakeAuthorityCount + - activeDelegatorStakeAuthorityCountDiff + - stakeAccountStakeAuthorityRatio + - networkEffectivenessDiff + - giniCoefficient + title: SolanaNetworkOverview + example: + timeWindow: 30d + networkEffectiveness: 0.999 + networkVoteSuccessRate: 0.999 + networkMissedBlocksRate: 0.999 + networkVotingLatency: 0.999 + validatorApr: 0.999 + netValidatorApr: 0.998 + delegatorApr: 0.999 + rewardsSolanaVoting: 0.999 + rewardsSolanaProposals: 0.999 + rewardsSolanaRent: 0.999 + rewardsSolanaMev: 0.999 + activeValidatorCount: 999 + activeValidatorDiff: -10 + totalDelegatedStake: 999 + activeDelegatorStakeAccountCount: 999 + activeDelegatorStakeAccountCountDiff: 999 + activeDelegatorWithdrawAuthorityCount: 999 + activeDelegatorWithdrawAuthorityCountDiff: 999 + stakeAccountWithdrawAuthorityRatio: 0.999 + activeDelegatorStakeAuthorityCount: 999 + activeDelegatorStakeAuthorityCountDiff: 999 + stakeAccountStakeAuthorityRatio: 0.999 + networkEffectivenessDiff: 0.999 + giniCoefficient: 0.999 + SolanaValidatorDistributions: + properties: + geo: + items: + $ref: '#/components/schemas/GeoDistribution' + type: array + title: Geo + host: + items: + $ref: '#/components/schemas/HostingDistribution' + type: array + title: Host + client: + items: + $ref: '#/components/schemas/ClientDistribution' + type: array + title: Client + type: object + required: + - geo + - host + - client + title: SolanaValidatorDistributions + example: + geo: + - country: United States + validator_share: 0.5 + - country: Germany + validator_share: 0.5 + host: + - hosting_provider: AWS + validator_share: 0.6 + - hosting_provider: Google Cloud + validator_share: 0.4 + client: + - client: Solana v1.7.9 + validator_share: 0.7 + - client: Jito Solana + validator_share: 0.3 + SolanaValidatorMetadata: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + validatorName: + type: string + title: Validatorname + description: + type: string + title: Description + keybaseUsername: + type: string + title: Keybaseusername + url: + type: string + title: Url + city: + type: string + title: City + country: + type: string + title: Country + hostingProvider: + type: string + title: Hostingprovider + client: + type: string + title: Client + type: object + required: + - voteAccount + title: SolanaValidatorMetadata + example: + validatorIdentity: validatorIdentityABC123 + voteAccount: voteAccountABC123 + validatorName: Mike's Validator + description: world's best validator + keybaseUsername: someusername + url: https://validator.url + city: London + country: GB + hostingProvider: Amazon + client: solana-jito + SolanaValidatorSummary: + properties: + validatorIdentity: + type: string + title: Validatoridentity + voteAccount: + type: string + title: Voteaccount + timeWindow: + $ref: '#/components/schemas/TimeWindow' + name: + type: string + title: Name + validatorApy: + type: number + title: Validatorapy + delegatorApy: + type: number + title: Delegatorapy + voteCommissionRate: + type: number + title: Votecommissionrate + mevCommissionRate: + type: number + title: Mevcommissionrate + totalStake: + type: number + title: Totalstake + networkPenetration: + type: number + title: Networkpenetration + effectiveness: + type: number + title: Effectiveness + stakeAccountCount: + type: integer + minimum: 0 + title: Stakeaccountcount + type: object + required: + - validatorIdentity + - voteAccount + - timeWindow + - name + - validatorApy + - delegatorApy + - voteCommissionRate + - totalStake + - networkPenetration + title: SolanaValidatorSummary + example: + validatorIdentity: validatorIdentity + voteAccount: voteAccount + timeWindow: 30d + validatorName: validatorName + name: name + validatorApy: 0.05 + delegatorApy: 0.05 + voteCommissionRate: 0.05 + mevCommissionRate: 0.05 + networkPenetration: 0.24 + effectiveness: 0.984 + stakeAccountCount: 100 + SortOrderEnum: + type: string + enum: + - asc + - desc + title: SortOrderEnum + description: An enumeration. + StakeAction: + enum: + - activation + - exit + title: StakeAction + description: An enumeration. + Tag: + properties: + id: + type: string + format: uuid4 + title: Id + name: + type: string + title: Name + network: + $ref: '#/components/schemas/Network' + organizationId: + type: string + format: uuid4 + title: Organizationid + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + updatedAt: + type: string + format: date-time + title: Updatedat + type: object + required: + - id + - name + - network + - organizationId + - createdBy + - createdAt + title: Tag + TagUpdateIn: + properties: + name: + type: string + title: Name + type: object + required: + - name + title: TagUpdateIn + TimeWindow: + type: string + enum: + - 1d + - 7d + - 30d + - all + title: TimeWindow + description: An enumeration. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + ValidatorApr: + properties: + id: + type: integer + minimum: 0 + title: Id + idType: + $ref: '#/components/schemas/IdType' + timeWindow: + $ref: '#/components/schemas/TimeWindow' + aprType: + $ref: '#/components/schemas/AprType' + percentage: + type: number + title: Percentage + percentageConsensus: + type: number + title: Percentageconsensus + percentageExecution: + type: number + title: Percentageexecution + activeStake: + type: number + title: Activestake + activeValidators: + type: integer + minimum: 0 + title: Activevalidators + type: object + required: + - id + - idType + - timeWindow + - aprType + - percentage + - percentageConsensus + - percentageExecution + - activeStake + - activeValidators + title: ValidatorApr + example: + validatorIndex: 1000 + idType: validator + timeWindow: all + aprType: backward + percentage: 5.35 + percentageConsensus: 4.04 + percentageExecution: 1.31 + activeStake: 4823520000000000 + activeValidators: 150735 + ValidatorEffectiveness: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + type: object + required: + - validatorIndex + title: ValidatorEffectiveness + ValidatorEffectivenessAggregation: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorEffectivenessAggregation + ValidatorEffectivenessData: + properties: + hour: + type: integer + minimum: 0 + title: Hour + day: + type: integer + minimum: 0 + title: Day + startDay: + type: integer + minimum: 0 + title: Startday + endDay: + type: integer + minimum: 0 + title: Endday + startEpoch: + type: integer + minimum: 0 + title: Startepoch + endEpoch: + type: integer + minimum: 0 + title: Endepoch + totalAttestations: + type: integer + minimum: 0 + title: Totalattestations + totalUniqueAttestations: + type: integer + minimum: 0 + title: Totaluniqueattestations + sumCorrectHead: + type: integer + minimum: 0 + title: Sumcorrecthead + sumCorrectTarget: + type: integer + minimum: 0 + title: Sumcorrecttarget + avgCorrectness: + type: number + minimum: 0 + title: Avgcorrectness + totalAttestationAssignments: + type: integer + minimum: 0 + title: Totalattestationassignments + avgInclusionDelay: + type: number + minimum: 0 + title: Avginclusiondelay + sumInclusionDelay: + type: number + minimum: 0 + title: Suminclusiondelay + uptime: + type: number + minimum: 0 + title: Uptime + attesterEffectiveness: + type: number + minimum: 0 + title: Attestereffectiveness + proposedCount: + type: integer + minimum: 0 + title: Proposedcount + proposerDutiesCount: + type: integer + minimum: 0 + title: Proposerdutiescount + proposerEffectiveness: + type: number + minimum: 0 + title: Proposereffectiveness + slashesCollected: + type: integer + minimum: 0 + title: Slashescollected + slashesReceived: + type: integer + minimum: 0 + title: Slashesreceived + earnings: + type: integer + title: Earnings + syncSignatureCount: + type: integer + minimum: 0 + title: Syncsignaturecount + validatorEffectiveness: + type: number + minimum: 0 + title: Validatoreffectiveness + estimatedRewards: + type: integer + title: Estimatedrewards + estimatedPenalties: + type: integer + title: Estimatedpenalties + sumPriorityFees: + type: integer + minimum: 0 + title: Sumpriorityfees + sumBaselineMev: + type: integer + title: Sumbaselinemev + sumMissedExecutionRewards: + type: integer + title: Summissedexecutionrewards + sumConsensusBlockRewards: + type: integer + title: Sumconsensusblockrewards + sumMissedConsensusBlockRewards: + type: integer + title: Summissedconsensusblockrewards + sumAllRewards: + type: integer + title: Sumallrewards + sumCorrectSource: + type: integer + minimum: 0 + title: Sumcorrectsource + sumMissedSyncSignatures: + type: integer + minimum: 0 + title: Summissedsyncsignatures + sumSyncCommitteePenalties: + type: number + title: Sumsynccommitteepenalties + sumLateSourceVotes: + type: integer + minimum: 0 + title: Sumlatesourcevotes + sumWrongTargetVotes: + type: integer + minimum: 0 + title: Sumwrongtargetvotes + sumLateTargetVotes: + type: integer + minimum: 0 + title: Sumlatetargetvotes + sumWrongTargetPenalties: + type: number + title: Sumwrongtargetpenalties + sumLateTargetPenalties: + type: number + title: Sumlatetargetpenalties + sumMissedAttestations: + type: integer + minimum: 0 + title: Summissedattestations + sumMissedAttestationPenalties: + type: number + title: Summissedattestationpenalties + sumWrongHeadVotes: + type: integer + minimum: 0 + title: Sumwrongheadvotes + sumWrongHeadPenalties: + type: number + title: Sumwrongheadpenalties + sumAttestationRewards: + type: number + minimum: 0 + title: Sumattestationrewards + sumLateSourcePenalties: + type: number + title: Sumlatesourcepenalties + executionProposedEmptyCount: + type: integer + minimum: 0 + title: Executionproposedemptycount + sumMissedAttestationRewards: + type: number + minimum: 0 + title: Summissedattestationrewards + sumMissedSyncCommitteeRewards: + type: number + minimum: 0 + title: Summissedsynccommitteerewards + sumExternallySourcedExecutionRewards: + type: integer + title: Sumexternallysourcedexecutionrewards + type: object + title: ValidatorEffectivenessData + ValidatorMetadata: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + validatorPubkey: + type: string + title: Validatorpubkey + pool: + type: string + title: Pool + dvtNetwork: + type: string + title: Dvtnetwork + nodeOperators: + items: + type: string + type: array + title: Nodeoperators + depositAddresses: + items: + type: string + type: array + title: Depositaddresses + dvtOperators: + items: + type: string + type: array + title: Dvtoperators + activationEpoch: + type: integer + title: Activationepoch + activationEligibilityEpoch: + type: integer + title: Activationeligibilityepoch + exitEpoch: + type: integer + title: Exitepoch + withdrawableEpoch: + type: integer + title: Withdrawableepoch + withdrawalAddress: + type: string + title: Withdrawaladdress + type: object + required: + - validatorIndex + - validatorPubkey + title: ValidatorMetadata + example: + activationEpoch: 0 + activationEligibilityEpoch: 0 + depositAddresses: + - '0x74134d0c91798d720a5585364bb4be7396c5b973' + dvtOperators: [] + nodeOperators: [] + validatorIndex: 100 + validatorPubkey: >- + 0xb5bc96b70df0dfcc252c9ff0d1b42cb6dc0d55f8defa474dc0a5c7e0402c241e2850fea9c582e276b638b3c2c3a5ec55 + withdrawalAddress: '0xfff1ce616cf83327981bf61396ad0c04e0c8b771' + ValidatorTag: + properties: + validatorPubkey: + type: string + title: Validatorpubkey + tagId: + type: string + format: uuid4 + title: Tagid + tagName: + type: string + title: Tagname + createdBy: + type: string + format: uuid4 + title: Createdby + createdAt: + type: string + format: date-time + title: Createdat + type: object + required: + - validatorPubkey + - tagId + - tagName + - createdBy + - createdAt + title: ValidatorTag + ValidatorTagIn: + properties: + pubkeys: + items: + type: string + type: array + maxItems: 1000 + minItems: 1 + title: Pubkeys + type: object + required: + - pubkeys + title: ValidatorTagIn + WithdrawalType: + enum: + - full + - partial + title: WithdrawalType + description: An enumeration. + WithdrawalsPredicted: + properties: + validatorIndex: + type: integer + minimum: 0 + title: Validatorindex + withdrawalType: + $ref: '#/components/schemas/WithdrawalType' + withdrawableAmount: + type: integer + minimum: 0 + title: Withdrawableamount + id: + type: string + title: Id + idType: + $ref: '#/components/schemas/IdType' + withdrawalSlot: + type: integer + minimum: 0 + title: Withdrawalslot + withdrawalEpoch: + type: integer + minimum: 0 + title: Withdrawalepoch + type: object + required: + - validatorIndex + - withdrawalType + - withdrawableAmount + - id + - idType + - withdrawalSlot + - withdrawalEpoch + title: WithdrawalsPredicted + example: + id: Lido + idType: pool + validatorIndex: 262966 + withdrawableAmount: 1899013868 + withdrawalEpoch: 194148 + withdrawalSlot: 6212758 + withdrawalType: partial + api__schemas__page__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + size: + type: integer + exclusiveMinimum: 0 + title: Size + default: 10 + granularity: + $ref: '#/components/schemas/GranularityEnum' + filterType: + $ref: '#/components/schemas/FilterTypeEnum' + type: object + title: Page + api__schemas__page__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - timeWindow + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + api__schemas__page_polygon__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__polygon__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_polygon__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_polygon__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__page_solana__Page: + properties: + from: + anyOf: + - type: integer + - type: string + format: date + title: From + to: + anyOf: + - type: integer + - type: string + format: date + title: To + granularity: + $ref: '#/components/schemas/networks__solana__granularity__Granularity' + size: + type: integer + exclusiveMinimum: 0 + title: Size + type: object + title: Page + api__schemas__page_solana__PaginatedResponse: + properties: + page: + $ref: '#/components/schemas/api__schemas__page_solana__Page' + total: + type: integer + minimum: 0 + title: Total + data: + items: {} + type: array + title: Data + next: + type: string + title: Next + type: object + required: + - page + - total + - data + title: PaginatedResponse + api__schemas__validator_performance__ValidatorsEffectivenessGroupByEnum: + type: string + enum: + - granularity + - validator + title: ValidatorsEffectivenessGroupByEnum + description: An enumeration. + networks__polygon__granularity__Granularity: + type: string + enum: + - checkpoint + - day + title: Granularity + description: An enumeration. + networks__solana__granularity__Granularity: + enum: + - 3k + - day + - epoch + title: Granularity + description: An enumeration. +servers: + - url: https://api.rated.network diff --git a/sdks/db/intermediate-fixed-specs/realcube/openapi.yaml b/sdks/db/intermediate-fixed-specs/realcube/openapi.yaml new file mode 100644 index 000000000..31c3d941d --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/realcube/openapi.yaml @@ -0,0 +1,37144 @@ +openapi: 3.0.0 +info: + version: 1.0.0 + title: REALCUBE API + description: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). + contact: + name: REALCUBE GmbH + email: uwe.forgber@realcube.com +externalDocs: + description: 'Documentation: Developer Integration Workflow' + url: /api/v1/docs/integration_workflow +security: + - api_key: [] + oauth: + - app_category_read + - app_config_read + - app_config_write + - app_config_destroy + - app_data_repository_read + - app_data_repository_write + - app_data_repository_destroy + - app_subscription_read + - app_subscription_write + - app_subscription_destroy + - app_read + - app_write + - app_destroy + - contract_addition_read + - contract_addition_write + - contract_addition_destroy + - contract_grant_read + - contract_grant_write + - contract_grant_destroy + - contract_membership_cost_read + - contract_membership_cost_write + - contract_membership_cost_destroy + - contract_membership_write + - contract_membership_destroy + - contract_read + - contract_write + - contract_destroy + - cost_type_read + - cost_type_write + - cost_type_destroy + - security_deposit_write + - security_deposit_destroy + - report_account_schema_read + - report_account_schema_write + - report_account_schema_destroy + - report_template_read + - report_template_write + - report_template_destroy + - department_read + - department_write + - department_destroy + - manufacturer_read + - manufacturer_write + - manufacturer_destroy + - room_and_zone_type_read + - room_read + - room_write + - room_destroy + - zone_write + - zone_destroy + - level_read + - level_write + - level_destroy + - facility_read + - facility_write + - facility_destroy + - facility_type_read + - plan_version_write + - plan_version_destroy + - plan_read + - plan_write + - plan_destroy + - plan_config_read + - activity_read + - activity_write + - activity_destroy + - attachment_write + - attachment_destroy + - building_filter_setting_read + - building_filter_setting_write + - building_filter_setting_destroy + - building_save_filter_read + - building_save_filter_write + - building_save_filter_destroy + - building_type_read + - building_unit_membership_write + - building_unit_membership_destroy + - building_unit_type_read + - building_unit_type_write + - building_unit_type_destroy + - building_unit_read + - building_unit_write + - building_unit_destroy + - building_read + - building_write + - building_destroy + - customer_account_config_read + - customer_account_config_write + - customer_account_schema_read + - customer_account_schema_write + - customer_attributes_schema_membership_read + - customer_attributes_schema_membership_write + - customer_attributes_schema_read + - customer_attributes_schema_write + - image_write + - image_destroy + - lot_read + - lot_write + - lot_destroy + - organisation_config_read + - organisation_config_write + - organisation_membership_read + - organisation_membership_write + - organisation_membership_destroy + - organisation_read + - organisation_write + - person_read + - person_write + - person_destroy + - person_membership_write + - person_membership_destroy + - property_read + - property_write + - property_destroy + - property_type_read + - user_write + - user_destroy + - vpi_index_read + - credential_read + - dashboard_config_read + - dashboard_config_write + - dashboard_config_destroy + - time_dependent_attribute_read + - time_dependent_attribute_write + - time_dependent_attribute_destroy + - ep_code_combination_read + - customer_account_write +tags: + - name: users + description: Benutzer + - name: dashboard_configs + description: Dashboard-Konfigurationen + - name: credentials + description: Berechtigungsnachweise + - name: customer_accounts + description: Kundenkonto + - name: customer_account_translations + description: Kundenkontoübersetzungen + - name: customer_account_attribute_groups + description: Kundenkonto-Attributgruppen + - name: customer_account_category_configs + description: Kundenkontokategorie-Konfigurationen + - name: organisations + description: Organisation + - name: organisation_memberships + description: Benutzer Zugehörigkeit zu einer Organisation + - name: organisation_configs + description: Schemakonfiguration zu einer Organisation + - name: plans + description: Pläne + - name: plan_configs + description: Plan-Konfigurationen + - name: plan_versions + description: Plan Versionen + - name: apps + description: Anwendungen + - name: app_categories + description: Anwendungs-Kategorien + - name: app_subscriptions + description: Abonnements für Anwendungen + - name: app_configs + description: Anwendungs-Konfigurationen + - name: app_data_repositories + description: App-Daten-Repository + - name: customer_account_configs + description: Kundenspezifische Konfiguration + - name: customer_attributes_schemas + description: Kundenspezifische Attribute + - name: customer_attributes_schema_memberships + description: Zugehörigkeit der kundenspezifischen Attribute + - name: customer_account_schemas + description: Kundenspezifisches Schema + - name: property_types + description: Liegenschaftstyp + - name: properties + description: Liegenschaft + - name: property_managers + description: Liegenschaft Managers + - name: lots + description: Grundstück + - name: building_types + description: Asset Klasse + - name: building_filter_settings + description: Filtereinstellungen + - name: building_save_filters + description: Filter speichern + - name: buildings + description: Gebäude + - name: building_unit_types + description: Einheit Klasse + - name: building_units_finances + description: Einheit Finanzen + - name: building_units + description: Einheit + - name: building_unit_memberships + description: Zugehörigkeit der Einheit zu Gebäude + - name: people + description: Die Leute + - name: person_memberships + description: Benutzer Zugehörigkeit zu einer Person + - name: contracts + description: Die Verträge + - name: contract_additions + description: Ergänzungen zu einer Contract + - name: contract_grants + description: Zuschüsse zu einer Contract + - name: contract_memberships + description: Benutzer Zugehörigkeit zu einer Contract + - name: contract_membership_costs + description: Mitgliedschaftskosten zu einer Contract Mitgliedschaft + - name: security_deposits + description: Kaution + - name: cost_types + description: Kostenarten + - name: report_templates + description: Die Berichtsvorlagen + - name: report_account_schemas + description: Kontoschema-Bericht + - name: levels + description: Stockwerk + - name: room_and_zone_types + description: Raum- und Flächenart + - name: rooms + description: Raum + - name: zones + description: Fläche + - name: departments + description: Anlagengruppe + - name: manufacturers + description: Hersteller + - name: facility_types + description: Anlagenart + - name: facilities + description: Anlage + - name: activities + description: Vorgänge + - name: activity_types + description: Leistungsarten + - name: attachments + description: Dokumente + - name: images + description: Bilder + - name: time_dependent_attributes + description: Zeitabhängige Attribute + - name: ep_code_combinations + description: EP_code Kombinationen + - name: tenants + description: Mieter + - name: rent_trackers + description: Tracker mieten + - name: roles + description: Rollen + - name: role_policies + description: Rollen Policen + - name: tags + description: Stichworte + - name: platform_configs + description: Plattform Konfigurationen + - name: rent_increase_types + description: Mieterhöhungstypen + - name: rent_increase_indices + description: Mietsteigerungsindizes + - name: task_memberships + description: Task-Mitgliedschaften + - name: task_memberships + description: Task-Mitgliedschaften + - name: rent_increases + description: Mieterhöhungen + - name: emission_factor_settings + description: Emissionsfaktor-Einstellungen +paths: + /v1/platform_configs: + post: + summary: Creates a platform_config within the current organisation + description: Creates a platform_config within the current organisation + tags: + - platform_configs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigCreate' + required: true + responses: + '201': + description: PlatformConfig successfully created + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + get: + summary: Shows the platform_configs + description: Shows the platform_configs + tags: + - platform_configs + responses: + '200': + description: Returns the platform_configs + content: + application/json: + schema: + properties: + platform_configs: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_read + /v1/platform_configs/{platform_config_id}: + put: + summary: Updates an platform_config within the current organisation. + description: >- + Updates an platform_config within the current organisation. Organisation + manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlatformConfigUpdate' + required: true + responses: + '200': + description: PlatformConfig successfully updated + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_write + delete: + summary: Marks a platform_config as deleted within the current organisation. + description: >- + Marks a platform_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - platform_configs + parameters: + - name: platform_config_id + in: path + description: ID of the platform_config you want to delete + required: true + schema: + type: string + responses: + '200': + description: PlatformConfig successfully marked as deleted + content: + application/json: + schema: + properties: + platform_config: + $ref: '#/components/schemas/PlatformConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - platform_config_destroy + /v1/users: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Creates a user. + description: | + # Description + Creates a new user + # Password + Make sure you use a strong password + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + required: true + responses: + '201': + description: Returns the created user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + get: + summary: Returns all users within the given account. + description: >- + Returns all users within the given account. They can be filtered based + on account. + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all users within the given account. + content: + application/json: + schema: + properties: + users: + type: array + items: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_read + /v1/users/log_in: + post: + security: + - api_key: [] + - oauth: + - user_write + summary: Login + description: Authenticates user to get the API key or relevant information. + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserSignIn' + required: true + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/refresh_token: + get: + security: + - api_key: [] + - oauth: + - user_read + summary: Refresh token + description: Reauthenticate user to get the API key or relevant information. + tags: + - users + responses: + '200': + description: Returns user object including the api_token + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserSignedIn' + '401': + description: Invalid email password combination + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/SignInError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/{user_id}: + put: + summary: Updates the user. + description: Updates the user + tags: + - users + parameters: + - name: customer_account_id + in: query + description: The ID customer account + required: false + schema: + type: string + - name: user_id + in: path + description: The ID of the user to update + required: true + schema: + type: integer + - name: reset_password_token + in: query + description: The reset token of the user + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserUpdate' + required: true + responses: + '200': + description: User successfully updated + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_write + delete: + summary: Delete the user. + description: Delete the user + tags: + - users + parameters: + - name: user_id + in: path + description: The ID of the user to delete + required: true + schema: + type: integer + responses: + '200': + description: User successfully deleted + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/log_out: + delete: + summary: Invalidates the current api token + description: Invalidates the current api token + tags: + - users + responses: + '200': + description: Returns the signed out user + content: + application/json: + schema: + properties: + user: + $ref: '#/components/schemas/UserIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - user_destroy + /v1/users/reset_password_instructions: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: >- + Sends reset password instructions to the user's email address (in german + & english). + description: >- + Sends reset password instructions to the user's email address (in german + & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserResetPasswordInstructions' + required: true + responses: + '200': + description: Returns the user with email to which the instructions where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/users/send_invitation: + put: + security: + - api_key: [] + - oauth: + - user_write + summary: Sends invitation to the user's email address (in german & english). + description: Sends invitation to the user's email address (in german & english). + tags: + - users + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserInvitations' + required: true + responses: + '200': + description: Returns the user with email to which the invitation where sent + content: + application/json: + schema: + $ref: '#/components/schemas/UserEmail' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + /v1/roles: + get: + summary: Returns all roles + description: Returns all roles, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all roles + content: + application/json: + schema: + properties: + roles: + type: array + items: + $ref: '#/components/schemas/RoleIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + post: + summary: Creates a Role + description: Creates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleCreate' + required: true + responses: + '201': + description: Role successfully created + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + /v1/roles/{role_id}: + get: + summary: Shows a Role + description: Shows a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_read + put: + summary: Updates a Role + description: Updates a Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleUpdate' + required: true + responses: + '200': + description: Role successfully updated + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_write + delete: + summary: Deletes the Role + description: Deletes the Role, Admin, Supervisor 🔒 + tags: + - roles + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_id + in: path + description: The ID of the Role to delete + required: true + schema: + type: integer + responses: + '200': + description: Role successfully deleted + content: + application/json: + schema: + properties: + Role: + $ref: '#/components/schemas/RoleShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_destroy + /v1/role_policies: + get: + summary: Returns all Role Policies + description: Returns all role_policies , Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: 'Returns all Role Policies ' + content: + application/json: + schema: + properties: + role_policies: + type: array + items: + $ref: '#/components/schemas/RolePolicyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + post: + summary: Creates a Role Policy + description: | + # Description + Creates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyCreate' + required: true + responses: + '201': + description: Role Policy successfully created + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + /v1/role_policies/{role_policy_id}: + get: + summary: Shows a Role Policy + description: Shows a Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the Role Policy + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_read + put: + summary: Updates a Role Policy + description: | + # Description + Updates a Role Policy, Admin, Supervisor 🔒 + Rules format: + { + "resource": "User", + "action": [], + "description": "Something descriptive", + "effect": "allow", + "attributes": ['name'], + "conditions": [[ "id", "eq", 30 ]] + } + # Allowed resource: + App, App::Category, App::CategoryMembership, Attachment, Building, Property, Lot, Building::FilterSetting, Building::SaveFilter, Building::Type, Contract, Contract::Addition, Contract::Grant, CustomerAccount, CustomerAccount::Membership, Facility, Level, Room, Zone, Facility::Type, Image, Organisation, Organisation::Config, Organisation::Membership, Property::Type, ReportTemplate, User + # Allowed conditions format: + [['column name', 'predicate', 'value']] + # Allowed conditions predicates: + not_eq_all, eq, eq_any, eq_all, between, not_in, lteq, gteq, in_any, in_all, not_between, gt, not_in_any, not_in_all, in, gteq_any, gteq_all, gt_any, gt_all, lt_any, lt, lt_all, lteq_any, lteq_all, not_eq, not_eq_any + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RolePolicyUpdate' + required: true + responses: + '200': + description: Role Policy successfully updated + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_write + delete: + summary: Deletes the Role Policy + description: Deletes the Role Policy, Admin, Supervisor 🔒 + tags: + - role_policies + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: role_policy_id + in: path + description: The ID of the Role Policy to delete + required: true + schema: + type: integer + responses: + '200': + description: Role Policy successfully deleted + content: + application/json: + schema: + properties: + role_policy: + $ref: '#/components/schemas/RolePolicyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - role_policy_destroy + /v1/tenants/{boarding_type}: + get: + summary: Shows all tenants + description: Shows all tenants for a specific time range + tags: + - tenants + parameters: + - name: boarding_type + in: path + description: 'The type of boarding: onboarding or offboarding' + required: true + schema: + type: string + enum: + - onboarding + - offboarding + - name: customer_account_id + in: query + description: The id of the customer account + required: true + schema: + type: integer + - name: start_date + in: query + description: The starting date for new tenant + example: '2024-03-29' + schema: + type: string + format: date-time + - name: end_date + in: query + description: The ending date for new tenant + example: '2024-03-30' + schema: + type: string + format: date-time + - name: search_by + in: query + description: Search by object type + schema: + type: string + enum: + - organisation + - property + - building + - building_unit + - name: item_id + in: query + description: Search by object id + schema: + type: integer + responses: + '200': + description: Returns the tenant + content: + application/json: + schema: + properties: + tenant: + $ref: '#/components/schemas/TenantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tenant_read + /v1/customer_account_translations: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_translations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + post: + summary: Creates a customer_account_translation + description: | + # Description + Creates a customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationCreate' + required: true + responses: + '201': + description: CustomerAccountTranslation successfully created + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + /v1/customer_account_translations/{customer_account_translation_id}: + get: + summary: Shows a customer_account_translation + description: Shows a customer_account_translation + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_translation + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_read + put: + summary: Updates an customer_account_translation + description: | + # Description + Updates an customer_account_translation + # Allowed parent_type: + * Building, Building::Unit, Property, Facility, CustomerAccountAttributeGroup, ActivityType, CustomerAccountCategory + # Allowed languages: + * de, en, gsw + # Allowed field: + 1. Building: + * id, name, custom_id, comment, street, street_number, city, province, country, user_id, organisation_id, lot_id, property_id, last_editor_id, created_at, updated_at, building_type_id, zip_code, latitude, longitude, year_of_construction, gross_floor_area_in_sqm_din_277, architect, net_floor_area_in_sqm_din_277, auxiliary_floor_area_in_sqm, deleted_at, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, units_count, customer_account_schema_id, gross_floor_area_in_sqm_GIF, parking_space, old_roof_form, external_id, source_system, gross_floor_area_in_sqm_sia_d_0165, net_floor_area_in_sqm_sia_d_0165, planned_monthly_rent, number_of_floors, last_refurbishment_at, heating_type, main_energy_provider, floors_below_ground, floors_above_ground, stairwells, main_energy_source, parking_garage, protective_area, number_of_lifts, facility_type, institution_type, deso_facility, heating_used_energy, kitchen_type, objectphase, region, last_modernisation, construction_project_category, state_of_renovation, roof_form, number_of_windows, user_intervention_window_number, user_intervention_window_area, fund_name, own_use, listed_building, house_number, address_suffix, energy_certificate_type, stored_energy_validity, accounting_rules_applied, energy_class, year_of_construction_heat_generator, air_conditioning, + 2. Building::Unit: + * id, building_id, name, comment, last_editor_id, organisation_id, created_at, updated_at, tenant, gross_floor_area_in_sqm_din_277, net_floor_area_in_sqm_din_277, building_unit_type_id, user_id, auxiliary_floor_area_in_sqm, social_floor_area_in_sqm, deleted_at, owner, dynamic_attribute_id, customer_attributes_schema_id, customer_attributes, customer_account_schema_id, gross_floor_area_in_sqm_GIF, contract_id, external_id, source_system, net_floor_area_in_sqm_sia_d_0165, gross_floor_area_in_sqm_sia_d_0165, market_rental_price, planned_monthly_rent, planned_operating_cost, planned_total_rent, planned_deposit, number_of_rooms, number_of_bedrooms, number_of_bathrooms, quality_of_available_features, current_condition, description, description_of_features, features, heating_costs_in_operating_costs, contracted_lease_base_rent, contracted_lease_operating_costs, contracted_lease_deposit, floor, group_home, + 3. Property: + * id, name, comment, created_at, updated_at, property_type_id, custom_id, user_id, organisation_id, last_editor_id, zip_code, city, country, deleted_at, external_id, source_system, property_manager_id, + 4. Facility: + * id, name, custom_id, comment, inventory_number, serial_number, year_of_construction, last_inspection_at, last_maintenance_at, next_inspection_at, next_maintenance_at, latitude, longitude, manufacturer_id, department_id, facility_type_id, user_id, last_editor_id, organisation_id, created_at, updated_at, property_id, lot_id, building_id, level_id, room_id, zone_id, type_dependent_attributes, ancestry, deleted_at, manufacturer_type, equipment_collection, quantity, facility_parent, model_type_id, ep_code, external_id, source_system, + 5. ActivityType: + * id, name, user_id, last_editor_id, deleted_at, created_at, updated_at, customer_account_id, + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountTranslationUpdate' + required: true + responses: + '200': + description: CustomerAccountTranslation successfully updated + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_write + delete: + summary: >- + Deletes the customer_account_translation within the current customer + account. + description: >- + Deletes the customer_account_translation within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_translations + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_translation_id + in: path + description: The ID of the customer_account_translation to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountTranslation successfully deleted + content: + application/json: + schema: + properties: + customer_account_translation: + $ref: '#/components/schemas/CustomerAccountTranslationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_translation_destroy + /v1/customer_account_attribute_groups: + get: + summary: >- + Returns all customer_account's translations within the given customer + account + description: >- + Returns all customer_account's translations within the given customer + account + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: search_field + in: query + description: Filter by field + schema: + type: string + responses: + '200': + description: >- + Returns all customer_account' s translations within the given + customer account + content: + application/json: + schema: + properties: + customer_account_attribute_groups: + type: array + items: + $ref: '#/components/schemas/CustomerAccountAttributeGroupIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + post: + summary: Creates a customer_account_attribute_group + description: | + # Description + Creates a customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupCreate' + required: true + responses: + '201': + description: CustomerAccountAttributeGroup successfully created + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + get: + summary: Shows a customer_account_attribute_group + description: Shows a customer_account_attribute_group + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the customer_account_attribute_group + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_read + put: + summary: Updates an customer_account_attribute_group + description: | + # Description + Updates an customer_account_attribute_group + # Allowed parent_type: + * building_unit, building + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountAttributeGroupUpdate' + required: true + responses: + '200': + description: CustomerAccountAttributeGroup successfully updated + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_write + delete: + summary: >- + Deletes the customer_account_attribute_group within the current customer + account. + description: >- + Deletes the customer_account_attribute_group within the current customer + account. Account manager only🔒🔒 + tags: + - customer_account_attribute_groups + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: customer_account_attribute_group_id + in: path + description: The ID of the customer_account_attribute_group to delete + required: true + schema: + type: integer + responses: + '200': + description: CustomerAccountAttributeGroup successfully deleted + content: + application/json: + schema: + properties: + customer_account_attribute_group: + $ref: '#/components/schemas/CustomerAccountAttributeGroupShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_attribute_group_destroy + /v1/ep_code_combinations: + get: + summary: Returns all ep_code_combinations + description: >- + Returns all ep_code_combinations, Organisation manager, building member + 🔒 + tags: + - ep_code_combinations + responses: + '200': + description: Returns all ep_code_combinations + content: + application/json: + schema: + properties: + ep_code_combinations: + $ref: '#/components/schemas/EpCodeCombinationByFacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - ep_code_combination_read + /v1/credentials/me: + get: + summary: Returns user if logged via OAuth + description: | + # Description + Returns user if logged via OAuth + tags: + - credentials + responses: + '200': + description: Returns logged user + content: + application/json: + schema: + properties: + credentials: + type: array + items: + $ref: '#/components/schemas/UserShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_read + /v1/credentials/auth: + post: + summary: Returns EstateOs token + description: | + # Description + Returns EstateOs token if the logged in user has permissions + tags: + - credentials + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns logged user jwt token + content: + application/json: + schema: + properties: + Authorization: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - credential_write + /v1/dashboard_configs: + post: + summary: Creates a dashboard_config within the current organisation + description: Creates a dashboard_config within the current organisation + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigCreate' + required: true + responses: + '201': + description: DashboardConfig successfully created + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + /v1/dashboard_configs/{customer_account_id}: + get: + summary: Shows the dashboard_configs + description: Shows the dashboard_configs + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer_account to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the dashboard_configs + content: + application/json: + schema: + properties: + dashboard_configs: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_read + put: + summary: Updates an dashboard_config within the current organisation. + description: >- + Updates an dashboard_config within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardConfigUpdate' + required: true + responses: + '200': + description: DashboardConfig successfully updated + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_write + delete: + summary: Marks a dashboard_config as deleted within the current organisation. + description: >- + Marks a dashboard_config as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - dashboard_configs + parameters: + - name: customer_account_id + in: path + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: DashboardConfig successfully marked as deleted + content: + application/json: + schema: + properties: + dashboard_config: + $ref: '#/components/schemas/DashboardConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_config_destroy + /v1/dashboards: + get: + summary: Return customer account dashboards + description: Return customer account dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: "value1", key2: "value2" } + schema: + type: string + - name: locale + in: query + description: Locale + required: true + schema: + type: string + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}: + get: + summary: Shows a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + put: + summary: Updates a dashboard + description: | + # Description + Updates a dashboard Dashboard manager🔒 + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardUpdate' + required: true + responses: + '200': + description: Dashboard successfully updated + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/synchronise: + get: + summary: Synchronise dashboards + description: Synchronise dashboards + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/session_expire: + get: + summary: Expire all sessions for the current user + description: Expire all sessions for the current user + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: locale + in: query + description: The locale of the user + required: true + schema: + type: string + enum: + - en + - de + responses: + '200': + description: Return status ok + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/dashboards/{dashboard_id}/copy: + put: + summary: Copy a dashboard on looker + description: > + # Description + + Copy a dashboard on looker on the folder specified for the current + account. + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: dashboard_id + in: path + description: The ID of the dashboard + required: true + schema: + type: integer + responses: + '200': + description: Dashboard successfully copied + content: + application/json: + schema: + properties: + dashboard: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/order: + put: + summary: Order dashboards + description: | + # Description + Order dashboards by providing dashboard ids in array + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardOrderUpdate' + required: true + responses: + '200': + description: Return customer account dashboards + content: + application/json: + schema: + properties: + dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_write + /v1/dashboards/explore: + get: + summary: Return customer account explore with url + description: Return customer account explore with url + tags: + - dashboards + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: filters + in: query + required: false + description: | + Filter dashboard with filters
+ { key1: 'value1', key2: 'value2' } + schema: + type: string + responses: + '200': + description: Returns the explore + content: + application/json: + schema: + properties: + explore: + type: object + properties: + buildings_url: + type: string + units_url: + type: string + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - dashboard_read + /v1/apps: + get: + summary: Returns all apps + description: Returns all apps, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all apps + content: + application/json: + schema: + properties: + apps: + type: array + items: + $ref: '#/components/schemas/AppIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + post: + summary: Creates a app + description: Creates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCreate' + required: true + responses: + '201': + description: App successfully created + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + /v1/apps/{app_id}: + get: + summary: Shows a app + description: Shows a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_read + put: + summary: Updates a app + description: Updates a app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppUpdate' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app + description: Deletes the app, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_id + in: path + description: The ID of the app to delete + required: true + schema: + type: integer + responses: + '200': + description: App successfully deleted + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_categories: + get: + summary: Returns all app's categories + description: Returns all app's categories, Admin, Supervisor 🔒 + tags: + - app_categories + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's categories + content: + application/json: + schema: + properties: + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_category_read + /v1/app_subscriptions: + get: + summary: Returns all app's subscriptions + description: Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all app's subscriptions + content: + application/json: + schema: + properties: + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + post: + summary: Creates an app's subscription. + description: | + # Description + • Creates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscriptionCreate' + required: true + responses: + '201': + description: App's subscription successfully created + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + /v1/app_subscriptions/{app_subscription_id}: + get: + summary: Shows an app's subscription + description: Shows an app's subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's subscription + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_read + put: + summary: Updates a app's subscription + description: | + # Description + • Updates an app's subscription. + • Name of app's subscription can be Free Tier, Premium + • The periodicity can be month, year + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppSubscription' + required: true + responses: + '200': + description: App successfully updated + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_write + delete: + summary: Deletes the subscription + description: Deletes the subscription, Admin, Supervisor 🔒 + tags: + - app_subscriptions + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_subscription_id + in: path + description: The ID of the subscription to delete + required: true + schema: + type: integer + responses: + '200': + description: App's subscription successfully deleted + content: + application/json: + schema: + properties: + app_subscription: + $ref: '#/components/schemas/AppSubscriptionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_subscription_destroy + /v1/app_configs: + get: + summary: Returns all app's configs. + description: Returns all app's configs, Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + responses: + '200': + description: Returns all app's configs + content: + application/json: + schema: + properties: + app_configs: + type: array + items: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + post: + summary: Creates an app's config. + description: Creates an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfigCreate' + required: true + responses: + '201': + description: App's config successfully created + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + /v1/app_configs/{app_config_id}: + get: + summary: Shows an app's config. + description: Shows an app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the app's config + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_read + put: + summary: Updates a app's config. + description: Updates a app's config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppConfig' + required: true + responses: + '200': + description: App config successfully updated + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_write + delete: + summary: Deletes the config. + description: Deletes the config. Admin, Supervisor 🔒 + tags: + - app_configs + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_config_id + in: path + description: The ID of the config to delete + required: true + schema: + type: integer + responses: + '200': + description: App's config successfully deleted + content: + application/json: + schema: + properties: + app_config: + $ref: '#/components/schemas/AppConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_config_destroy + /v1/apps/{app_id}/memberships: + post: + summary: Creates a app membership to category + description: Creates a app membership to category, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app membership to create + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppCategoryMembershipShow' + required: true + responses: + '201': + description: App Category Membership successfully created + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_write + delete: + summary: Deletes the app category membership + description: Deletes the app category membership, Admin, Supervisor 🔒 + tags: + - apps + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_category_membership_id + in: path + description: The ID of the app category membership to delete + required: true + schema: + type: integer + responses: + '200': + description: App category membership successfully deleted + content: + application/json: + schema: + properties: + app_category_membership: + $ref: '#/components/schemas/AppCategoryMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_destroy + /v1/app_data_repositories: + get: + summary: Returns all subscription's data_repositories. + description: Returns all subscription's data_repositories. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: app_subscription_id + in: query + description: The ID of the app_subscription + required: false + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns all app's data_repositories + content: + application/json: + schema: + properties: + app_data_repositories: + type: array + items: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + post: + summary: Creates a app_data_repository + description: Creates a app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryCreate' + required: true + responses: + '201': + description: App's data_repository successfully created + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + /v1/app_data_repositories/latest_version: + get: + summary: Shows an app_data_repository. + description: Shows an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: The Type of the parent + required: false + schema: + type: string + responses: + '200': + description: Returns the app_data_repository + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_read + /v1/app_data_repositories/{app_data_repository_id}: + put: + summary: Updates an app_data_repository + description: Updates an app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppDataRepositoryUpdate' + required: true + responses: + '200': + description: App's data_repository successfully updated + content: + application/json: + schema: + properties: + app: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_write + delete: + summary: Deletes the app_data_repository. + description: Deletes the app_data_repository. Admin, Supervisor 🔒 + tags: + - app_data_repositories + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + - name: app_data_repository_id + in: path + description: The ID of the app_data_repository + required: true + schema: + type: integer + responses: + '200': + description: App's data_repository successfully deleted + content: + application/json: + schema: + properties: + app_data_repository: + $ref: '#/components/schemas/AppDataRepositoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - app_data_repository_destroy + /v1/plans: + get: + summary: Returns all plans within the given building + description: >- + Returns all plans within the given building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + responses: + '200': + description: Returns all plans within the given building + content: + application/json: + schema: + properties: + plans: + type: array + items: + $ref: '#/components/schemas/PlanIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + post: + summary: Creates a plan + description: >- + Creates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanCreate' + required: true + responses: + '201': + description: Plan successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + /v1/plans/{plan_id}: + get: + summary: Shows a plan + description: >- + Shows a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the plan + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_read + put: + summary: Updates a plan + description: >- + Updates a plan, Organisation manager, building member, plan_member, + plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanUpdate' + required: true + responses: + '200': + description: Plan successfully updated + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_write + delete: + summary: Deletes the plan within the current building + description: >- + Deletes the plan within the current building, Organisation manager, + building member, plan_member, plan_manager 🔒 + tags: + - plans + parameters: + - name: building_id + in: query + description: The ID of the building of the plan + required: true + schema: + type: integer + - name: plan_id + in: path + description: The ID of the plan to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan successfully deleted + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_destroy + /v1/plan_configs: + get: + summary: Returns all plan's configs. + description: Returns all plan's configs. Admin, Supervisor 🔒 + tags: + - plan_configs + parameters: + - name: parent_id + in: query + description: The ID of the parent + required: false + schema: + type: integer + - name: parent_type + in: query + description: | + The type of the parent + Allowed parent_types: ["Organisation", "Building", "Building::Unit"] + required: false + schema: + type: string + responses: + '200': + description: Returns all plan's configs + content: + application/json: + schema: + properties: + plan_configs: + type: array + items: + $ref: '#/components/schemas/PlanConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_config_read + /v1/plan_versions: + post: + summary: Creates a plan + description: >- + Creates a plan, organisation_manager, building_member, plan_member, + plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionCreate' + required: true + responses: + '201': + description: Plan Version successfully created + content: + application/json: + schema: + properties: + plan: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + /v1/plan_versions/{id}: + put: + summary: Updates a plan version + description: >- + Updates a plan version, organisation_manager, building_member, + plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the plan version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PlanVersionUpdate' + required: true + responses: + '200': + description: Plan Version successfully updated + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_write + delete: + summary: Deletes the plan version within the current plan + description: >- + Deletes the plan version within the current plan, organisation_manager, + building_member, plan_member, plan_manager 🔒 + tags: + - plan_versions + parameters: + - name: plan_id + in: query + description: The ID of the plan of the version + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the plan version to delete + required: true + schema: + type: integer + responses: + '200': + description: Plan Version successfully deleted + content: + application/json: + schema: + properties: + plan_version: + $ref: '#/components/schemas/PlanVersionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - plan_version_destroy + /v1/organisations: + get: + summary: >- + Returns all organisations the authenticated user is member of including + her membership role within each organisation + description: > + Returns all organisations the authenticated user is member of including + her membership role within each organisation + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account to filter the users. + required: false + schema: + type: string + - name: page + in: query + description: The page to paginate the users. + required: false + schema: + type: string + - name: per_page + in: query + description: The number of users for a page + required: false + schema: + type: string + responses: + '200': + description: Returns all organisations the authenticated user is member of + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_read + post: + summary: Creates a organisation of the user for a customer account + description: | + Creates a organisation of the user for a customer account + tags: + - organisations + parameters: + - name: customer_account_id + in: query + description: The ID customer account of organisation. + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationCreate' + required: true + responses: + '200': + description: Creates an organisation of the user for a customer account + content: + application/json: + schema: + properties: + organisations: + type: array + items: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + /v1/organisations/{organisation_id}: + put: + summary: Updates an organisation. + description: Updates an organisation. Organisation manager only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationUpdate' + required: true + responses: + '200': + description: Organisation successfully updated + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_write + delete: + summary: Deletes the organisation. + description: Deletes the organisation. Admin only 🔒 + tags: + - organisations + parameters: + - name: organisation_id + in: path + description: The ID of the organisation to delete + required: true + schema: + type: integer + responses: + '200': + description: Organisation successfully marked as deleted + content: + application/json: + schema: + properties: + organisation: + $ref: '#/components/schemas/OrganisationShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_destroy + /v1/organisation_configs: + post: + summary: Creates a config in an organisation for a user. + description: >- + Creates a config in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Config successfully created + content: + application/json: + schema: + properties: + organisation_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + /v1/organisation_configs/{organisation_config_id}: + get: + summary: Returns the config for the current organisation of the user. + description: >- + Returns the config for the current organisation of the user. + Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + responses: + '200': + description: Returns all configs within the given organisation + content: + application/json: + schema: + properties: + organisation_configs: + type: array + items: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_read + put: + summary: Update a configs in an organisation for a user. + description: >- + Update a configs in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/OrganisationConfigCreate' + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_write + delete: + summary: Deletes the organisation configs. + description: Deletes the organisation configs. Organisation manager only 🔒 + tags: + - organisation_configs + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: organisation_config_id + in: path + description: ID of the organisation config to delete + required: true + schema: + type: integer + responses: + '200': + description: Config successfully marked as deleted + content: + application/json: + schema: + properties: + organisations_config: + $ref: '#/components/schemas/OrganisationConfig' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_config_destroy + /v1/organisation_memberships: + get: + summary: Returns all memberships within the given organisation. + description: >- + Returns all memberships within the given organisation. Organisation + manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: current_organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: user_id + in: query + description: ID of the user + required: false + schema: + type: integer + responses: + '200': + description: Returns all memberships within the given organisation + content: + application/json: + schema: + properties: + memberships: + type: array + items: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_read + post: + summary: Creates a membership in an organisation for a user. + description: >- + Creates a membership in an organisation for a user. Organisation manager + only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembership' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + /v1/organisation_memberships/{organisations_membership_id}: + put: + summary: Updates the organisation membership. + description: Updates the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + required: true + responses: + '200': + description: Organisation membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationMembershipUpdate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_write + delete: + summary: Deletes the organisation membership. + description: Deletes the organisation membership. Organisation manager only 🔒 + tags: + - organisation_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisations_membership_id + in: path + description: ID of the organisation membership to delete + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + organisation_membership: + $ref: '#/components/schemas/OrganisationMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - organisation_membership_destroy + /v1/customer_accounts/{id}/time_attribute_schema: + put: + summary: Updates a customer_account's time_attribute_schema. + description: >- + Updates a customer account's time_attribute_schema. Account membership + only🔒🔒 + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCreate' + required: true + responses: + '200': + description: Customer account's time_attribute_schema successfully updated + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_write + /v1/customer_accounts: + get: + summary: Gets all user's customer_accounts. + description: Gets all user's customer_accounts. + tags: + - customer_accounts + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_accounts/{id}: + get: + summary: Gets a customer_account. + description: Gets a customer account + tags: + - customer_accounts + parameters: + - name: id + in: path + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Customer account + content: + application/json: + schema: + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_read + /v1/customer_attributes_schemas: + get: + summary: Returns all customer attributes schemas. + description: Returns all customer attributes schemas. Account manager only🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer attributes schemas + content: + application/json: + schema: + properties: + customer_attributes_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + post: + summary: Creates a customer attributes schema. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema. A created customer attributes + schema can not be + + changed afterwards, but in case you use an existing name for the same + attributes type the version field is + + incremented. + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaCreate' + required: true + responses: + '201': + description: Customer attributes schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_write + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + summary: Shows a customer attributes schema. + description: Shows a customer attributes schema. Account manager only🔒🔒 + tags: + - customer_attributes_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_attributes_schema_id + in: path + description: ID of the customer attributes schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_read + /v1/customer_attributes_schema_memberships: + get: + summary: Returns all customer attributes schema memberships. + description: >- + Returns all customer attributes schema memberships. Account manager + only🔒🔒 + tags: + - customer_attributes_schema_memberships + parameters: + - name: organisation_ids + description: IDs of organisations + in: query + required: true + style: form + explode: false + schema: + type: array + items: + type: integer + responses: + '200': + description: Returns all customer attributes schema memberships + content: + application/json: + schema: + properties: + customer_attributes_schema_memberships: + type: array + items: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_read + post: + summary: Creates a customer attributes schema membership. + description: > + # Description + + Account manager only🔒🔒 + + Creates a customer attributes schema membership. For each organisation + it is only possible to have a base + + customer attributes schema and its subsequent versions per attributes + type. + +
+ + Example: + + + + + + + + + + + + + + + + +
Organisation ASchema with name "Schema A", attributes type "building" and version 1
Organisation ASchema with name "Schema A", attributes type "building" and version 2
Organisation ASchema with name "Schema A", attributes type "building_unit" and version 1
+ tags: + - customer_attributes_schema_memberships + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAttributesSchemaMembershipCreate' + required: true + responses: + '201': + description: Customer attributes schema membership successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema_membership: + $ref: >- + #/components/schemas/CustomerAttributesSchemaMembershipShow + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_attributes_schema_membership_write + /v1/customer_account_configs: + get: + summary: Return customer account configuration of customer_account + description: Return customer account configuration of customer_account + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: locale + in: query + description: Locale + required: false + schema: + type: string + responses: + '200': + description: Return customer account configuration of customer_account + content: + application/json: + schema: + properties: + customer_account_configs: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_read + post: + summary: Create customer account configuration. + description: Create customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigCreate' + required: true + responses: + '200': + description: Create customer account configuration + content: + application/json: + schema: + properties: + customer_account_config: + type: array + items: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_configs/{customer_account_config_id}: + put: + summary: Updates a customer account configuration. + description: Updates a customer account configuration. Account manager only🔒 + tags: + - customer_account_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_config_id + in: path + description: The ID of the customer account to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountConfigUpdate' + required: true + responses: + '200': + description: Customer account configuration successfully updated + content: + application/json: + schema: + properties: + customer_account_config: + $ref: '#/components/schemas/CustomerAccountConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_config_write + /v1/customer_account_schemas: + get: + summary: Returns all customer account schemas. + description: Returns all customer account schemas. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all customer account schemas + content: + application/json: + schema: + properties: + customer_account_schemas: + type: array + items: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + post: + summary: Create a customer account schema. + description: Create a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaCreate' + required: true + responses: + '201': + description: Customer account schema successfully created + content: + application/json: + schema: + properties: + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + summary: Shows a customer account schema. + description: Shows a customer account schema. Account manager only🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_read + put: + summary: Update a customer account schema. + description: Update a customer account schema. Account manager only🔒🔒 + tags: + - customer_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_schema_id + in: path + description: ID of the customer account schema to show + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountSchemaUpdate' + required: true + responses: + '200': + description: Returns customer account schema + content: + application/json: + schema: + properties: + customer_account_schema: + $ref: '#/components/schemas/CustomerAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_schema_write + /v1/customer_account_categories: + get: + summary: Return customer account categories of customer_account + description: Return customer account categories of customer_account + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: category_id + in: query + description: Filter customer account categories based on category id + required: false + schema: + type: integer + responses: + '200': + description: Return customer account categories of customer_account + content: + application/json: + schema: + properties: + customer_account_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_read + post: + summary: Creates a customer account category + description: | + # Description + Creates a customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + /v1/customer_account_categories/{customer_account_category_id}: + put: + summary: Update the customer account category + description: Update the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryUpdate' + required: true + responses: + '200': + description: Customer account category successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_write + delete: + summary: Delete the customer account category + description: Delete the customer account category + tags: + - customer_account_categories + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_id + in: path + description: ID of the customer account category you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_destroy + /v1/contracts: + get: + summary: Returns all contracts within the given customer account + description: | + # Description + Returns all contracts within the given customer account + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: false + schema: + type: integer + - name: ids + in: query + description: IDs of the contract + required: false + style: form + explode: false + schema: + type: array + items: + type: integer + - name: building_id + in: query + description: ID of the building related with contract + required: false + schema: + type: integer + - name: unit_id + in: query + description: ID of the unit related with contract + required: false + schema: + type: integer + responses: + '200': + description: Returns all contracts within the given customer account + content: + application/json: + schema: + properties: + contracts: + type: array + items: + $ref: '#/components/schemas/ContractIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + post: + summary: Creates a contract + description: | + # Description + Creates a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractCreate' + required: true + responses: + '201': + description: Contract successfully created + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + /v1/contracts/{contract_id}: + get: + summary: Shows a contract + description: | + # Description + Shows a contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the contract + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_read + put: + summary: Updates an contract + description: | + # Description + Updates an contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractUpdate' + required: true + responses: + '200': + description: Contract successfully updated + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_write + delete: + summary: Deletes the contract + description: Deletes the contract + tags: + - contracts + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_id + in: path + description: The ID of the contract to update + required: true + schema: + type: integer + responses: + '200': + description: Contract successfully deleted + content: + application/json: + schema: + properties: + contract: + $ref: '#/components/schemas/ContractShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_destroy + /v1/contract_memberships/{contract_membership_id}: + delete: + summary: Destroys the contract membership. + description: Destroys the contract membership. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: contract_membership_id + in: path + description: ID of the contract membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_destroy + /v1/contract_memberships: + post: + summary: Creates a membership in contract. + description: Creates a membership in contract. Account manager only🔒 + tags: + - contract_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + contract_membership: + $ref: '#/components/schemas/ContractMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_write + /v1/contract_membership_costs: + get: + summary: Returns all contract membership costs for current contract membership + description: Returns all contract membership costs for current contract membership + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract membership costs + content: + application/json: + schema: + properties: + contract_membership_costs: + type: array + items: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + post: + summary: Create contract membership cost + description: Create contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Create contract membership cost + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + /v1/contract_membership_costs/{contract_membership_cost_id}: + get: + summary: Shows a contract membership cost + description: Shows a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Return contract membership cost + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_read + put: + summary: Update a contract membership cost + description: Update a contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractMembershipCostCreate' + responses: + '200': + description: Contract membership cost successfully updated + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_write + delete: + summary: Delete the contract membership cost + description: Delete the contract membership cost + tags: + - contract_membership_costs + parameters: + - name: contract_membership_id + in: query + description: ID of contract membership + required: true + schema: + type: integer + - name: contract_membership_cost_id + in: path + description: ID of contract membership cost + required: true + schema: + type: integer + responses: + '200': + description: Contract membership cost successfully deleted + content: + application/json: + schema: + properties: + contract_membership_cost: + $ref: '#/components/schemas/ContractMembershipCostShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_membership_cost_destroy + /v1/contract_additions: + get: + summary: Returns all contract additions for current contract + description: Returns all contract additions for current contract + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract additions + content: + application/json: + schema: + properties: + contract_additions: + type: array + items: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + post: + summary: Create contract addition + description: Create contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Create contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + /v1/contract_additions/{contract_addition_id}: + get: + summary: Shows a contract addition + description: Shows a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Return contract addition + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_read + put: + summary: Update a contract addition + description: Update a contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractAdditionCreate' + responses: + '200': + description: Contract addition successfully updated + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAddition' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_write + delete: + summary: Delete the contract addition + description: Delete the contract addition + tags: + - contract_additions + parameters: + - name: contract_id + in: query + description: ID of the contract + required: true + schema: + type: integer + - name: contract_addition_id + in: path + description: ID of the contract addition + required: true + schema: + type: integer + responses: + '200': + description: Contract addition successfully deleted + content: + application/json: + schema: + properties: + contract_addition: + $ref: '#/components/schemas/ContractAdditionShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_addition_destroy + /v1/contract_grants: + get: + summary: Returns all contract grants for current contract + description: Returns all contract grants for current contract + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + responses: + '200': + description: Returns all contract grants + content: + application/json: + schema: + properties: + contract_grants: + type: array + items: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + post: + summary: Create contract grant + description: Create contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Create contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + /v1/contract_grants/{contract_grant_id}: + get: + summary: Shows a contract grant + description: Shows a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Return contract grant + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_read + put: + summary: Update a contract grant + description: Update a contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ContractGrantCreate' + responses: + '200': + description: Contract grant successfully updated + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrant' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_write + delete: + summary: Delete the contract grant + description: Delete the contract grant + tags: + - contract_grants + parameters: + - name: contract_membership_id + in: query + description: ID of the contract membership + required: true + schema: + type: integer + - name: contract_grant_id + in: path + description: ID of the contract grant + required: true + schema: + type: integer + responses: + '200': + description: Contract grant successfully deleted + content: + application/json: + schema: + properties: + contract_grant: + $ref: '#/components/schemas/ContractGrantShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - contract_grant_destroy + /v1/security_deposits: + post: + summary: Creates a security deposit + description: > + # Description + + Creates a security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '201': + description: Security Deposit successfully created + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + /v1/security_deposits/{security_deposit_id}: + put: + summary: Updates an security deposit + description: > + # Description + + Updates an security deposit + + Allowed security_deposit_payment_type: one_time_payment, + paid_in_three_monthly_fees + + Allowed security_deposit_type: cash, bank_transaction, savings_account, + surety + tags: + - security_deposits + parameters: + - name: contract_membership_id + in: query + description: ID of the Contract Membership + required: true + schema: + type: integer + - name: security_deposit_id + in: path + description: The ID of the security deposit to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/SecurityDepositCreate' + responses: + '200': + description: Security Deposit successfully updated + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_write + delete: + summary: Deletes the Security Deposit + description: Deletes the Security Deposit + tags: + - security_deposits + parameters: + - name: security_deposit_id + in: path + description: ID of the Security Deposit + required: true + schema: + type: integer + - name: contract_membership_id + in: query + description: The ID of the contract_membership + required: true + schema: + type: integer + responses: + '200': + description: Security Deposit successfully deleted + content: + application/json: + schema: + properties: + security_deposit: + $ref: '#/components/schemas/SecurityDepositShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - security_deposit_destroy + /v1/cost_types: + get: + summary: Returns all types of costs within the given customer_account + description: Returns all types of costs within the given customer_account + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of costs within the given customer_account + content: + application/json: + schema: + properties: + cost_types: + type: array + items: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + post: + summary: Creates a type of cost + description: | + # Description + Creates a type of cost + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeCreate' + required: true + responses: + '201': + description: Cost type successfully created + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + /v1/cost_types/{id}: + get: + summary: Shows a cost type + description: Shows a cost type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns the cost_type + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_read + put: + summary: Updates an cost_type + description: Updates an cost_type + tags: + - cost_types + parameters: + - name: id + in: path + description: The ID of the cost_type to update + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CostTypeUpdate' + required: true + responses: + '200': + description: Cost type successfully updated + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_write + delete: + summary: Deletes the cost_type + description: Deletes the cost_type + tags: + - cost_types + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: id + in: path + description: The ID of the cost_type to delete + required: true + schema: + type: integer + responses: + '200': + description: Cost type successfully deleted + content: + application/json: + schema: + properties: + cost_type: + $ref: '#/components/schemas/CostTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - cost_type_destroy + /v1/property_types: + get: + summary: Returns all property types currently available + description: Returns all property types currently available + tags: + - property_types + responses: + '200': + description: Returns all property types + content: + application/json: + schema: + properties: + property_types: + type: array + items: + $ref: '#/components/schemas/PropertyType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_type_read + /v1/properties: + get: + summary: >- + Returns all properties for the current organisation within the given + organisation. + description: >- + Returns all properties for the current organisation within the given + organisation. Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the properties to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the properties to show + required: false + schema: + type: string + responses: + '200': + description: >- + Returns all properties for the organisation within the given + organisation + content: + application/json: + schema: + properties: + properties: + type: array + items: + $ref: '#/components/schemas/PropertyIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + post: + summary: Creates a property for the current organisation of the user. + description: >- + Creates a property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyCreate' + required: true + responses: + '201': + description: Property successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + /v1/properties/{property_id}: + get: + summary: Returns the property for the current organisation of the user. + description: >- + Returns the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property + required: true + schema: + type: integer + responses: + '200': + description: Returns the property + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_read + put: + summary: Updates the property for the current organisation of the user. + description: >- + Updates the property for the current organisation of the user. + Organisation manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyUpdate' + required: true + responses: + '200': + description: Property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_write + delete: + summary: Deletes the property within the current organisation. + description: >- + Deletes the property within the current organisation. Organisation + manager only 🔒 + tags: + - properties + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: path + description: ID of the property you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_destroy + /v1/property_managers: + get: + summary: Returns all property managers within the given customer account. + description: >- + Returns all property managers within the given customer account. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all property managers within the given customer account. + content: + application/json: + schema: + properties: + property_managers: + type: array + items: + $ref: '#/components/schemas/PropertyManagerIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + post: + summary: Creates a property manager for the current customer account. + description: >- + Creates a property manager for the current customer account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerCreate' + required: true + responses: + '201': + description: Property Manager successfully created + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + /v1/property_managers/{property_manager_id}: + get: + summary: Returns the property manager for the current account of the user. + description: >- + Returns the property manager for the current account of the user. Admin + and supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager + required: true + schema: + type: integer + responses: + '200': + description: Returns the property manager + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_read + put: + summary: Updates the property manager for the current account of the user. + description: >- + Updates the property manager for the current account of the user. Admin + and Supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerUpdate' + required: true + responses: + '200': + description: Property Manager successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_write + delete: + summary: Deletes the property manager within the current account. + description: >- + Deletes the property manager within the current account. Admin and + supervisor only 🔒 + tags: + - property_managers + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: property_manager_id + in: path + description: ID of the property manager you want to delete + required: true + schema: + type: integer + responses: + '200': + description: Property Manager successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/PropertyManagerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - property_manager_destroy + /v1/lots: + get: + summary: Returns all lots within the given organisation. + description: >- + Returns all lots within the given organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all lots within the given organisation + content: + application/json: + schema: + properties: + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + post: + summary: Creates a lot. + description: Creates a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotCreate' + required: true + responses: + '201': + description: Lot successfully created + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + /v1/lots/{lot_id}: + get: + summary: Shows a lot. + description: Shows a lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the lot + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_read + put: + summary: Updates an lot. + description: Updates an lot. Organisation manager only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LotUpdate' + required: true + responses: + '200': + description: Lot successfully updated + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_write + delete: + summary: Deletes the lot within the current organisation. + description: >- + Deletes the lot within the current organisation. Organisation manager + only 🔒 + tags: + - lots + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: lot_id + in: path + description: The ID of the lot to delete + required: true + schema: + type: integer + responses: + '200': + description: Lot successfully deleted + content: + application/json: + schema: + properties: + lot: + $ref: '#/components/schemas/LotShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - lot_destroy + /v1/building_filter_settings: + get: + summary: Returns all building filter settings currently available + description: Returns all building filter settings currently available + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + post: + summary: Create building filter settings + description: Create building filter settings + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Create building filter settings + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettings' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + /v1/building_filter_settings/filter_setting_fields: + get: + summary: Returns all building and building unit fields. + description: Returns all building and building unit fields. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building and building unit fields + content: + application/json: + schema: + properties: + building_filter_settings: + type: array + items: + $ref: '#/components/schemas/BuildingFilterSettingFields' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + /v1/building_filter_settings/{building_filter_setting_id}: + get: + summary: Shows a building filter setting + description: Shows a building filter setting + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Returns customer attributes schema + content: + application/json: + schema: + properties: + building_filter_setting: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_read + put: + summary: Updates a building filter setting. + description: Updates a building filter setting. Account manager only🔒🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting you want to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/BuildingFilterSettingsCreate' + responses: + '200': + description: Building filter setting successfully updated + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_write + delete: + summary: Deletes the building filter setting within the current customer account. + description: >- + Deletes the building filter setting within the current customer account. + Account manager only🔒 + tags: + - building_filter_settings + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_filter_setting_id + in: path + description: ID of the building filter setting to show + required: true + schema: + type: integer + responses: + '200': + description: Building filter setting successfully deleted + content: + application/json: + schema: + properties: + building_filter_settings: + $ref: '#/components/schemas/BuildingFilterSettingsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_filter_setting_destroy + /v1/building_save_filters: + get: + summary: Returns all save filters for current user + description: Returns all save filters for current user + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all save filters + content: + application/json: + schema: + properties: + building_save_filter: + type: array + items: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + post: + summary: Create building save filter + description: Create building save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Create save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + /v1/building_save_filters/{building_save_filter_id}: + get: + summary: Shows a save filter + description: Shows a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Return save filter + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_read + put: + summary: Update a save filter + description: Update a save filter + tags: + - building_save_filters + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/BuildingSaveFiltersCreate' + responses: + '200': + description: Save filter successfully updated + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFilters' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_write + delete: + summary: Delete the save filter + description: Delete the save filter + tags: + - building_save_filters + parameters: + - name: building_save_filter_id + in: path + description: ID of the save filter + required: true + schema: + type: integer + responses: + '200': + description: Save filter successfully deleted + content: + application/json: + schema: + properties: + building_save_filter: + $ref: '#/components/schemas/BuildingSaveFiltersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_save_filter_destroy + /v1/building_types: + get: + summary: Returns all building types currently available + description: Returns all building types currently available + tags: + - building_types + responses: + '200': + description: Returns all building types + content: + application/json: + schema: + properties: + building_types: + type: array + items: + $ref: '#/components/schemas/BuildingType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_type_read + /v1/buildings: + get: + summary: Returns all buildings within the given organisation + description: > + # Description + + Returns all buildings within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: presets_standard_fields + in: query + description: > + Filter building with standard fields of building and building_units +
+ { + building: { name: ['name_of_building',...], city: ['Berlin', ...]} + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: false + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building with customer_attributes of building and + building_units
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building: { region: 'Südwest|West', ...} + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: false + schema: + type: object + - name: tags + in: query + description: > + Filter building with tag label related to building and + building_units
+ { + building: ['label_of_a_tag',...] + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building with category label related to building and + building_units
+ { + building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } } + building_unit: { building_unit_places: ['Building unit place 1'] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all buildings within the given organisation + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + presets: + $ref: '#/components/schemas/BuildingPresets' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + post: + summary: Creates a building + description: > + # Description + + Creates a building + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingCreate' + required: true + responses: + '201': + description: Building successfully created + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + /v1/buildings/{building_id}: + get: + summary: Shows a building + description: Shows a building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the building + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShowWithFacilities' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + put: + summary: Updates an building + description: > + # Description + + Updates an building + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUpdate' + required: true + responses: + '200': + description: Building successfully updated + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_write + delete: + summary: Deletes the building within the current organisation. + description: >- + Deletes the building within the current organisation. Account manager + only🔒🔒 + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to delete + required: true + schema: + type: integer + responses: + '200': + description: Building successfully deleted + content: + application/json: + schema: + properties: + building: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_destroy + /v1/buildings/{building_id}/scorecard_memberships: + get: + summary: List scorecard memberships by building + description: List scorecard memberships by building + tags: + - buildings + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: path + description: The ID of the building to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_read + /v1/building_unit_types: + get: + summary: >- + Returns all building unit types for that customer account including + default types + description: >- + Returns all building unit types for that customer account including + default types + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all building unit types + content: + application/json: + schema: + properties: + building_unit_types: + type: array + items: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + post: + summary: Create building unit type. + description: Create building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitTypeCreate' + required: true + responses: + '200': + description: Create building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + /v1/building_unit_types/{building_unit_type_id}: + get: + summary: Shows a building unit type + description: Shows a building unit type + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Return building unit type + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_read + put: + summary: Updates a building unit type. + description: Updates a building unit type. Account manager only🔒🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully updated + content: + application/json: + schema: + properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_write + delete: + summary: Deletes building unit type within the current customer account. + description: >- + Deletes building unit type within the current customer account. Account + manager only🔒 + tags: + - building_unit_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: building_unit_type_id + in: path + description: ID of building unit type to show + required: true + schema: + type: integer + responses: + '200': + description: Building unit type successfully deleted + content: + application/json: + schema: + properties: + building_unit_types: + $ref: '#/components/schemas/BuildingUnitType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_type_destroy + /v1/building_units: + get: + summary: Returns all building units within the given organisation + description: > + # Description + + Returns all building units within the given organisation + + ⚠️⚠️ If presets_standard_fields, + presets_customer_attributes, tags or categories + params are provided + + it means filters are activated. + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: query + description: The ID on other systems of the buildings to show + required: false + schema: + type: string + - name: source_system + in: query + description: The name on other systems of the buildings to show + required: false + schema: + type: string + - name: building_ids + in: query + description: The IDs of building + required: false + example: 1,2,3 + schema: + type: string + - name: presets_standard_fields + in: query + description: | + Filter building units with standard fields
+ { + building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] } + } + required: true + schema: + type: object + - name: presets_customer_attributes + in: query + description: > + Filter building units with customer_attributes fields
+ + all attributes can be strings separated by | except array fields + that should be one array with strings + { + building_unit: { unit_type: 'assisted_living_own_woe|living', ... } + } + required: true + schema: + type: object + - name: tags + in: query + description: | + Filter units with tag label
+ { + building_unit: ['label_of_a_tag',...] + } + required: false + schema: + type: object + - name: categories + in: query + description: > + Filter building units with category label related to building_units +
+ { + building: {} + building_unit: { building_unit_places: ["Building unit place label"] } + } + required: false + schema: + type: object + responses: + '200': + description: Returns all building units within the given organisation + content: + application/json: + schema: + properties: + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + post: + summary: Creates a building unit + description: > + # Description + + Creates a building unit + + All global and local attributes that are time dependent will be added to + the time_dependent_attributes table + + Global Time Dependent Attributes: ["planned_monthly_rent"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitCreate' + required: true + responses: + '201': + description: Building unit successfully created + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + /v1/building_units/{building_unit_id}: + get: + summary: Shows a building unit and all memberships of that unit + description: Shows a building unit and all memberships of that unit + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to show + required: true + schema: + type: integer + responses: + '200': + description: Returns building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_read + put: + summary: Updates the building unit + description: > + # Description + + Updates the building unit + + All global and local attributes that are time dependent cannot be + updated directly. + + You need to create time_dependent_attributes. + + Global Time Dependent Attributes: ["quality_of_available_features", + "current_condition", "planned_monthly_rent", "planned_operating_cost", + "planned_total_rent", "planned_deposit", + "heating_costs_in_operating_costs", "quality_of_available_features", + "current_condition"] + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be updated + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitUpdate' + required: true + responses: + '200': + description: Returns the updated building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_write + delete: + summary: Destroys the building unit and all memberships of that unit! + description: Destroys the building unit and all memberships of that unit! + tags: + - building_units + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_id + in: path + description: ID of the building unit to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Returns the destroyed building unit + content: + application/json: + schema: + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnitShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_destroy + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + summary: Destroys the organisation membership + description: Destroys the organisation membership + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_unit_membership_id + in: path + description: ID of the organisation membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_destroy + /v1/building_unit_memberships: + post: + summary: Creates a membership in building unit + description: Creates a membership in building unit + tags: + - building_unit_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + building_unit_membership: + $ref: '#/components/schemas/BuildingUnitMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_membership_write + /v1/building_energies: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building energies of the building + content: + application/json: + schema: + properties: + building_energies: + type: array + items: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_read + post: + summary: Creates a building energy + description: | + # Description + Creates a building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_energy: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/building_energies/{building_energy_id}: + put: + summary: Update building energy + description: Update building energy + tags: + - building_energies + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_energy_id + in: path + description: ID of the building energy to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyUpdate' + required: true + responses: + '200': + description: Building energy successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingEnergyShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_energy_write + /v1/buildings_finances: + get: + summary: Return building finances of the building + description: Return building finances of the building + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building finances of the building + content: + application/json: + schema: + properties: + buildings_finances: + type: array + items: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_read + post: + summary: Creates a building finance + description: | + # Description + Creates a building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + buildings_finance: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/buildings_finances/{buildings_finance_id}: + put: + summary: Update building finance + description: Update building finance + tags: + - buildings_finances + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: buildings_finance_id + in: path + description: ID of the building finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceUpdate' + required: true + responses: + '200': + description: Building finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - buildings_finance_write + /v1/building_units_finances: + post: + summary: Creates a building unit finance + description: | + # Description + Creates a building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_units_finance: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_units_finances/{building_units_finance_id}: + put: + summary: Update building unit finance + description: Update building unit finance + tags: + - building_units_finances + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_units_finance_id + in: path + description: ID of the building unit finance to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceUpdate' + required: true + responses: + '200': + description: Building unit finance successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitsFinanceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_units_finance_write + /v1/building_fms: + get: + summary: Return building fms of the building + description: Return building fms of the building + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building fms of the building + content: + application/json: + schema: + properties: + building_fms: + type: array + items: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_read + post: + summary: Creates a building fm + description: | + # Description + Creates a building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_fm: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_fms/{building_fm_id}: + put: + summary: Update building fm + description: Update building fm + tags: + - building_fms + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_fm_id + in: path + description: ID of the building fm to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmUpdate' + required: true + responses: + '200': + description: Building fm successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFmShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_fm_write + /v1/building_unit_retails: + get: + summary: Return building unit retails of the building + description: Return building unit retails of the building + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit + content: + application/json: + schema: + properties: + building_unit_retails: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_read + post: + summary: Creates a building unit retail + description: | + # Description + Creates a building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailCreate' + required: true + responses: + '201': + description: Building unit retail successfully created + content: + application/json: + schema: + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retails/{building_unit_retail_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retails + parameters: + - name: building_unit_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_retail_id + in: path + description: ID of the building unit retail to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_write + /v1/building_unit_retail_metrics: + get: + summary: Return building unit retails of the building unit retail + description: Return building unit retails of the building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit retails of the building unit retail + content: + application/json: + schema: + properties: + building_unit_retail_metrics: + type: array + items: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_read + post: + summary: Creates a building unit retail metric + description: | + # Description + Creates a building unit retail metric + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricCreate' + required: true + responses: + '201': + description: Building unit retail metric successfully created + content: + application/json: + schema: + properties: + building_unit_retail_metric: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + summary: Update building unit retail + description: Update building unit retail + tags: + - building_unit_retail_metrics + parameters: + - name: building_unit_retail_id + in: query + description: ID of the building unit retail + required: true + schema: + type: integer + - name: building_unit_retail_metric_id + in: path + description: ID of the building unit retail metric to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricUpdate' + required: true + responses: + '200': + description: Building unit retail successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitRetailMetricShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_retail_metric_write + /v1/building_waters: + get: + summary: Return building waters of the building + description: Return building waters of the building + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building waters of the building + content: + application/json: + schema: + properties: + building_waters: + type: array + items: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_read + post: + summary: Creates a building water + description: | + # Description + Creates a building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_water: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/building_waters/{building_water_id}: + put: + summary: Update building water + description: Update building water + tags: + - building_waters + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_water_id + in: path + description: ID of the building water to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterUpdate' + required: true + responses: + '200': + description: Building water successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingWaterShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_water_write + /v1/addtl_building_ids: + get: + summary: Return addtl building ids of the building + description: Return addtl building ids of the building + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return addtl building ids + content: + application/json: + schema: + properties: + addtl_building_ids: + type: array + items: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_read + post: + summary: Creates a addtl building id + description: | + # Description + Creates a addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + addtl_building_id: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + summary: Update addtl building id + description: Update addtl building id + tags: + - addtl_building_ids + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: addtl_building_id_id + in: path + description: ID of the addtl building id to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdUpdate' + required: true + responses: + '200': + description: Addtl building id successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/AddtlBuildingIdShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - addtl_building_id_write + /v1/phases: + get: + summary: Return phases of the building + description: Return phases of the building + tags: + - phases + responses: + '200': + description: Return phases of the building or unit + content: + application/json: + schema: + properties: + phases: + type: array + items: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_read + post: + summary: Creates a phase + description: | + # Description + Creates a phase + tags: + - phases + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseCreate' + required: true + responses: + '201': + description: Phase successfully created + content: + application/json: + schema: + properties: + phase: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/phases/{phase_id}: + put: + summary: Update phase + description: Update phase + tags: + - phases + parameters: + - name: phase_id + in: path + description: ID of the phase to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseUpdate' + required: true + responses: + '200': + description: Building phase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - phase_write + /v1/rent_trackers: + post: + summary: Creates a rent_tracker + description: | + # Description + Creates a rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '201': + description: RentTracker successfully created + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + get: + summary: Return rent_trackers + description: Return rent_trackers + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: organisation_id + in: query + description: ID of the organisation + schema: + type: string + - name: unit_ids + in: query + description: IDs of the units + example: 1,2,3 + schema: + type: string + - name: contract_ids + in: query + description: IDs of the contracts + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return rent_trackers + content: + application/json: + schema: + properties: + rent_trackers: + type: array + items: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + /v1/rent_trackers/{rent_tracker_id}: + get: + summary: Return rent_tracker + description: Return rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker + required: true + schema: + type: string + responses: + '200': + description: Returns rent_tracker + content: + application/json: + schema: + properties: + rent_tracker: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_read + put: + summary: Update rent_tracker + description: Update rent_tracker + tags: + - rent_trackers + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: string + - name: rent_tracker_id + in: path + description: ID of the rent_tracker to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/RentTrackerCreate' + responses: + '200': + description: Building rent_tracker successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_tracker_write + /v1/building_parkings: + get: + summary: Return building parkings of the building + description: Return building parkings of the building + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building parkings of the building + content: + application/json: + schema: + properties: + building_parkings: + type: array + items: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_read + post: + summary: Creates a building parking + description: | + # Description + Creates a building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_parking: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_parkings/{building_parking_id}: + put: + summary: Update building parking + description: Update building parking + tags: + - building_parkings + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_parking_id + in: path + description: ID of the building parking to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingUpdate' + required: true + responses: + '200': + description: Building parking successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingParkingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_parking_write + /v1/building_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building + content: + application/json: + schema: + properties: + building_areas: + type: array + items: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_area: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_areas/{building_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_areas + parameters: + - name: building_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_area_write + /v1/building_unit_areas: + get: + summary: Return building areas of the building + description: Return building areas of the building + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building areas of the building unit + content: + application/json: + schema: + properties: + building_unit_areas: + type: array + items: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_read + post: + summary: Creates a building area + description: | + # Description + Creates a building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_area: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_areas/{building_unit_area_id}: + put: + summary: Update building area + description: Update building area + tags: + - building_unit_areas + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_area_id + in: path + description: ID of the building area to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaUpdate' + required: true + responses: + '200': + description: building area successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitAreaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_area_write + /v1/building_unit_places: + get: + summary: Return building unit places of the unit + description: Return building unit places of the unit + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + responses: + '200': + description: Return building unit places of the unit + content: + application/json: + schema: + properties: + building_unit_places: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_read + post: + summary: Creates a building unit places + description: | + # Description + Creates a building unit places + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceCreate' + required: true + responses: + '201': + description: Customer account category successfully created + content: + application/json: + schema: + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places/{building_unit_place_id}: + put: + summary: Update building unit place + description: Update building unit place + tags: + - building_unit_places + parameters: + - name: building_unit_id + in: query + description: ID of the building unit + required: true + schema: + type: integer + - name: building_unit_place_id + in: path + description: ID of the building unit place to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceUpdate' + required: true + responses: + '200': + description: Building unit place successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlaceShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_place_write + /v1/building_unit_places_timeboxeds: + get: + summary: Return building energies of the building + description: Return building energies of the building + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place timeboxes of the unit + content: + application/json: + schema: + properties: + building_unit_places_timeboxeds: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_read + post: + summary: Creates a building unit place timeboxed + description: | + # Description + Creates a building energy + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building unit place + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedCreate' + required: true + responses: + '201': + description: Building unit place timeboxed successfully created! + content: + application/json: + schema: + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + summary: Update building unit place timeboxed + description: Update building unit place timeboxed + tags: + - building_unit_places_timeboxeds + parameters: + - name: building_unit_place_id + in: query + description: ID of the building + required: true + schema: + type: integer + - name: building_unit_places_timeboxed_id + in: path + description: ID of the building unit place timeboxed to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedUpdate' + required: true + responses: + '200': + description: Building unit place timeboxed successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxedShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_timeboxed_write + /v1/building_unit_places_properties: + get: + summary: Return building unit place properties + description: Return building unit place properties + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit place timeboxed + required: true + schema: + type: integer + responses: + '200': + description: Return building unit place properties of the timeboxed + content: + application/json: + schema: + properties: + building_unit_places_properties: + type: array + items: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_read + post: + summary: Creates a building unit place property + description: | + # Description + Creates a building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the building unit timeboxed + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyCreate' + required: true + responses: + '201': + description: Building unit place property successfully created! + content: + application/json: + schema: + properties: + building_unit_places_property: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + summary: Update building unit place property + description: Update building unit place property + tags: + - building_unit_places_properties + parameters: + - name: building_unit_places_timeboxed_id + in: query + description: ID of the timeboxed + required: true + schema: + type: integer + - name: building_unit_places_property_id + in: path + description: ID of the building unit place property to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertyUpdate' + required: true + responses: + '200': + description: Building unit place property successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingUnitPlacesPropertieshow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - building_unit_places_property_write + /v1/people: + get: + summary: Returns all people within the given organisation. + description: >- + Returns all people within the given organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all people within the given organisation + content: + application/json: + schema: + properties: + people: + type: array + items: + $ref: '#/components/schemas/PersonIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + post: + summary: Creates a person. + description: Creates a person. Organisation manager only 🔒 + tags: + - people + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: false + schema: + type: integer + - name: contact + in: query + description: Boolean check if the person is a contact + required: false + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonCreate' + required: true + responses: + '201': + description: Person successfully created + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + /v1/people/{person_id}: + get: + summary: Shows a person. + description: Shows a person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the person + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_read + put: + summary: Updates an person. + description: Updates an person. Organisation manager only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonUpdate' + required: true + responses: + '200': + description: Person successfully updated + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_write + delete: + summary: Deletes the person within the current organisation. + description: >- + Deletes the person within the current organisation. Organisation manager + only 🔒 + tags: + - people + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_id + in: path + description: The ID of the person to delete + required: true + schema: + type: integer + responses: + '200': + description: Person successfully deleted + content: + application/json: + schema: + properties: + person: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_destroy + /v1/report_templates: + get: + summary: Returns all report template for current customer account + description: Returns all report template for current customer account + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report templates + content: + application/json: + schema: + properties: + report_templates: + type: array + items: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + post: + summary: Create report template. + description: Create report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Create report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + /v1/report_templates/{report_template_id}: + get: + summary: Shows a report template + description: Shows a report template + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Return report template + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_read + put: + summary: Update a report template. + description: Update a report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportTemplateCreate' + responses: + '200': + description: Report template successfully updated + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_write + delete: + summary: Delete the report template. + description: Delete the report template. Customer account users only 🔒 + tags: + - report_templates + parameters: + - name: report_template_id + in: path + description: ID of the report template + required: true + schema: + type: integer + responses: + '200': + description: Report template successfully deleted + content: + application/json: + schema: + properties: + report_template: + $ref: '#/components/schemas/ReportTemplateShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_template_destroy + /v1/report_account_schemas: + get: + summary: Returns all report account schemas for current customer account + description: Returns all report account schemas for current customer account + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + responses: + '200': + description: Returns all report account schemas + content: + application/json: + schema: + properties: + report_account_schemas: + type: array + items: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + post: + summary: Customer account users only 🔒 + description: Create report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Create report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + /v1/report_account_schemas/{report_account_schema_id}: + get: + summary: Shows a report account schema + description: Shows a report account schema + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Return report account schema + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_read + put: + summary: Update a report account schema. + description: Update a report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ReportAccountSchemaCreate' + responses: + '200': + description: Report account schema successfully updated + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_write + delete: + summary: Delete the report account schema. + description: Delete the report account schema. Customer account users only 🔒 + tags: + - report_account_schemas + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: report_account_schema_id + in: path + description: ID of the report account schema + required: true + schema: + type: integer + responses: + '200': + description: Report account schema successfully deleted + content: + application/json: + schema: + properties: + report_account_schema: + $ref: '#/components/schemas/ReportAccountSchemaShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - report_account_schema_destroy + /v1/person_memberships: + get: + summary: 'Returns all person_memberships within the given organisation. ' + description: Returns all person_memberships within the given organisation. + tags: + - person_memberships + parameters: + - name: current_organisation_id + in: query + description: The ID of the current organisation + required: true + schema: + type: integer + - name: member_id + in: query + description: The ID of the member + required: true + schema: + type: integer + - name: member_type + in: query + description: The type of the member + required: true + schema: + type: string + responses: + '200': + description: Returns all person_memberships within the given customer account + content: + application/json: + schema: + properties: + person_memberships: + type: array + items: + $ref: '#/components/schemas/PersonMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_read + post: + summary: Creates a membership in person + description: Creates a membership in person + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonMembershipCreate' + required: true + responses: + '201': + description: Membership successfully created + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_write + /v1/person_memberships/{person_membership_id}: + delete: + summary: Destroys the person membership + description: Destroys the person membership + tags: + - person_memberships + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: person_membership_id + in: path + description: ID of the person membership to be destroyed + required: true + schema: + type: integer + responses: + '200': + description: Membership successfully marked as deleted + content: + application/json: + schema: + properties: + person_membership: + $ref: '#/components/schemas/PersonMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - person_membership_destroy + /v1/levels: + get: + summary: Returns all levels within the given organisation. + description: >- + Returns all levels within the given organisation. Organisation manager + only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: building_id + in: query + description: The ID of the building + required: false + schema: + type: integer + - name: name + in: query + description: The name of the level + required: false + schema: + type: string + responses: + '200': + description: Returns all levels within the given organisation + content: + application/json: + schema: + properties: + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + post: + summary: Creates a level + description: Creates a level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelCreate' + required: true + responses: + '201': + description: Level successfully created + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + /v1/levels/{level_id}: + put: + summary: Updates an level + description: Updates an level + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LevelUpdate' + required: true + responses: + '200': + description: Level successfully updated + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_write + delete: + summary: Deletes the level within the current organisation + description: Deletes the level within the current organisation + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to delete + required: true + schema: + type: integer + responses: + '200': + description: Level successfully deleted + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_destroy + get: + summary: Shows a level. + description: Shows a level. Organisation manager only 🔒 + tags: + - levels + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: level_id + in: path + description: The ID of the level to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the level + content: + application/json: + schema: + properties: + level: + $ref: '#/components/schemas/LevelShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - level_read + /v1/room_and_zone_types: + get: + summary: Returns all room and area types currently available + description: Returns all room and area types currently available + tags: + - room_and_zone_types + responses: + '200': + description: Returns all room and area types + content: + application/json: + schema: + properties: + room_and_zone_types: + type: array + items: + $ref: '#/components/schemas/RoomAndZoneType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_and_zone_type_read + /v1/rooms: + get: + summary: Returns all rooms within the given organisation + description: Returns all rooms within the given organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all rooms within the given organisation + content: + application/json: + schema: + properties: + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + post: + summary: Creates a room + description: Creates a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomCreate' + required: true + responses: + '201': + description: Room successfully created + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + /v1/rooms/{room_id}: + get: + summary: Shows a room + description: Shows a room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the room + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_read + put: + summary: Updates an room + description: Updates an room + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoomUpdate' + required: true + responses: + '200': + description: Room successfully updated + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_write + delete: + summary: Deletes the room within the current organisation + description: Deletes the room within the current organisation + tags: + - rooms + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: room_id + in: path + description: The ID of the room to delete + required: true + schema: + type: integer + responses: + '200': + description: Room successfully deleted + content: + application/json: + schema: + properties: + room: + $ref: '#/components/schemas/RoomShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - room_destroy + /v1/zones: + post: + summary: Creates a zone + description: Creates a zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneCreate' + required: true + responses: + '201': + description: Zone successfully created + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + /v1/zones/{zone_id}: + put: + summary: Updates an zone + description: Updates an zone + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneUpdate' + required: true + responses: + '200': + description: Zone successfully updated + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_write + delete: + summary: Deletes the zone within the current organisation + description: Deletes the zone within the current organisation + tags: + - zones + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: zone_id + in: path + description: The ID of the zone to delete + required: true + schema: + type: integer + responses: + '200': + description: Zone successfully deleted + content: + application/json: + schema: + properties: + zone: + $ref: '#/components/schemas/ZoneShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - zone_destroy + /v1/departments: + get: + summary: Returns all departments within the given organisation + description: Returns all departments within the given organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all departments within the given organisation + content: + application/json: + schema: + properties: + departments: + type: array + items: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_read + post: + summary: Creates a department within the current organisation + description: Creates a department within the current organisation + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentCreate' + required: true + responses: + '201': + description: Department successfully created + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + /v1/departments/{department_id}: + put: + summary: Updates an department within the current organisation. + description: >- + Updates an department within the current organisation. Organisation + manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DepartmentUpdate' + required: true + responses: + '200': + description: Department successfully updated + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_write + delete: + summary: Marks a department as deleted within the current organisation. + description: >- + Marks a department as deleted within the current organisation. + Organisation manager only 🔒 + tags: + - departments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: department_id + in: path + description: The ID of the department to delete + required: true + schema: + type: integer + responses: + '200': + description: Department successfully marked as deleted + content: + application/json: + schema: + properties: + department: + $ref: '#/components/schemas/DepartmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - department_destroy + /v1/manufacturers: + get: + summary: Returns all manufacturers within the given organisation + description: Returns all manufacturers within the given organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns all manufacturers within the given organisation + content: + application/json: + schema: + properties: + manufacturers: + type: array + items: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + summary: Creates a manufacturer within the current organisation + description: Creates a manufacturer within the current organisation + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}: + put: + summary: Updates an manufacturer within the current organisation. + description: >- + Updates an manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ManufacturerUpdate' + required: true + responses: + '200': + description: Manufacturer successfully updated + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + summary: Deletes the manufacturer within the current organisation. + description: >- + Deletes the manufacturer within the current organisation. Organisation + manager only 🔒 + tags: + - manufacturers + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: manufacturer_id + in: path + description: The ID of the manufacturer to delete + required: true + schema: + type: integer + responses: + '200': + description: Manufacturer successfully deleted + content: + application/json: + schema: + properties: + manufacturer: + $ref: '#/components/schemas/ManufacturerShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/manufacturers/{manufacturer_id}/model_types: + get: + description: Returns all types of models within the given manufacturer + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Returns all types of models within the given manufacturer + content: + application/json: + schema: + properties: + model_types: + type: array + items: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_read + post: + description: Creates a model_type + tags: + - manufacturers + parameters: + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeCreate' + required: true + responses: + '201': + description: Manufacturer successfully created + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + put: + description: Updates an model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to update + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModelTypeUpdate' + required: true + responses: + '200': + description: Model type successfully updated + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_write + delete: + description: Deletes the model_type + tags: + - manufacturers + parameters: + - name: id + in: path + description: The ID of the model_type to delete + required: true + schema: + type: integer + - name: manufacturer_id + in: path + description: The ID of the manufacturer + required: true + schema: + type: integer + responses: + '200': + description: Model type successfully deleted + content: + application/json: + schema: + properties: + model_type: + $ref: '#/components/schemas/ModelTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - manufacturer_destroy + /v1/facility_types: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint to show a drop down of all available facility types. + Once a specific facility type is selected you can lazy load the matching + JSON schema via the Facility Types SHOW endpoint. + tags: + - facility_types + responses: + '200': + description: Returns all facility types excluding their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/facility_types_with_schema: + get: + summary: Returns all facility types. + description: > + Returns all facility types. + + Use this endpoint if you implement an own cache mechanism. The facility + types do only change infrequently. + tags: + - facility_types + responses: + '200': + description: Returns all facility types including their schemas + content: + application/json: + schema: + properties: + facility_types: + type: array + items: + $ref: '#/components/schemas/FacilityTypeWithSchema' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facility_types/{facility_type_id}: + get: + summary: Shows a facility type + description: Shows a facility type + tags: + - facility_types + parameters: + - name: facility_type_id + in: path + description: The ID of the facility type to show + required: true + schema: + type: integer + - $ref: '#/components/parameters/current_organisation_id' + responses: + '200': + description: Returns the facility type + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityType' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_type_read + /v1/facilities: + get: + summary: Returns all facilities within the given organisation + description: |+ + # Description + Returns all facilities within the given organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: custom_id + in: query + description: Filter facilities by custom_id + required: false + schema: + type: string + - name: inventory_number + in: query + description: Filter facilities by inventory_number + required: false + schema: + type: string + - name: serial_number + in: query + description: Filter facilities by serial_number + required: false + schema: + type: string + - name: year_of_construction + in: query + description: Filter facilities by year_of_construction + required: false + schema: + type: string + - name: manufacturer_id + in: query + description: Filter facilities by manufacturer_id + required: false + schema: + type: string + - name: department_id + in: query + description: Filter facilities by department_id + required: false + schema: + type: string + - name: facility_type_id + in: query + description: Filter facilities by facility_type_id + required: false + schema: + type: string + - name: property_id + in: query + description: Filter facilities by property_id + required: false + schema: + type: string + - name: lot_id + in: query + description: Filter facilities by lot_id + required: false + schema: + type: string + - name: building_id + in: query + description: Filter facilities by building_id + required: false + schema: + type: string + - name: level_id + in: query + description: Filter facilities by level_id + required: false + schema: + type: string + - name: room_id + in: query + description: Filter facilities by room_id + required: false + schema: + type: string + - name: zone_id + in: query + description: Filter facilities by zone_id + required: false + schema: + type: string + - name: user_id + in: query + description: Filter facilities by user_id + required: false + schema: + type: string + - name: page + in: query + description: page for pagination by default 0 + required: false + schema: + type: number + - name: per_page + in: query + description: number of items per page by default 50 + required: false + schema: + type: number + responses: + '200': + description: Returns all facilities within the given organisation + content: + application/json: + schema: + properties: + facilities: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + post: + summary: Creates a facility + description: |+ + # Description + Creates a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityCreate' + required: true + responses: + '201': + description: Facility successfully created + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + /v1/facilities/{facility_id}: + get: + summary: Shows a facility + description: |+ + # Description + Shows a facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the facility + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_read + put: + summary: Updates an facility + description: |+ + # Description + Updates an facility + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to update + required: true + schema: + type: integer + - name: skip_type_dependent_attribute + in: query + schema: + type: boolean + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FacilityUpdate' + required: true + responses: + '200': + description: Facility successfully updated + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_write + delete: + summary: Deletes the facility within the current organisation + description: |+ + # Description + Deletes the facility within the current organisation + # Permissions + + Client manager: + * Can manage facilities for all possible entities + + Client member: + * Can manage facilities that are in the scope of the permitted buildings + + tags: + - facilities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: facility_id + in: path + description: The ID of the facility to delete + required: true + schema: + type: integer + responses: + '200': + description: Facility successfully deleted + content: + application/json: + schema: + properties: + facility: + $ref: '#/components/schemas/FacilityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - facility_destroy + /v1/activities: + get: + summary: Returns all activities within the given organisation. + description: >- + Returns all activities within the given organisation. They can be + filtered based on property or building + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: property_id + in: query + description: The ID property to filter the activities. + required: false + schema: + type: string + - name: building_id + in: query + description: The ID of building to filter activities + required: false + schema: + type: string + responses: + '200': + description: Returns all activities within the given organisation. + content: + application/json: + schema: + properties: + activities: + type: array + items: + $ref: '#/components/schemas/ActivityIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + post: + summary: Creates an activity + description: >+ + # Description + + Creates an activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityCreate' + required: true + responses: + '201': + description: Activity successfully created + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + /v1/activities/{activity_id}: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: The ID of the activity to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + put: + summary: Update the activity + description: Update the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityUpdate' + required: true + responses: + '200': + description: Activity successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_write + delete: + summary: Delete the activity + description: Delete the activity + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: activity_id + in: path + description: ID of the activity you want to delete + required: true + schema: + type: string + responses: + '200': + description: Activity successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_destroy + /v1/activities/{external_id}/reference: + get: + summary: Shows a activity + description: >+ + # Description + + Shows a activity + + # Permissions + + + Client manager: + + * Can manage activities for all possible entities + + + Client member: + + * Can manage activities for facilities that are in the scope of the + permitted buildings + + tags: + - activities + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: external_id + in: path + description: The External ID of the activity to show + required: true + schema: + type: string + responses: + '200': + description: Returns the activity + content: + application/json: + schema: + properties: + activity: + $ref: '#/components/schemas/ActivityShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_read + /v1/activity_types: + get: + summary: Returns all activity types + description: Returns all activity types, Admin, Supervisor 🔒 + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current account + required: false + schema: + type: integer + responses: + '200': + description: Returns all activity types + content: + application/json: + schema: + properties: + activity_types: + type: array + items: + $ref: '#/components/schemas/ActivityTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + post: + summary: Creates an activity type + description: | + # Description + Creates an activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '201': + description: Activity type successfully created + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + /v1/activity_types/{activity_type_id}: + get: + summary: Shows a activity type + description: | + # Description + Shows a activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Returns the activity type + content: + application/json: + schema: + properties: + activity_type: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_read + put: + summary: Update the activity type + description: Update the activity type + tags: + - activity_types + parameters: + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ActivityTypeCreate' + responses: + '200': + description: Activity type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_write + delete: + summary: Delete the activity type + description: Delete the activity type + tags: + - activity_types + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: false + schema: + type: integer + - name: activity_type_id + in: path + description: The ID of the activity type to show + required: true + schema: + type: integer + responses: + '200': + description: Activity type successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - activity_type_destroy + /v1/attachments: + post: + summary: Creates an attachment + description: >+ + # Description + + Creates an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentCreate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/copy: + post: + summary: Duplicate an attachment + description: >+ + # Description + + Duplicate an attachment + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AttachmentDuplicate' + required: true + responses: + '201': + description: Attachment successfully created + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_write + /v1/attachments/{attachment_id}: + delete: + summary: Marks an attachment as deleted. + description: >+ + # Description + + Marks an attachment as deleted. + + # Permissions + + + Client manager: + + * Can manage attachments for all possible entities + + + Client member: + + * Can not manage attachments for any property + + * Can not manage attachments for any lot + + * Can manage attachments for buildings that are in the scope of the + permitted buildings + + * Can manage attachments for building units that are in the scope of the + permitted buildings + + * Can manage attachments for levels that are in the scope of the + permitted buildings + + * Can manage attachments for rooms that are in the scope of the + permitted buildings + + * Can manage attachments for zones that are in the scope of the + permitted buildings + + * Can manage attachments for facilities that are in the scope of the + permitted buildings + + * Can manage attachments for activities that are in the scope of the + permitted buildings + + tags: + - attachments + parameters: + - $ref: '#/components/parameters/current_organisation_id' + - name: attachment_id + in: path + description: The ID of the attachment to delete + required: true + schema: + type: integer + responses: + '200': + description: Attachment successfully marked as deleted + content: + application/json: + schema: + properties: + attachment: + $ref: '#/components/schemas/AttachmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - attachment_destroy + /v1/images: + post: + summary: Creates an image + description: >+ + # Description + + Creates an image + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageCreate' + required: true + responses: + '201': + description: Image successfully created + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + /v1/images/{image_id}: + put: + summary: Updates an image. + description: >+ + # Description + + Updates an image. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ImageUpdate' + required: true + responses: + '200': + description: Image successfully updated + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_write + delete: + summary: Marks an image as deleted. + description: >+ + # Description + + Marks an image as deleted. + + # Permissions + + + Client manager: + + * Can manage images for all possible entities + + + Client member: + + * Can not manage images for any property + + * Can not manage images for any lot + + * Can manage images for buildings that are in the scope of the permitted + buildings + + * Can manage images for building units that are in the scope of the + permitted buildings + + * Can manage images for levels that are in the scope of the permitted + buildings + + * Can manage images for rooms that are in the scope of the permitted + buildings + + * Can manage images for zones that are in the scope of the permitted + buildings + + * Can manage images for facilities that are in the scope of the + permitted buildings + + * Can manage images for her own user, but not for other users + + tags: + - images + parameters: + - name: current_organisation_id + in: query + required: false + schema: + type: integer + - name: image_id + in: path + description: The ID of the image to delete + required: true + schema: + type: integer + responses: + '200': + description: Image successfully marked as deleted + content: + application/json: + schema: + properties: + image: + $ref: '#/components/schemas/ImageShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - image_destroy + /v1/time_dependent_attributes: + get: + summary: Returns all time_dependent_attributes within the given parent + description: Returns all time_dependent_attributes within the given parent + tags: + - time_dependent_attributes + parameters: + - name: id + in: query + description: Filter time_dependent_attributes by id. + required: false + schema: + type: string + - name: parent_id + in: query + description: Filter time_dependent_attributes by parent_id. + required: false + schema: + type: string + - name: parent_type + in: query + description: | + Filter time_dependent_attributes by parent_type. + Allowed parent_types: Building, Building::Unit + required: false + schema: + type: string + - name: attribute_key + in: query + description: Filter time_dependent_attributes by attribute_key. + required: false + schema: + type: string + responses: + '200': + description: Returns all time_dependent_attributes within the given parent + content: + application/json: + schema: + properties: + time_dependent_attributes: + type: array + items: + $ref: '#/components/schemas/TimeDependentAttributeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_read + post: + summary: Creates a time_dependent_attribute + description: | + # Description + Creates a time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeCreate' + required: true + responses: + '201': + description: TimeDependentAttribute successfully created + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + put: + summary: Updates an time_dependent_attribute + description: | + # Description + Updates an time_dependent_attribute + Allowed parent_types: Building, Building::Unit + Allowed attribute_types: ["individual", "global"] + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TimeDependentAttributeUpdate' + required: true + responses: + '200': + description: TimeDependentAttribute successfully updated + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_write + delete: + summary: Deletes the specified time_dependent_attribute + description: Deletes the specified time_dependent_attribute + tags: + - time_dependent_attributes + parameters: + - name: time_dependent_attribute_id + in: path + description: The ID of the time_dependent_attribute to delete + required: true + schema: + type: integer + responses: + '200': + description: TimeDependentAttribute successfully deleted + content: + application/json: + schema: + properties: + time_dependent_attribute: + $ref: '#/components/schemas/TimeDependentAttributeShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - time_dependent_attribute_destroy + /v1/webhooks: + get: + summary: Returns all webhooks + description: Returns all webhooks within the given customer account. + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all webhooks within the organisation + content: + application/json: + schema: + properties: + webhooks: + type: array + items: + $ref: '#/components/schemas/WebhookIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + post: + summary: Creates a webhook + description: | + # Description + Creates a new webhook + # URL + The url where the payload will be sent + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + # Modes + testing = 0 , live = 1 + # Organisation IDs + Leaving it empy will send the event to all of the customer account organisations + # Secret + This secret is used to encrypt checksum + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreate' + required: true + responses: + '201': + description: Webhook successfully created + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + /v1/webhooks/{webhook_id}: + get: + summary: Shows a webhook + description: Shows a webhook, Organisation manager 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the webhook + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_read + put: + summary: Updates a webhook + description: | + # Description + Updates a webhook, Organisation manager 🔒 + # Allowed events: + building.create
building.update
building.delete
unit.create
unit.update
unit.delete
contract.create
contract.update
contract.delete
property.create
property.update
property.delete + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: >- + The ID of the webhook (only shows the webhooks based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookUpdate' + required: true + responses: + '200': + description: Webhook successfully updated + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/WebhookShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_write + delete: + summary: Deletes the webhook within the current organisation. + description: >- + Deletes the webhook within the current organisation. Organisation + manager only 🔒 + tags: + - webhooks + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: webhook_id + in: path + description: The ID of the webhook to delete + required: true + schema: + type: integer + responses: + '200': + description: Webhook successfully deleted + content: + application/json: + schema: + properties: + webhook: + $ref: '#/components/schemas/PersonShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - webhook_destroy + /v1/tags: + get: + summary: Returns all tags within the given customer account. + description: >- + Returns all tags within the given customer account. It also returns the + count of buildings and units + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: label + in: query + description: Search for the label + required: false + schema: + type: string + responses: + '200': + description: Returns all tags within the given customer account + content: + application/json: + schema: + properties: + tags: + type: array + items: + $ref: '#/components/schemas/TagIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_read + post: + summary: Creates a tag + description: | + # Description + Creates a tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagCreate' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/{tag_id}: + put: + summary: Update the tag + description: Update the tag + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: ID of the tag you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagUpdate' + required: true + responses: + '200': + description: Tag successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + delete: + summary: Marks a tag as deleted. + description: | + # Description + Marks a tag as deleted. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current customer account + required: true + schema: + type: integer + - name: tag_id + in: path + description: The ID of the tag to delete + required: true + schema: + type: integer + responses: + '200': + description: Tag successfully marked as deleted + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_destroy + /v1/tags/merge: + post: + summary: Merges master tags with other tags + description: | + # Description + Master tag is the main tag that get all other tags building or units + Other tags after the merge will be deleted + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: The ID of the current_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagsMergeBody' + required: true + responses: + '201': + description: Tag successfully created + content: + application/json: + schema: + properties: + tag: + $ref: '#/components/schemas/TagShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/tags/assign_buildings: + put: + summary: Assign multiple tags to multiple buildings + description: > + # Description + + Assign multiple tags to multiple buildings + + ATTENTION ⚠️ This will NOT delete previously assigned tags to those + buildings + + If you see more tags they probably are assigned from building + create/update endpoint. + tags: + - tags + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TagAssignBuildings' + required: true + responses: + '200': + description: Tags assigned successfully + content: + application/json: + schema: + properties: + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - tag_write + /v1/imports: + get: + summary: Return all imports + description: Return all imports + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: is_demo + in: query + description: Filter by is_demo + required: false + schema: + type: boolean + - name: location_type + in: query + description: Filter the imports by type + required: false + schema: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + responses: + '200': + description: Return all imports for the specific customer account + content: + application/json: + schema: + properties: + csv_imports: + type: array + items: + $ref: '#/components/schemas/CsvImportIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + post: + summary: Creates a import by file + description: | + # Description + Creates a new import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: organisation_id + in: query + description: ID of the organisation + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportCreate' + required: true + responses: + '201': + description: Csv imported successfully! + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShowCreate' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/imports/{import_id}: + get: + summary: Shows information for specific import + description: Shows information for an import. + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the csv import + required: true + schema: + type: integer + responses: + '200': + description: Return an import + content: + application/json: + schema: + properties: + csv_import: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_read + put: + summary: Update the import + description: Update the import + tags: + - csv_imports + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: import_id + in: path + description: ID of the import you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportUpdate' + required: true + responses: + '200': + description: Import successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CsvImportShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - import_write + /v1/scorecards: + get: + summary: Returns all scorecards + description: Returns all scorecards within the given customer account. + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Returns all scorecards within the customer account + content: + application/json: + schema: + properties: + scorecards: + type: array + items: + $ref: '#/components/schemas/ScorecardIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + post: + summary: Creates a scorecard + description: > + # Description + + Creates a new scorecard. This only creates a new scorecard. The score + calculation + + is triggered when the scorecard is assigned to a building. Check + scorecard_memberships + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardCreate' + required: true + responses: + '201': + description: Scorecard successfully created + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + /v1/scorecards/{scorecard_id}: + get: + summary: Shows a scorecard + description: Shows a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_read + put: + summary: Updates a scorecard + description: | + # Description + Updates a scorecard, Organisation manager 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: >- + The ID of the scorecard (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardUpdate' + required: true + responses: + '200': + description: Scorecard successfully updated + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_write + delete: + summary: Deletes the scorecard within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecards + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: path + description: The ID of the scorecard to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard successfully deleted + content: + application/json: + schema: + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_destroy + /v1/scorecard_segments: + post: + summary: Creates a scorecard segment + description: | + # Description + Creates a new scorecard segment + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentCreate' + required: true + responses: + '201': + description: Scorecard segment successfully created + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + /v1/scorecard_segments/{scorecard_segment_id}: + put: + summary: Updates a scorecard segment + description: | + # Description + Updates a scorecard segment, Account manager 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: >- + The ID of the scorecard segment (only shows the scorecards based on + current_organisation_id) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSegmentUpdate' + required: true + responses: + '200': + description: Scorecard segment successfully updated + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_write + delete: + summary: Deletes the scorecard segment within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_segments + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_segment_id + in: path + description: The ID of the scorecard segment to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard segment successfully deleted + content: + application/json: + schema: + properties: + scorecard_segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_segment_destroy + /v1/scorecard_topics: + post: + summary: Creates a scorecard topic + description: | + # Description + Creates a new scorecard topic + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicCreate' + required: true + responses: + '201': + description: Scorecard topic successfully created + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + /v1/scorecard_topics/{scorecard_topic_id}: + put: + summary: Updates a scorecard topic + description: | + # Description + Updates a scorecard topic, Account manager 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: >- + The ID of the scorecard topic (only shows the topic based on current + account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardTopicUpdate' + required: true + responses: + '200': + description: scorecard topic successfully updated + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_write + delete: + summary: Deletes the scorecard topic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_topics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_topic_id + in: path + description: The ID of the scorecard topic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard topic successfully deleted + content: + application/json: + schema: + properties: + scorecard_topic: + $ref: '#/components/schemas/ScorecardTopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_topic_destroy + /v1/scorecard_subtopics: + post: + summary: Creates a scorecard subtopic + description: | + # Description + Creates a new scorecard subtopic + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicCreate' + required: true + responses: + '201': + description: Scorecard subtopic successfully created + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + put: + summary: Updates a scorecard subtopic + description: | + # Description + Updates a scorecard subtopic, Account manager 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: >- + The ID of the scorecard subtopic (only shows the subtopic based on + current account) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardSubtopicUpdate' + required: true + responses: + '200': + description: scorecard subtopic successfully updated + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_write + delete: + summary: Deletes the scorecard subtopic within the current segment. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_subtopics + parameters: + - name: customer_account_id + in: query + description: The ID of the customer account + required: true + schema: + type: integer + - name: scorecard_subtopic_id + in: path + description: The ID of the scorecard subtopic to delete + required: true + schema: + type: integer + responses: + '201': + description: scorecard subtopic successfully deleted + content: + application/json: + schema: + properties: + scorecard_subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_subtopic_destroy + /v1/scorecard_memberships/de_assign: + post: + summary: De-assigns scorecard memberships from scorecard + description: | + # Description + De-assigns scorecard memberships from scorecard + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipDeAssign' + required: true + responses: + '201': + description: Scorecard membership de-assigned successfully + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships: + get: + summary: 'Returns all scorecard memberships within the given account. ' + description: Returns all scorecard memberships within the given account. + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter memberships + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard_memberships within the given customer account + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + post: + summary: Creates a scorecard membership + description: | + # Description + Creates a new scorecard membership + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCreate' + required: true + responses: + '201': + description: Scorecard membership successfully created + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/{scorecard_membership_id}: + get: + summary: Shows a scorecard membership + description: Shows a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + delete: + summary: Deletes the scorecard membership within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: The ID of the scorecard membership to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard membership successfully deleted + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_destroy + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + summary: Refresh a scorecard membership + description: Refresh a scorecard membership, Customer account manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_membership_id + in: path + description: >- + The ID of the scorecard membership (only shows the scorecards based + on current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard membership + content: + application/json: + schema: + properties: + scorecard_membership: + $ref: '#/components/schemas/ScorecardMembershipsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_read + /v1/scorecard_memberships/refresh_by_scorecard: + post: + summary: Refresh scores for specific scorecard/s + description: Refresh scores for specific scorecard/s + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByScorecard' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/refresh_all_by_parent: + post: + summary: Refresh all scorecards by parent + description: Refresh all scorecards by parent + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefreshByParent' + required: true + responses: + '200': + description: Returns all refreshed memberships + content: + application/json: + schema: + properties: + scorecard_memberships: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipsIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/calculated_costs: + post: + summary: Calculated costs of scorecard memberships + description: >- + Return calculated costs of scorecard memberships, Customer account + manager 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + calculated_costs: + type: array + items: + $ref: '#/components/schemas/ScorecardMembershipCostResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_memberships/count_buildings: + post: + summary: Get number of buildings by providing scorecard ids + description: >- + Get number of buildings by providing scorecard ids, Customer account + manager only 🔒 + tags: + - scorecard_memberships + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/ScorecardMembershipCost' + responses: + '200': + description: Returns status ok + content: + application/json: + schema: + properties: + scorecard_membership: + type: array + items: + $ref: '#/components/schemas/CountBuildingsResponse' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_membership_write + /v1/scorecard_assigners: + get: + summary: 'Returns all scorecard assigners within the given account. ' + description: Returns all scorecard assigners within the given account. + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_id + in: query + description: The ID on other scorecard to filter assigners + required: false + schema: + type: string + responses: + '200': + description: Returns all scorecard assigners within the given customer account + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + post: + summary: Creates a scorecard assigner + description: | + # Description + Creates a new scorecard assigner + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardAssignerCreate' + required: true + responses: + '201': + description: Scorecard assigner successfully created + content: + application/json: + schema: + properties: + scorecard_assigners: + type: array + items: + $ref: '#/components/schemas/ScorecardAssignersIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_write + /v1/scorecard_assigners/{scorecard_assigner_id}: + get: + summary: Shows a scorecard assigner + description: Shows a scorecard assigner, Customer account manager 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: >- + The ID of the scorecard assigner (only shows the scorecards based on + current account) + required: true + schema: + type: integer + responses: + '200': + description: Returns the scorecard assigner + content: + application/json: + schema: + properties: + scorecard_assigners: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_read + delete: + summary: Deletes the scorecard assigner within the current account. + description: >- + Deletes the scorecard within the current account. Customer account + manager only 🔒 + tags: + - scorecard_assigners + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: scorecard_assigner_id + in: path + description: The ID of the scorecard assigner to delete + required: true + schema: + type: integer + responses: + '201': + description: Scorecard assigner successfully deleted + content: + application/json: + schema: + properties: + scorecard_assigner: + $ref: '#/components/schemas/ScorecardAssignersShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - scorecard_assigner_destroy + /v1/data_catalogs: + get: + summary: Returns all data catalogs + description: Returns all data catalogs within the given customer account. + tags: + - data_catalogs + parameters: + - name: locale + in: query + description: The locale for filtering the data catalogs. + required: false + schema: + type: string + enum: + - en + - de + - name: app_ids + in: path + description: The ids of the apps for filtering the data catalogs. + required: true + schema: + type: string + responses: + '200': + description: Returns all data catalogs within the app + content: + application/json: + schema: + properties: + data_catalog: + type: array + items: + $ref: '#/components/schemas/DataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + post: + summary: Creates a data catalog + description: | + # Description + Creates a new catalog + tags: + - data_catalogs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogCreate' + required: true + responses: + '201': + description: data_catalog successfully created + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + /v1/data_catalogs/{data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the data_catalogs based on + current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_read + put: + summary: Updates a data_catalog + description: | + # Description + Updates a data_catalog, Organisation manager 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog (only shows the data catalog) + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataCatalogUpdate' + required: true + responses: + '200': + description: Data catalog successfully updated + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_write + delete: + summary: Deletes the data catalog within the current app. + description: >- + Deletes the data_catalog within the current account. Customer account + manager only 🔒 + tags: + - data_catalogs + parameters: + - name: data_catalog_id + in: path + description: The ID of the data catalog to delete + required: true + schema: + type: integer + responses: + '200': + description: Data catalog successfully deleted + content: + application/json: + schema: + properties: + DataCatalog: + $ref: '#/components/schemas/data_catalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - data_catalog_destroy + /v1/raw_data_catalogs: + get: + summary: Returns all raw data catalogs + description: Returns all raw data catalogs within the given customer account. + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: limit + in: query + description: >- + Limit the number of results to return, if null then return all + results + required: false + schema: + type: integer + - name: order_by + in: query + description: >- + The ordering of the results returned, if null then will return not + ordered results. + Possible columns: app_id, status, version, + Possible order: asc, desc + required: false + example: app_id.desc, status.desc, version.desc + schema: + type: string + responses: + '200': + description: Returns all raw data catalogs within the app + content: + application/json: + schema: + properties: + raw_data_catalog: + type: array + items: + $ref: '#/components/schemas/RawDataCatalogIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + summary: Shows a data catalog + description: Shows a data_catalog, Customer account manager 🔒 + tags: + - raw_data_catalogs + parameters: + - name: customer_account_id + in: query + description: The ID of the customer_account + required: true + schema: + type: integer + - name: raw_data_catalog_id + in: path + description: >- + The ID of the data_catalog (only shows the raw_data_catalogs based + on current_organisation_id) + required: true + schema: + type: integer + responses: + '200': + description: Returns the data catalog + content: + application/json: + schema: + properties: + RawDataCatalog: + $ref: '#/components/schemas/RawDataCatalogsShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - raw_data_catalog_read + /v1/rent_increase_types: + post: + summary: Creates a rent_increase_type (Admin only) + description: | + # Description + Creates a rent_increase_type + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '201': + description: RentIncreaseType successfully created + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + get: + summary: Return rent_increase_types + description: Return rent_increase_types + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent_increase_types + content: + application/json: + schema: + properties: + rent_increase_types: + type: array + items: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + /v1/rent_increase_types/{rent_increase_type_id}: + get: + summary: Return rent_increase_type + description: Return rent_increase_type + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_type + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_read + put: + summary: Update rent_increase_type + description: | + # Description + Update rent_increase_type (Admin only) + Category: 1 for indexed and 2 for graduated. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: path + description: ID of the rent_increase_type to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseType' + responses: + '200': + description: Building rent_increase_type successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_write + delete: + summary: Delete a rent_increase_type (Admin only) + description: | + # Description + Delete a rent_increase_type. + tags: + - rent_increase_types + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_type_id + in: path + description: The ID of the rent_increase_type to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_type successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseTypeIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_type_destroy + /v1/rent_increase_indices: + post: + summary: Creates a rent_increase_index (Admin only) + description: | + # Description + Creates a rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '201': + description: RentIncreaseIndex successfully created + content: + application/json: + schema: + properties: + rent_increase_indices: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + get: + summary: Return rent_increase_indices + description: Return rent_increase_indices + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_type_id + in: query + description: ID of the rent_increase_type + schema: + type: integer + - name: date + in: query + description: Date of the rent_increase_index + schema: + type: string + format: date + - name: subtype + in: query + description: Subtype (building_type) of the rent_increase + schema: + type: string + responses: + '200': + description: Return rent_increase_indices + content: + application/json: + schema: + properties: + rent_increase_indices: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + /v1/rent_increase_indices/{rent_increase_index_id}: + get: + summary: Return rent_increase_index + description: Return rent_increase_index + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index + required: true + schema: + type: integer + responses: + '200': + description: Returns rent_increase_index + content: + application/json: + schema: + properties: + rent_increase_index: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_read + put: + summary: Update rent_increase_index + description: | + # Description + Update rent_increase_index (Admin only) + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: ID of the rent_increase_index to update + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/RentIncreaseIndices' + responses: + '200': + description: Building rent_increase_index successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_write + delete: + summary: Delete a rent_increase_index (Admin only) + description: | + # Description + Delete a rent_increase_index. + tags: + - rent_increase_indices + parameters: + - name: customer_account_id + in: query + required: true + schema: + type: integer + - name: rent_increase_index_id + in: path + description: The ID of the rent_increase_index to delete + required: true + schema: + type: integer + responses: + '200': + description: rent_increase_index successfully deleted + content: + application/json: + schema: + properties: + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseIndicesIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_index_destroy + /v1/task_memberships: + post: + summary: Creates a task_membership + description: | + # Description + Creates a task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '201': + description: TaskMembership successfully created + content: + application/json: + schema: + properties: + task_membership: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + get: + summary: Return task_memberships + description: Return task_memberships + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_ids + in: query + description: IDs of the tasks + example: 1,2,3 + schema: + type: string + responses: + '200': + description: Return task_memberships + content: + application/json: + schema: + properties: + task_memberships: + type: array + items: + $ref: '#/components/schemas/TaskMembershipIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_read + /v1/task_memberships/{task_membership_id}: + delete: + summary: Delete the task_membership + description: Delete the task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership you want to delete + required: true + schema: + type: string + responses: + '200': + description: TaskMembership successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_destroy + put: + summary: Update task_membership + description: Update task_membership + tags: + - task_memberships + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: task_membership_id + in: path + description: ID of the task_membership to update + required: true + schema: + type: string + requestBody: + $ref: '#/components/requestBodies/TaskMembership' + responses: + '200': + description: Building task_membership successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembershipShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - task_membership_write + /v1/rent_increases: + post: + summary: Creates a rent's increase (Admin only) + description: | + # Description + Creates a rent's increase + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseCreate' + required: true + responses: + '201': + description: RentIncrease successfully created + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + get: + summary: Return rent's increases + description: Return rent's increases + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + responses: + '200': + description: Return rent's increases + content: + application/json: + schema: + properties: + rent_increases: + type: array + items: + $ref: '#/components/schemas/RentIncreaseIndex' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + /v1/rent_increases/{rent_increase_id}/apply: + put: + summary: Apply rent' increase + description: | + # Description + Apply rent_increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + - name: apply + in: query + required: true + schema: + type: boolean + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + /v1/rent_increases/{rent_increase_id}: + get: + summary: Return rent's increase + description: Return rent's increase + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase + required: true + schema: + type: integer + responses: + '200': + description: Returns rent' increase + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_read + put: + summary: Update rent' increase + description: | + # Description + Update rent_increase (Admin only) + Status: pending: 1, confirmed: 2, canceled: 3, confirmation_needed: 4 + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + description: ID of the customer_account + required: true + schema: + type: integer + - name: rent_increase_id + in: path + description: ID of the rent' increase to update + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncrease' + required: true + responses: + '200': + description: Rent's increase successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_write + delete: + summary: Delete a rent_increase (Admin only) + description: | + # Description + Delete a rent_increase. + tags: + - rent_increases + parameters: + - name: customer_account_id + in: query + required: false + schema: + type: integer + - name: rent_increase_id + in: path + description: The ID of the rent_increase to delete + required: true + schema: + type: integer + responses: + '200': + description: Rent's increase successfully deleted + content: + application/json: + schema: + properties: + rent_increase: + $ref: '#/components/schemas/RentIncreaseShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - rent_increase_destroy + /v1/emission_factor_settings/update: + post: + summary: Updates an EmissionFactorSetting + description: Updates an EmissionFactorSetting within account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingUpdate' + required: true + responses: + '200': + description: EmissionFactorSetting successfully updated + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings: + get: + summary: Returns all EmissionFactorSettings within the given account + description: Returns all EmissionFactorSettings within the given account + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns all EmissionFactorSettings within the given account + content: + application/json: + schema: + properties: + emission_factor_settings: + type: array + items: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + post: + summary: Creates an EmissionFactorSetting + description: Creates an EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmissionFactorSettingCreate' + required: true + responses: + '201': + description: EmissionFactorSetting successfully created + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_write + /v1/emission_factor_settings/{emission_factor_setting_id}: + get: + summary: Shows a EmissionFactorSetting + description: Shows a EmissionFactorSetting + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: Returns the EmissionFactorSetting + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_read + delete: + summary: Deletes the EmissionFactorSetting within the account. + description: Deletes the EmissionFactorSetting within the account. + tags: + - emission_factor_settings + parameters: + - name: emission_factor_setting_id + in: path + description: The ID of the emission_factor_setting to show + required: true + schema: + type: integer + - name: customer_account_id + in: query + description: The ID on customer_account of the EmissionFactorSettings to show + required: false + schema: + type: string + responses: + '200': + description: EmissionFactorSetting successfully deleted + content: + application/json: + schema: + properties: + emission_factor_setting: + $ref: '#/components/schemas/EmissionFactorSettingShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '404': + description: A resource you were looking for can not be found + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/NotFoundError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - emission_factor_setting_destroy + /v1/customer_account_category_configs: + post: + summary: Creates a customer account category config + description: | + # Description + Creates a customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigCreate' + required: true + responses: + '201': + description: Customer account category config successfully created + content: + application/json: + schema: + properties: + customer_account_category_config: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + /v1/customer_account_category_configs/{customer_account_category_config_id}: + put: + summary: Update the customer account category config + description: Update the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to update + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigUpdate' + required: true + responses: + '200': + description: Customer account category config successfully updated + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_write + delete: + summary: Delete the customer account category config + description: Delete the customer account category config + tags: + - customer_account_category_configs + parameters: + - name: customer_account_id + in: query + description: ID of the customer account + required: true + schema: + type: integer + - name: customer_account_category_config_id + in: path + description: ID of the customer account category config you want to delete + required: true + schema: + type: string + responses: + '200': + description: Customer account category config successfully deleted + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerAccountCategoryConfigShow' + '401': + description: Invalid or missing api key + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthenticationError' + '403': + description: You are trying to access a resource but you are not allowed to + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/AuthorizationError' + '422': + description: The request could not be processed + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/UnprocessableRequestError' + '500': + description: An unexpected error occurred + content: + application/json: + schema: + properties: + errors: + type: array + items: + $ref: '#/components/schemas/InternalServerError' + security: + - api_key: [] + - oauth: + - customer_account_category_config_destroy +servers: + - url: api.realcube.com/api +components: + parameters: + current_organisation_id: + name: current_organisation_id + in: query + description: ID of the current organisation + required: true + schema: + type: integer + requestBodies: + ContractMembershipCostCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractMembershipCostCreate' + required: true + ActivityTypeCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityTypeCreate' + required: true + ContractAdditionCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractAdditionCreate' + required: true + BuildingFilterSettingsCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingFilterSettingsCreate' + required: true + SecurityDepositCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityDepositCreate' + required: true + TaskMembership: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskMembership' + required: true + RentIncreaseType: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseType' + required: true + OrganisationConfigCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganisationConfigCreate' + required: true + ContractGrantCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ContractGrantCreate' + required: true + BuildingSaveFiltersCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/BuildingSaveFiltersCreate' + required: true + RentTrackerCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/RentTrackerCreate' + required: true + ReportTemplateCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportTemplateCreate' + required: true + ReportAccountSchemaCreate: + content: + application/json: + schema: + $ref: '#/components/schemas/ReportAccountSchemaCreate' + required: true + ScorecardMembershipCost: + content: + application/json: + schema: + $ref: '#/components/schemas/ScorecardMembershipCost' + required: true + RentIncreaseIndices: + content: + application/json: + schema: + $ref: '#/components/schemas/RentIncreaseIndices' + required: true + securitySchemes: + api_key: + type: apiKey + name: X-Api-Key + in: header + oauth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + scopes: + app_category_read: Get the app categories + app_config_read: Get the app_configs + app_config_write: Create or edit an app_config + app_config_destroy: Delete the app_config + app_data_repository_read: Get the app_data_repositories + app_data_repository_write: Create or edit an app_data_repository + app_data_repository_destroy: Delete the app_data_repository + app_subscription_read: Get the app_subscriptions + app_subscription_write: Create or edit an app_subscription + app_subscription_destroy: Delete the app_subscription + app_read: Get the apps + app_write: Create or edit an app + app_destroy: Delete the app + contract_addition_read: Get the contract_additions + contract_addition_write: Create or edit an contract_addition + contract_addition_destroy: Delete the contract_addition + contract_grant_read: Get the contract_grants + contract_grant_write: Create or edit an contract_grant + contract_grant_destroy: Delete the contract_grant + contract_membership_cost_read: Get the contract_membership_costs + contract_membership_cost_write: Create or edit an contract_membership_cost + contract_membership_cost_destroy: Delete the contract_membership_cost + contract_membership_write: Create or edit an contract_membership + contract_membership_destroy: Delete the contract_membership + contract_read: Get the contracts + contract_write: Create or edit an contract + contract_destroy: Delete the contract + cost_type_read: Get the cost_types + cost_type_write: Create or edit an cost_type + cost_type_destroy: Delete the cost_type + security_deposit_write: Create or edit an security_seposit + security_deposit_destroy: Delete the security_seposit + report_account_schema_read: Get the report_account_schemas + report_account_schema_write: Create or edit an report_account_schema + report_account_schema_destroy: Delete the report_account_schema + report_template_read: Get the report_templates + report_template_write: Create or edit the report_template + report_template_destroy: Delete the report_template + department_read: Get the departments + department_write: Create or edit an department + department_destroy: Delete the department + manufacturer_read: Get the manufacturers + manufacturer_write: Create or edit an manufacturer + manufacturer_destroy: Delete the manufacturer + room_and_zone_type_read: Get room_and_zone_types + room_read: Get the rooms + room_write: Create or edit an room + room_destroy: Delete the room + zone_write: Create or edit an zone + zone_destroy: Delete the zone + level_read: Get level + level_write: Create or edit an facility_type + level_destroy: Delete the facility_type + facility_read: Get facility + facility_write: Create or edit an facility_type + facility_destroy: Delete the facility_type + facility_type_read: Get the facility_types + plan_version_write: Create or edit an plan_version + plan_version_destroy: Delete the plan_version + plan_read: Get the plans + plan_write: Create or edit an plan + plan_destroy: Delete the plan + plan_config_read: Get the config of a plan + activity_read: Fetch activities + activity_write: Create and edit an activity + activity_destroy: Delete the activity + attachment_write: Create or edit an attachment + attachment_destroy: Delete the attachment + building_filter_setting_read: Get the building_filter_settings + building_filter_setting_write: Create or edit an building_filter_setting + building_filter_setting_destroy: Delete the building_filter_setting + building_save_filter_read: Get the building_save_filters + building_save_filter_write: Create or edit an building_save_filter + building_save_filter_destroy: Delete the building_save_filter + building_type_read: Get the building_types + building_unit_membership_write: Create or edit an building_unit_membership + building_unit_membership_destroy: Delete the building_unit_membership + building_unit_type_read: Get the building_unit_types + building_unit_type_write: Create or edit an building_unit_type + building_unit_type_destroy: Delete the building_unit_type + building_unit_read: Get the building_units + building_unit_write: Create or edit an building_unit + building_unit_destroy: Delete the building_unit + building_read: Get the buildings + building_write: Create or edit an building + building_destroy: Delete the building + customer_account_config_read: Get the customer_account_configs + customer_account_config_write: Create or edit an customer_account_config + customer_account_schema_read: Get the customer_account_schemas + customer_account_schema_write: Create or edit an customer_account_schema + customer_attributes_schema_membership_read: Get the customer_attributes_schema_memberships + customer_attributes_schema_membership_write: Create or edit an customer_attributes_schema_membership + customer_attributes_schema_read: Get the customer_attributes_schemas + customer_attributes_schema_write: Create or edit an customer_attributes_schema + image_write: Create or edit the image + image_destroy: Delete the image + lot_read: Get the lots + lot_write: Create or edit an lot + lot_destroy: Delete the lot + organisation_config_read: Get the organisation_configs + organisation_config_write: Create or edit an organisation_config + organisation_membership_read: Get the organisation_memberships + organisation_membership_write: Create or edit an organisation_membership + organisation_membership_destroy: Delete the organisation_membership + organisation_read: Get the organisations + organisation_write: Create or edit an organisation + person_read: Get the people + person_write: Create or edit an person + person_destroy: Delete the person + person_membership_write: Create or edit an person_membership + person_membership_destroy: Delete the person_membership + property_read: Get the properties + property_write: Create or edit an property + property_destroy: Delete the property + property_type_read: Get the property_types + user_write: Log In or edit, or reset password for an user + user_destroy: Log out + vpi_index_read: Get the vpi_index + credential_read: Get oauth credentials + dashboard_config_read: Get dashboard config for an account + dashboard_config_write: Add or edit the dashboard config for an account + dashboard_config_destroy: Remove the dashboard config for an account + time_dependent_attribute_read: Get time_dependent_attribute for an account + time_dependent_attribute_write: Add or edit the time_dependent_attribute for an account + time_dependent_attribute_destroy: Remove the time_dependent_attribute for an account + ep_code_combination_read: Get the ep_code_combinations + customer_account_write: '' + schemas: + PlatformConfig: + type: object + properties: + landing_page_marketing: + type: object + properties: + headline: + type: string + button_title: + type: string + button_link: + type: string + button_displayed: + type: boolean + image: + type: string + body: + type: string + PlatformConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + PlatformConfigCreate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + - required: + - platform_configs + PlatformConfigUpdate: + allOf: + - $ref: '#/components/schemas/PlatformConfig' + User: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + format: email + phone: + type: string + locale: + type: string + enum: + - de + - en + - gsw + user_settings: + type: object + UserShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - last_editor + properties: + thumbnail_url: + type: string + last_editor: + $ref: '#/components/schemas/User' + UserEmail: + properties: + email: + type: string + UserCreate: + allOf: + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + properties: + redirect_url: + type: string + role_policy_ids: + type: array + items: {} + UserUpdate: + allOf: + - $ref: '#/components/schemas/User' + - properties: + password: + type: string + current_password: + type: string + role_policy_ids: + type: array + items: {} + UserResetPasswordInstructions: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserInvitations: + type: object + required: + - email + properties: + email: + type: string + redirect_url: + type: string + UserSignIn: + required: + - email + - password + properties: + email: + type: string + format: email + password: + type: string + UserSignedIn: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - first_name + - last_name + - email + - locale + - api_key + properties: + role: + type: string + enum: + - admin + - client + api_key: + type: string + thumbnail_url: + type: string + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + UserWithRefreshedToken: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/User' + - required: + - api_key + - first_name + - last_name + - email + properties: + api_key: + type: string + Role: + type: object + properties: + name: + type: string + description: + type: string + role_policy_maps_attributes: + type: array + items: + type: object + properties: + id: + type: number + role_policy_id: + type: number + _destroy: + type: string + RoleShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RoleCreate: + allOf: + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + RoleUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RoleIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Role' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + RolePolicy: + type: object + properties: + name: + type: string + description: + type: string + rules: + type: object + RolePolicyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + RolePolicyCreate: + allOf: + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + RolePolicyUpdate: + allOf: + - $ref: '#/components/schemas/Role' + RolePolicyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RolePolicy' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Tenant: + type: object + properties: + first_name: + type: string + last_name: + type: string + email: + type: string + phone: + type: string + TenantContract: + type: object + properties: + id: + type: string + start_date: + type: string + end_date: + type: string + TenantUnit: + type: object + properties: + id: + type: string + name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + province: + type: string + country: + type: string + zip_code: + type: string + latitude: + type: string + longitude: + type: string + TenantShow: + allOf: + - $ref: '#/components/schemas/Tenant' + - required: [] + properties: + contract: + $ref: '#/components/schemas/TenantContract' + unit: + $ref: '#/components/schemas/TenantUnit' + CustomerAccountTranslation: + type: object + properties: + language: + type: string + value: + type: string + field: + type: string + parent_id: + type: string + parent_type: + type: string + CustomerAccountTranslationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountTranslationCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountTranslation' + CustomerAccountTranslationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountTranslation' + - required: + - name + - user + - last_editor + - organisation + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + CustomerAccountAttributeGroup: + type: object + properties: + name: + type: string + fields: + type: array + items: + type: string + read_only: + type: boolean + parent_type: + type: string + CustomerAccountAttributeGroupShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - type: object + required: + - name + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountAttributeGroupCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + CustomerAccountAttributeGroupIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountAttributeGroup' + - required: + - name + - user + - last_editor + properties: + id: + type: integer + customer_account_id: + type: string + customer_account: + $ref: '#/components/schemas/CustomerAccountLightShow' + EpCodeCombination: + type: object + properties: + facility_type_id: + type: integer + ep_code: + type: string + repetition: + type: integer + EpCodeCombinationByFacilityType: + allOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/EpCodeCombinationIndex' + - required: + - facility_type_id + EpCodeCombinationIndex: + allOf: + - type: array + items: + $ref: '#/components/schemas/EpCodeCombination' + - required: + - facility_type_id + DashboardConfig: + type: object + properties: + aws_settings: + type: object + properties: + aws_access_key_id: + type: string + aws_secret_access_key: + type: string + aws_region: + type: string + aws_account_id: + type: string + dashboard_id: + type: string + identity_type: + type: string + enum: + - QUICKSIGHT + - IAM + - ANONYMOUS + DashboardConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + properties: + customer_account: + type: array + items: + $ref: '#/components/schemas/CustomerAccountLightShow' + embed_dashboard: + type: object + properties: + embed_url: + type: string + status: + type: number + request_id: + type: string + DashboardConfigCreate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + - required: + - dashboard_configs + DashboardConfigUpdate: + allOf: + - $ref: '#/components/schemas/DashboardConfig' + Dashboard: + type: object + properties: + name: + type: string + description: + type: string + looker_item: + type: string + looker_config: + type: object + position: + type: integer + show_dashboard: + type: boolean + DashboardShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Dashboard' + - required: + - looker_embed_url + properties: + looker_embed_url: + type: string + customer_account_id: + type: integer + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + DashboardIndex: + allOf: + - $ref: '#/components/schemas/Dashboard' + - properties: + type: + type: string + enum: + - standard + - custom + description: | + standard: that cannot be editable + custom: that are editable + looker_embed_url: + type: string + customer_account_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + DashboardUpdate: + allOf: + - required: + - show_dashboard + properties: + name: + type: string + description: + type: string + looker_item: + type: string + show_dashboard: + type: boolean + DashboardOrderUpdate: + allOf: + - required: + - dashboard_ids + properties: + dashboard_ids: + type: array + items: + type: integer + App: + type: object + properties: + name: + type: string + currency: + type: string + short_name: + type: string + logo_base64: + type: string + logo_filename_with_extension: + type: string + data_partner_interface: + type: string + default_retail_price: + type: integer + default_retail_currency: + type: string + default_realcube_price: + type: integer + default_realcube_currency: + type: string + default_price_category: + type: string + default_data_lifetime: + type: integer + catalog_update_frequency: + type: integer + data_partner_base_url: + type: string + data_partner_score_url: + type: string + AppShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCreate: + allOf: + - $ref: '#/components/schemas/App' + - required: + - name + - currency + AppUpdate: + allOf: + - $ref: '#/components/schemas/App' + AppIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/App' + - required: + - name + - currency + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app_subscriptions: + type: array + items: + $ref: '#/components/schemas/AppSubscription' + app_categories: + type: array + items: + $ref: '#/components/schemas/AppCategory' + images: + type: array + items: + $ref: '#/components/schemas/Image' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + AppCategory: + type: object + properties: + name: + type: string + AppCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppCategory' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + apps: + type: array + items: + $ref: '#/components/schemas/App' + AppSubscription: + type: object + properties: + name: + type: string + description: + type: string + periodicity: + type: string + price: + type: number + AppSubscriptionCreate: + allOf: + - properties: + app_id: + type: integer + name: + type: string + enum: + - Free Tier + - Premium + periodicity: + type: string + enum: + - month + - year + - $ref: '#/components/schemas/AppSubscription' + AppSubscriptionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppSubscription' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + required: + - name + - price + - periodicity + AppConfig: + type: object + properties: + organisation_ids: + type: array + items: + type: integer + AppConfigCreate: + properties: + organisation_ids: + type: array + items: + type: integer + app_subscription_id: + type: integer + AppConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + AppCategoryMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - app_id + - app_category_id + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/App' + app_category: + $ref: '#/components/schemas/AppCategory' + AppDataRepository: + type: object + properties: + app_data: + type: object + AppDataRepositoryCreate: + type: object + properties: + app_data: + type: object + app_subscription_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + AppDataRepositoryUpdate: + type: object + properties: + app_data: + type: object + AppDataRepositoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AppDataRepository' + - required: + - app_data + - app_subscription_id + properties: + app_data: + properties: + example: + type: object + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app_subscription: + $ref: '#/components/schemas/AppSubscription' + Plan: + type: object + properties: + name: + type: string + trade: + type: string + enum: + - AA + - AR + - BA + - BD + - BG + - BP + - DV + - ET + - EW + - FA + - FT + - HT + - IA + - KP + - KT + - LP + - MT + - SB + - SI + - ST + - TE + - TG + - TW + - VE + - VM + - VP + - VT + plan_type: + type: string + enum: + - AA + - AB + - AF + - AM + - AP + - AU + - BA + - BC + - BE + - BG + - BL + - BM + - BN + - BP + - BS + - BT + - BW + - BZ + - DE + - DP + - DS + - DT + - EB + - EL + - EP + - ER + - ET + - EW + - FA + - FS + - FL + - FN + - FT + - FW + - GR + - HH + - HL + - HP + - HZ + - IP + - KA + - KL + - KM + - KO + - KP + - KW + - LA + - LE + - LF + - LG + - ME + - MS + - MT + - NL + - NS + - PP + - PZ + - RW + - SA + - SB + - SI + - SK + - SP + - SS + - SW + - TH + - TK + - TV + - UB + - VK + - VL + - VM + - VS + - VT + - WA + - WP + - AS + - MO + - BD + - PF + - TP + - MF + planning_phase: + type: string + enum: + - '00' + - '10' + - '20' + - '30' + - '40' + - '50' + - '60' + - '70' + - '80' + - '90' + - AQ + - WE + - XX + presentation: + type: string + enum: + - GR + - SC + - AN + - XX + - PE + - SH + - VI + plan_content: + type: string + floor: + type: string + description: + type: string + PlanShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanCreate: + allOf: + - $ref: '#/components/schemas/Plan' + - required: + - name + - trade + - plan_type + - planning_phase + - presentation + - floor + PlanUpdate: + allOf: + - $ref: '#/components/schemas/Plan' + PlanIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - building + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + plan_versions: + type: array + items: + $ref: '#/components/schemas/PlanVersion' + PlanConfig: + type: object + properties: + current_filename_config: + type: object + parent_type: + type: string + PlanConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PlanConfig' + - required: [] + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + PlanVersion: + type: object + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + PlanVersionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Plan' + - required: + - status + properties: + version: + type: string + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + PlanVersionCreate: + allOf: + - required: + - status + properties: + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + version: + type: string + PlanVersionUpdate: + allOf: + - required: + - status + properties: + version: + type: string + status: + type: string + enum: + - VZ + - BF + - FR + - ZF + Organisation: + type: object + properties: + name: + type: string + description: + type: string + comment: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + OrganisationShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - properties: + customer_accounts: + $ref: '#/components/schemas/CustomerAccountShow' + - required: + - name + - organisation_memberships + - last_editor + properties: + organisation_memberships: + $ref: '#/components/schemas/OrganisationMembershipShow' + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Organisation' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + nullable: true + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccountShow' + OrganisationCreate: + allOf: + - $ref: '#/components/schemas/Organisation' + - required: + - name + OrganisationUpdate: + allOf: + - $ref: '#/components/schemas/Organisation' + OrganisationConfig: + type: object + required: + - id + - building + - building_unit + - user + - organisation + - last_editor + properties: + id: + type: integer + building: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + items: {} + customer_attributes_fields: + type: array + items: {} + tables: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserShow' + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + deleted_at: + type: string + format: date-time + OrganisationConfigCreate: + properties: + building: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + building_unit: + type: object + properties: + standard_fields: + type: array + example: [] + items: {} + customer_attributes_fields: + type: array + example: [] + items: {} + tables: + type: array + example: [] + items: {} + OrganisationMembership: + type: object + required: + - id + - user + - organisation + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + user: + $ref: '#/components/schemas/UserShow' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + OrganisationMembershipCreate: + allOf: + - type: object + required: + - user_id + properties: + user_id: + type: integer + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + OrganisationMembershipCreateFromEmail: + type: object + required: + - email + properties: + email: + type: string + format: email + permitted_building_ids: + type: array + items: {} + OrganisationMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/OrganisationMembership' + - type: object + properties: + id: + type: integer + permitted_building_ids: + type: array + items: {} + last_editor: + $ref: '#/components/schemas/UserIndex' + OrganisationMembershipUpdate: + allOf: + - type: object + properties: + permitted_building_ids: + type: array + items: {} + role_ids: + type: array + items: + type: integer + CustomerAccount: + properties: + time_attribute_schema: + type: object + properties: + building: + type: array + items: {} + unit: + type: array + items: {} + CustomerAccountShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountLightShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + has_contract: + type: boolean + demo_account: + type: boolean + demo_expires_at: + type: string + last_editor: + $ref: '#/components/schemas/UserIndex' + - $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccount' + CustomerAttributesSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_de: + type: object + json_schema_en: + type: object + CustomerAttributesSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + version: + type: integer + json_schema_en: + type: object + json_schema_de: + type: object + required: + - name + - version + - attributes_type + - json_schema + CustomerAttributesSchemaCreate: + allOf: + - properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + required: + - name + - attributes_type + - json_schema_de + - json_schema_en + CustomerAttributesSchemaMembership: + type: object + properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchema' + CustomerAttributesSchemaMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAttributesSchemaMembership' + - required: + - organisation + - customer_attributes_schema + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + CustomerAttributesSchemaMembershipCreate: + type: object + properties: + organisation_id: + type: integer + customer_attributes_schema_id: + type: integer + required: + - organisation_id + - customer_attributes_schema_id + CustomerAccountConfig: + type: object + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + demo_data_uploaded: + type: boolean + PolicyAttributesMap: + properties: + policy_map: + type: object + CustomerAccountConfigShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - $ref: '#/components/schemas/PolicyAttributesMap' + - properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + contract_csv_url: + type: string + example: >- + data:text/csv;base64,bmFtZSxwZXJzb25fZmlyc3RfbmFtZSxwZXJzb25fbGFzdF9uYW1lLGJ1aWxkaW5nX25hbWUsYnVpbGRpbmdfdW5pdF9uYW1lLGNvbnRyYWN0X21lbWJlcnNoaXBfdHlwZSxjb250cmFjdF90eXBlLHBhcmVudF9pZCxleHRlcm5hbF9pZCxyZW50YWxfcGVyaW9kLGNvbnRyYWN0X3N1Yl90eXBlLHN0YXJ0X2RhdGUsZW5kX2RhdGUsbWluaW11bV9jb250cmFjdF90ZXJtLG5vdGljZV9wZXJpb2QsY2FuY2VsbGluZ19hdF9kYXRlLGNhbmNlbGxlZF9hdF9kYXRlLHJlbnRfaW5jcmVhc2VfYWxsb3dhbmNlLGluZGV4X2Jhc2VkX2NvbmZpZyxzdGF0dXMscGVyc29uX21lbWJlcnNoaXBzX2F0dHJpYnV0ZXMsbWVtYmVyc2hpcHNfYXR0cmlidXRlcyxjdXJyZW5jeSxLYWx0bWlldGUsU29uc3RpZ2UsRGllbnN0ZSxNd1N0LEluc3RhbmRoYWx0dW5nLFZlcndhbHR1bmdzZ2Viw7xocmVuLFJlcGFyYXR1cmVuLFZlcnNpY2hlcnVuZyx0ZXN0Y29zdCxUSGlTSVNURVNUCg== + landing_page_dashboards: + type: array + items: + $ref: '#/components/schemas/DashboardIndex' + has_datamarket_access: + type: boolean + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountConfigCreate: + allOf: + - required: + - building_fields + - building_unit_fields + properties: + building_fields: + type: array + items: + type: string + building_unit_fields: + type: array + items: + type: string + CustomerAccountConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountConfig' + - required: + - demo_data_uploaded + properties: + demo_data_uploaded: + type: boolean + CustomerAccountSchema: + type: object + properties: + name: + type: string + comment: + type: string + attributes_type: + type: string + enum: + - building + - building_unit + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + - $ref: '#/components/schemas/PersistedRecord' + CustomerAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountSchema' + CustomerAccountSchemaUpdate: + type: object + properties: + name: + type: string + comment: + type: string + json_schema_de: + type: object + json_schema_en: + type: object + json_schema_gsw: + type: object + CustomerAccountCategory: + type: object + properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + conversion_factor: + type: integer + customer_editable: + type: boolean + external_conversion: + type: boolean + category: + type: integer + enum: + - length_metric + - area_metric + - area_norm + - currency + - energy_type + - energy_volume + - emission_volume + - finance + - water + - water_volume + - activity + - shop_concept + - retail + - retail_metric + - addl_id + - phase + - phase_status + - payment_category + - rent_tracker_payment + - parking + - summary_unit_type + - summary_unit_type_classifier + - building_area_type + - unit_area_type + - construction_project_category + - main_energy_source + - state_of_renovation + - heating_used_energy + - kitchen_type + - objectphase + - region + - role + - unit_type + - property + - property_value + - facility_type + - floor + - institution_type + - roof_form + - unit_role + - unit_finance + - certificate_issuer + - certificate_system + - achieved_certificate_level + - energy_performance + - energy_source + CustomerAccountCategoryShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategory' + - required: + - label_id + - customer_account_translations + properties: + label_id: + type: integer + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + CustomerAccountCategoryCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + CustomerAccountCategoryUpdate: + allOf: + - properties: + label: + type: string + grouping: + type: string + subgrouping: + type: string + display_sort_order: + type: integer + default: + type: boolean + customer_editable: + type: boolean + CustomerAccountCategoryIndex: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategory' + - properties: + label_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Contract: + type: object + properties: + parent_id: + type: string + contract_type: + type: string + enum: + - tenancy_contract + - lease_contract + name: + type: string + external_id: + type: string + source_system: + type: string + rental_period: + type: string + contract_sub_type: + type: string + enum: + - empty + - owner_occupation + - rentable + start_date: + type: string + format: date-time + end_date: + type: string + format: date-time + minimum_contract_term: + type: string + format: date-time + debtor_number: + type: string + notice_period: + type: object + properties: + value: + type: number + period: + type: string + enum: + - days + - weeks + - months + - years + cancelling_at_date: + type: string + format: date-time + cancelled_at_date: + type: string + format: date-time + rent_increase_type: + type: string + enum: + - comparable_rent + - index_based_increase + - graduate_rent + rent_increase_allowance: + type: string + format: date-time + index_based_config: + type: object + properties: + base_index_date: + type: string + base_index_points: + type: integer + threshhold_type: + type: string + enum: + - percentage + - points + threshhold_value: + type: integer + increase_type: + type: string + enum: + - percentage + - value + increase_value: + type: integer + graduate_rent_config: + type: object + properties: + increase_period: + type: string + enum: + - monthly + - yearly + amount_type: + type: string + enum: + - percentage + - value + amount_value: + type: integer + increase_yearly_date: + type: string + increase_monthly_day: + type: string + status: + type: string + enum: + - draft + - final + - rejected + currency: + type: string + enum: + - EUR + - CHF + notes: + type: string + Amount: + type: object + properties: + name: + type: string + amount_per_month: + type: object + properties: + value: + type: number + currency: + type: string + enum: + - EUR + - USD + ContractAttributes: + properties: + person_memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + person_id: + type: string + member_id: + type: string + member_type: + type: string + role: + type: string + _destroy: + type: string + memberships_attributes: + type: array + items: + type: object + properties: + id: + type: string + member_id: + type: string + member_type: + type: string + _destroy: + type: string + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ContractShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - required: + - type + - status + - user + - last_editor + - customer_account + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + type: object + properties: + notes: + type: string + parent: + $ref: '#/components/schemas/ContractIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + organisation: + $ref: '#/components/schemas/Organisation' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + rent_increase_mappings: + type: array + items: + $ref: '#/components/schemas/RentIncreaseMappingShow' + ContractCreate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - required: + - type + - status + properties: + organisation_id: + type: integer + ContractUpdate: + allOf: + - $ref: '#/components/schemas/Contract' + - $ref: '#/components/schemas/ContractAttributes' + - properties: + organisation_id: + type: integer + ContractIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Contract' + - properties: + thumbnail_url: + type: string + organisation: + type: object + properties: + id: + type: integer + name: + type: string + ContractMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - contract + - member + - last_editor + properties: + contract: + $ref: '#/components/schemas/Contract' + member: + type: object + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ContractMembershipCreate: + type: object + required: + - contract_id + - member_id + - member_type + properties: + contract_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - property + ContractMembershipCost: + type: object + properties: + amount: + type: number + description: + type: string + iban: + type: string + swift: + type: string + to_be_paid_at: + type: string + valid_from: + type: string + format: date-time + ContractMembershipCostShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractMembershipCost' + - required: + - amount + properties: + unit_type: + $ref: '#/components/schemas/BuildingUnitType' + cost_type: + $ref: '#/components/schemas/CostType' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractMembershipCostCreate: + allOf: + - $ref: '#/components/schemas/ContractMembershipCost' + - properties: + unit_type_id: + type: number + cost_type_id: + type: number + ContractAddition: + type: object + properties: + name: + type: string + signing_date: + type: string + format: date-time + ContractAdditionShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + properties: + contract: + $ref: '#/components/schemas/Contract' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractAdditionCreate: + allOf: + - $ref: '#/components/schemas/ContractAddition' + - required: + - name + ContractGrant: + type: object + properties: + name: + type: string + description: + type: string + total_amount: + type: number + grant_type: + type: string + enum: + - pre_opening + - rent_free_time + - other + fee_split: + type: array + items: + properties: + percentage: + type: number + date_received: + type: string + format: date-time + ContractGrantShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ContractGrantCreate: + allOf: + - $ref: '#/components/schemas/ContractGrant' + - required: + - name + SecurityDeposit: + required: [] + type: object + properties: + amount: + type: integer + to_be_paid_before: + type: string + format: date-time + payment_type: + type: string + enum: + - one_time_payment + - paid_in_three_monthly_fees + deposit_type: + type: string + enum: + - cash + - bank_transaction + - savings_account + - surety + SecurityDepositShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + - user + - last_editor + - contract_membership + properties: + contract_membership_id: + type: integer + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + SecurityDepositCreate: + allOf: + - $ref: '#/components/schemas/SecurityDeposit' + - required: + - type + - payment_type + CostType: + type: object + properties: + name: + type: string + category: + type: string + CostTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeCreate: + allOf: + - $ref: '#/components/schemas/CostType' + - required: + - name + CostTypeUpdate: + allOf: + - $ref: '#/components/schemas/CostType' + PropertyType: + type: object + required: + - id + - name + properties: + id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Property: + type: object + properties: + name: + type: string + country: + type: string + zip_code: + type: string + city: + type: string + custom_id: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + PropertiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PropertyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - required: + - name + - property_type + - property_manager + - user + - organisation + - last_editor + - lots + - buildings + - attachments + properties: + deleted_at: + type: string + format: date-time + property_type: + $ref: '#/components/schemas/PropertyType' + property_manager: + $ref: '#/components/schemas/PropertyManager' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + lots: + type: array + items: + $ref: '#/components/schemas/LotIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PropertyCreate: + allOf: + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/PropertiesAttributes' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + PropertyUpdate: + allOf: + - $ref: '#/components/schemas/Property' + - required: + - property_type_id + - name + properties: + property_type_id: + type: integer + property_manager_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + PropertyIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Property' + - $ref: '#/components/schemas/ActivitiesAttributes' + - required: + - name + - property_type + properties: + deleted_at: + type: string + format: date-time + property_manager_id: + type: integer + property_type: + $ref: '#/components/schemas/PropertyType' + thumbnail_url: + type: string + PropertyManager: + type: object + properties: + name: + type: string + email: + type: string + phone_number: + type: string + contact_first_name: + type: string + contact_last_name: + type: string + street: + type: string + street_number: + type: string + city: + type: string + zip_code: + type: string + country: + type: string + PropertyManagerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerCreate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerUpdate: + allOf: + - $ref: '#/components/schemas/PropertyManager' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + PropertyManagerIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PropertyManager' + - required: + - name + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + Lot: + type: object + properties: + custom_id: + type: string + external_id: + type: string + source_system: + type: string + name: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + LotsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + LotShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + LotCreate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - property_id + - name + properties: + property_id: + type: integer + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + buildings: + type: array + items: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + LotUpdate: + allOf: + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + LotIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Lot' + - $ref: '#/components/schemas/LotsAttributes' + - required: + - name + - property + - user + - organisation + properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingFilterSettings: + type: object + properties: + name: + type: string + status: + type: boolean + tags_active: + type: boolean + fields: + type: array + items: + type: string + property_fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingFields: + type: object + properties: + fields: + type: array + items: + type: string + customer_attributes: + type: array + items: + type: string + unit_fields: + type: array + items: + type: string + tag_fields: + type: array + items: + type: string + building_categories: + type: object + properties: + person_memberships: + type: array + items: {} + unit_categories: + type: array + items: + type: string + unit_customer_attributes: + type: array + items: + type: string + BuildingFilterSettingsShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingFilterSettingsCreate: + allOf: + - $ref: '#/components/schemas/BuildingFilterSettings' + - required: + - name + - version + - attributes_type + - json_schema + BuildingSaveFilters: + type: object + properties: + name: + type: string + filter: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + BuildingSaveFiltersShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingSaveFiltersCreate: + allOf: + - $ref: '#/components/schemas/BuildingSaveFilters' + - required: + - name + - filter + BuildingType: + type: object + required: + - id + - name + - code + properties: + id: + type: integer + name: + type: string + code: + type: string + parent_id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Building: + type: object + properties: + name: + type: string + external_id: + type: string + source_system: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + province: + type: string + country: + type: string + comment: + type: string + latitude: + type: number + longitude: + type: number + units_count: + type: number + year_of_construction: + type: integer + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + architect: + type: string + contract_ids: + type: array + items: {} + organisation_id: + type: number + customer_attributes_schema_id: + type: number + planned_monthly_rent: + type: number + number_of_floors: + type: number + number_of_windows: + type: number + user_intervention_window_number: + type: number + user_intervention_window_area: + type: number + last_refurbishment_at: + type: string + format: date + heating_type: + type: string + main_energy_provider: + type: string + deso_facility: + type: boolean + institution_type: + type: array + items: + type: integer + facility_type: + type: array + items: + type: integer + number_of_lifts: + type: integer + protective_area: + type: boolean + parking_garage: + type: integer + main_energy_source: + type: integer + stairwells: + type: integer + state_of_renovation: + type: integer + construction_project_category: + type: integer + last_modernisation: + type: string + format: date-time + heating_used_energy: + type: array + items: + type: integer + kitchen_type: + type: integer + objectphase: + type: integer + region: + type: integer + floors_above_ground: + type: integer + floors_below_ground: + type: integer + customer_attributes: + type: object + fund_name: + type: string + own_use: + type: boolean + listed_building: + type: boolean + house_number: + type: string + address_suffix: + type: string + energy_certificate_type: + type: string + enum: + - consumption_orientated + - demand_orientated + energy_class: + type: string + stored_energy_validity: + type: string + format: date-time + accounting_rules_applied: + type: string + year_of_construction_heat_generator: + type: string + air_conditioning: + type: boolean + BuildingsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - type: object + required: + - name + - user + - building_type + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + facility_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + heating_used_energies: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + institution_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + roof_forms: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + objectphases: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + regions: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + kitchen_types: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + construction_project_categories: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + state_of_renovations: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + main_energy_sources: + type: array + items: + $ref: '#/components/schemas/CustomerAccountCategory' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingCreate: + allOf: + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - building_type_id + - parent_id + - parent_type + - name + - customer_attributes + - customer_attributes_schema_id + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUpdate: + allOf: + - $ref: '#/components/schemas/Building' + - properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + organisation_id: + type: integer + building_type_id: + type: integer + customer_attributes_schema_id: + type: integer + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingsAttributes' + BuildingIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - $ref: '#/components/schemas/BuildingsAttributes' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + BuildingShowWithFacilities: + allOf: + - $ref: '#/components/schemas/BuildingShow' + - type: object + properties: + facilities_count: + type: number + BuildingPresets: + type: object + properties: + presets_standard_fields: + properties: + building: + type: object + properties: + name: + type: array + items: {} + building_unit: + type: object + properties: + name: + type: array + items: {} + presets_customer_attributes: + properties: + building: + type: object + properties: + name: + type: string + building_unit: + type: object + properties: + name: + type: string + tags: + properties: + building: + type: array + items: {} + building_unit: + type: array + items: {} + BuildingIndexWithoutUnits: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + apps: + type: array + items: + type: string + BuildingForProperty: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Building' + - required: + - name + - user + - building_type + - last_editor + - organisation + properties: + id: + type: integer + thumbnail_url: + type: string + building_type: + $ref: '#/components/schemas/BuildingType' + property: + $ref: '#/components/schemas/PropertyIndex' + BuildingUnitType: + type: object + required: + - id + - name + - updated_at + - created_at + properties: + id: + type: integer + customer_account_id: + type: integer + name: + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitTypeCreate: + type: object + required: + - name + properties: + name: + type: string + BuildingUnit: + type: object + properties: + name: + type: string + comment: + type: string + external_id: + type: string + source_system: + type: string + tenant: + type: string + owner: + type: string + building_id: + type: number + gross_floor_area_in_sqm_din_277: + type: number + net_floor_area_in_sqm_din_277: + type: number + auxiliary_floor_area_in_sqm: + type: number + social_floor_area_in_sqm: + type: number + market_rental_price: + type: number + format: float + number_of_rooms: + type: number + number_of_bedrooms: + type: number + number_of_bathrooms: + type: number + quality_of_available_features: + type: string + current_condition: + type: string + description: + type: string + description_of_features: + type: string + features: + type: array + enum: + - einbauküche + - balkon/terrasse + - garten + - stufenloser_zugang + - wg_geeignet + - parkplatz_vorhanden + - haustiere_erlaubt + - aufzug + - gäste_wc + - keller + - wohnberechtigungsschein + items: {} + gross_floor_area_in_sqm_sia_d_0165: + type: number + net_floor_area_in_sqm_sia_d_0165: + type: number + planned_monthly_rent: + type: number + planned_operating_cost: + type: number + planned_deposit: + type: number + planned_total_rent: + type: number + heating_costs_in_operating_costs: + type: boolean + contracted_lease_base_rent: + type: string + contracted_lease_operating_costs: + type: string + contracted_lease_deposit: + type: string + floor: + type: integer + group_home: + type: integer + customer_attributes: + type: object + BuildingUnitsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + BuildingUnitShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - required: + - name + - building + - type + - user + - last_editor + - organisation + - customer_attributes + - customer_attributes_schema + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + levels: + type: array + items: + $ref: '#/components/schemas/LevelIndex' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneIndex' + facilites: + type: array + items: + $ref: '#/components/schemas/FacilityIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + customer_attributes_schema: + $ref: '#/components/schemas/CustomerAttributesSchemaShow' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + BuildingUnitIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - properties: + building_unit_type: + $ref: '#/components/schemas/BuildingUnitType' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + contract_ids: + type: array + example: [] + items: {} + attachments: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + BuildingUnitCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - $ref: '#/components/schemas/BuildingUnitsAttributes' + - required: + - name + - building_id + - customer_attributes + properties: + building_id: + type: integer + building_unit_type_id: + type: integer + tag_ids: + type: array + items: + type: integer + BuildingUnitUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnit' + - properties: + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + tag_ids: + type: array + items: + type: integer + - $ref: '#/components/schemas/BuildingUnitsAttributes' + BuildingUnitMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - required: + - id + - unit + - member + - last_editor + properties: + unit: + $ref: '#/components/schemas/BuildingUnit' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + BuildingUnitMembershipCreate: + type: object + required: + - unit_id + - member_id + - member_type + properties: + unit_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - level + - room + - zone + - facility + BuildingEnergy: + type: object + properties: + energy_volume: + type: integer + co2_emission_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingEnergyShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type + - building + - energy_volume_metric + - co2_emission_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingEnergyCreate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - required: + - energy_type_id + - energy_volume_metric_id + - co2_emission_volume_metric_id + properties: + energy_type_id: + type: integer + energy_volume_metric_id: + type: integer + co2_emission_volume_metric_id: + type: integer + BuildingEnergyIndex: + allOf: + - $ref: '#/components/schemas/BuildingEnergy' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + energy_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + energy_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + co2_emission_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category + - building + - value_metric + properties: + building: + $ref: '#/components/schemas/Building' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingsFinanceIndex: + allOf: + - $ref: '#/components/schemas/BuildingsFinance' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitsFinance: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitsFinanceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category + - building_unit + - value_metric + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + finance_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitsFinanceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitsFinanceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitsFinance' + - required: + - finance_category_id + - value_metric_id + properties: + finance_category_id: + type: integer + value_metric_id: + type: integer + BuildingFm: + type: object + properties: + value: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingFmShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingFmCreate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmUpdate: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - required: + - activity_category_id + properties: + activity_category_id: + type: integer + BuildingFmIndex: + allOf: + - $ref: '#/components/schemas/BuildingFm' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + activity_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetail: + type: object + BuildingUnitRetailShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept + - building_unit + properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - required: + - shop_concept_id + properties: + shop_concept_id: + type: integer + BuildingUnitRetailIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetail' + - properties: + building_unit: + $ref: '#/components/schemas/BuildingUnit' + shop_concept: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitRetailMetric: + type: object + properties: + value: + type: integer + BuildingUnitRetailMetricShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - building_unit_retail + - category + - value_metric + properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitRetailMetricCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - required: + - category_id + - value_metric_id + properties: + category_id: + type: integer + value_metric_id: + type: integer + BuildingUnitRetailMetricIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitRetailMetric' + - properties: + building_unit_retail: + $ref: '#/components/schemas/BuildingUnitRetail' + category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + value_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingWater: + type: object + properties: + water_volume: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingWaterShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category + - building + - water_volume_metric + properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingWaterCreate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterUpdate: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - required: + - water_category_id + - water_volume_metric_id + properties: + water_category_id: + type: integer + water_volume_metric_id: + type: integer + BuildingWaterIndex: + allOf: + - $ref: '#/components/schemas/BuildingWater' + - properties: + building: + $ref: '#/components/schemas/Building' + water_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + water_volume_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + AddtlBuildingId: + type: object + properties: + addtl_id: + type: string + AddtlBuildingIdShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category + - building + properties: + building: + $ref: '#/components/schemas/Building' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + AddtlBuildingIdCreate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdUpdate: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - required: + - addtl_id_category_id + properties: + addtl_id_category_id: + type: integer + AddtlBuildingIdIndex: + allOf: + - $ref: '#/components/schemas/AddtlBuildingId' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + addtl_id_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Phase: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - building + - building::unit + phase_is_milestone: + type: boolean + szenario: + type: string + version: + type: integer + plan_start_date: + type: string + format: date-time + plan_end_date: + type: string + format: date-time + plan_cost: + type: integer + actual_start_date: + type: string + format: date-time + actual_end_date: + type: string + format: date-time + actual_cost: + type: integer + PhaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Phase' + - required: + - phase_category + - status + - plan_cost_metric + - actual_cost_metric + properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + PhaseCreate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseUpdate: + allOf: + - $ref: '#/components/schemas/Phase' + - required: + - status_id + - plan_cost_metric_id + - plan_cost_metric_id + - actual_cost_metric_id + properties: + phase_category_id: + type: integer + status_id: + type: integer + plan_cost_metric_id: + type: integer + actual_cost_metric_id: + type: integer + PhaseIndex: + allOf: + - $ref: '#/components/schemas/Phase' + - properties: + phase_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + status: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + plan_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + actual_cost_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + RentTracker: + type: object + properties: + version: + type: integer + planned_pay: + type: integer + planned_pay_date: + type: string + format: date-time + actual_pay: + type: integer + actual_pay_date: + type: string + format: date-time + RentTrackerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category + - pay_currency + properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + building_unit: + $ref: '#/components/schemas/BuildingUnit' + property: + $ref: '#/components/schemas/Property' + building: + $ref: '#/components/schemas/Building' + contract: + $ref: '#/components/schemas/Contract' + lessor: + $ref: '#/components/schemas/Person' + child_of: + $ref: '#/components/schemas/RentTracker' + RentTrackerCreate: + allOf: + - $ref: '#/components/schemas/RentTracker' + - required: + - payment_category_id + - pay_currency_id + properties: + payment_category_id: + type: integer + pay_currency_id: + type: integer + building_unit_id: + type: integer + property_id: + type: integer + building_id: + type: integer + contract_id: + type: integer + lessor_id: + type: integer + child_of_id: + type: integer + lessee_ids: + type: array + items: + type: integer + RentTrackerIndex: + allOf: + - $ref: '#/components/schemas/RentTracker' + - properties: + payment_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + pay_currency: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingParking: + type: object + properties: + places: + type: integer + BuildingParkingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category + properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingParkingCreate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingUpdate: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - required: + - parking_category_id + properties: + parking_category_id: + type: integer + BuildingParkingIndex: + allOf: + - $ref: '#/components/schemas/BuildingParking' + - properties: + parking_category: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingArea: + type: object + properties: + volume: + type: integer + BuildingAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingArea' + - properties: + area_type: + $ref: '#/components/schemas/Building' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitArea: + type: object + properties: + volume: + type: integer + BuildingUnitAreaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type + - area_metric + - area_norm + properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitAreaCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - required: + - area_type_id + - area_metric_id + - area_norm_id + properties: + area_type_id: + type: integer + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitAreaIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitArea' + - properties: + area_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlace: + type: object + BuildingUnitPlaceShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label + properties: + building: + $ref: '#/components/schemas/Building' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlaceCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - required: + - type_label_id + properties: + type_label_id: + type: integer + BuildingUnitPlaceIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlace' + - properties: + building: + $ref: '#/components/schemas/BuildingShow' + type_label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + deleted_at: + type: string + format: date-time + BuildingUnitPlacesTimeboxed: + type: object + properties: + num_of_units: + type: integer + num_of_places: + type: integer + num_of_vacant_places: + type: integer + area: + type: integer + from_date: + type: string + format: date-time + to_date: + type: string + format: date-time + BuildingUnitPlacesTimeboxedShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - building_unit_place + - area_metric + - area_norm + properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesTimeboxedCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - required: + - area_metric_id + - area_norm_id + properties: + area_metric_id: + type: integer + area_norm_id: + type: integer + BuildingUnitPlacesTimeboxedIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + - properties: + building_unit_place: + $ref: '#/components/schemas/BuildingUnitPlace' + area_metric: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + area_norm: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + BuildingUnitPlacesProperty: + type: object + BuildingUnitPlacesPropertieshow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - building_unit_places_timeboxed + - property + - property_value + properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + BuildingUnitPlacesPropertyCreate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyUpdate: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - required: + - property_id + - property_value_id + properties: + property_id: + type: integer + property_value_id: + type: integer + BuildingUnitPlacesPropertyIndex: + allOf: + - $ref: '#/components/schemas/BuildingUnitPlacesProperty' + - properties: + building_unit_places_timeboxed: + $ref: '#/components/schemas/BuildingUnitPlacesTimeboxed' + property: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + property_value: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + Person: + type: object + properties: + name: + type: string + first_name: + type: string + last_name: + type: string + company: + type: string + email: + type: string + phone: + type: string + street: + type: string + street_number: + type: string + zip_code: + type: string + city: + type: string + country: + type: string + external_id: + type: string + source_system: + type: string + PeopleAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + PersonShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - required: + - name + - user + - organisation + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + PersonCreate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + PersonUpdate: + allOf: + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + PersonIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Person' + - $ref: '#/components/schemas/PeopleAttributes' + - required: + - name + - user + - organisation + ReportTemplate: + type: object + properties: + name: + type: string + query: + properties: + filters: + type: array + items: + properties: + dimension: + type: string + operator: + type: string + values: + type: array + items: {} + measures: + type: array + items: {} + dimensions: + type: array + items: {} + timeDimensions: + type: array + items: {} + ReportTemplateShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportTemplateCreate: + allOf: + - $ref: '#/components/schemas/ReportTemplate' + - required: + - name + - query + ReportAccountSchema: + type: object + properties: + cubes: + type: array + items: + properties: + name: + type: string + measures: + type: array + items: {} + dimensions: + type: array + items: {} + filters: + type: array + items: {} + timeDimensions: + type: array + items: {} + segments: + type: array + items: {} + limit: + type: integer + offset: + type: integer + order: + type: string + enum: + - asc + - desc + timezone: + type: string + renewQuery: + type: boolean + ungrouped: + type: boolean + ReportAccountSchemaShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + ReportAccountSchemaCreate: + allOf: + - $ref: '#/components/schemas/ReportAccountSchema' + - required: + - cubes + PersonMembership: + type: object + properties: + person_id: + type: number + label_id: + type: number + role: + type: string + member_type: + type: string + member_id: + type: number + deleted_at: + type: string + format: date-time + PersonMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/PersonMembership' + - required: + - user + - organisation + PersonMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + required: + - id + - person + - member + - last_editor + properties: + deleted_at: + type: string + format: date-time + label: + $ref: '#/components/schemas/CustomerAccountCategory' + person: + $ref: '#/components/schemas/Person' + member: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + PersonMembershipCreate: + type: object + required: + - person_id + - member_id + - member_type + properties: + person_id: + type: integer + role: + type: string + enum: + - lessee + - lift_manager + - building_owner + - building_operator + - investor + - facility_manager + - property_manager + - asset_manager + - lessor + - contact + label_id: + type: integer + member_id: + type: integer + member_type: + type: string + enum: + - building + - building::unit + - facility + - contract + Level: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: integer + category: + type: string + enum: + - flat_roof + - saddleback_roof + - hipped_roof + - polygons_hipped_roof + - crippled_hipped_roof + - tent_roof + - monopitch_roof + - schedule_roof + - mansard_roof + - trailing_roof + - only_roof + - roof_with_different_roof_pitches + description: > + flat_roof: Flachdach + + saddleback_roof: Satteldach + + hipped_roof: Walmdach + + polygons_hipped_roof: Vielecken Walmdach + + crippled_hipped_roof: Krüppelwalmdach + + tent_roof: Zeltdach + + monopitch_roof: Pultdach + + schedule_roof: Scheddach + + mansard_roof: Mansardendach + + trailing_roof: Schleppdach + + only_roof: Nurdach + + roof_with_different_roof_pitches: Dach mit Verschiedenen + Dachneigungen + LevelsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + LevelShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - required: + - name + - number + - building + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + rooms: + type: array + items: + $ref: '#/components/schemas/RoomIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + LevelCreate: + allOf: + - $ref: '#/components/schemas/Level' + - required: + - building_id + - name + - number + properties: + building_id: + type: integer + - $ref: '#/components/schemas/LevelsAttributes' + LevelUpdate: + allOf: + - $ref: '#/components/schemas/Level' + LevelIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Level' + - $ref: '#/components/schemas/LevelsAttributes' + - properties: + deleted_at: + type: string + format: date-time + thumbnail_url: + type: string + RoomAndZoneType: + type: object + required: + - id + - name + - code + - level + - net_floor_area_code + properties: + id: + type: integer + name: + type: string + code: + type: string + din_277_name: + type: string + example: + type: string + net_floor_area_code: + type: string + parent_id: + type: integer + depth: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Room: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + number: + type: string + area_in_sqm: + type: number + height_in_m: + type: number + perimeter_in_m: + type: number + RoomsAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: string + source_system: + type: string + metadata: + type: object + RoomShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - required: + - name + - user + - last_editor + - organisation + - level + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + level: + $ref: '#/components/schemas/LevelIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + zones: + type: array + items: + $ref: '#/components/schemas/ZoneShow' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + RoomCreate: + allOf: + - $ref: '#/components/schemas/Room' + - required: + - level_id + - name + properties: + level_id: + type: integer + room_and_zone_type_id: + type: integer + - $ref: '#/components/schemas/RoomsAttributes' + RoomUpdate: + allOf: + - $ref: '#/components/schemas/Room' + - properties: + room_and_zone_type_id: + type: integer + RoomIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Room' + - $ref: '#/components/schemas/RoomsAttributes' + - required: + - name + properties: + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + level: + $ref: '#/components/schemas/Level' + thumbnail_url: + type: string + Zone: + type: object + properties: + custom_id: + type: string + name: + type: string + comment: + type: string + area_in_sqm: + type: number + ZoneShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - name + - user + - room_and_zone_type + - last_editor + - organisation + - zone + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + room: + $ref: '#/components/schemas/RoomIndex' + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + building_units: + type: array + items: + $ref: '#/components/schemas/BuildingUnitIndex' + ZoneCreate: + allOf: + - $ref: '#/components/schemas/Zone' + - required: + - room_id + - room_and_zone_type_id + - name + properties: + room_id: + type: integer + room_and_zone_type_id: + type: integer + ZoneUpdate: + allOf: + - $ref: '#/components/schemas/Zone' + - properties: + room_and_zone_type_id: + type: integer + ZoneIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Zone' + - required: + - room_and_zone_type_id + - name + properties: + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + room_and_zone_type: + $ref: '#/components/schemas/RoomAndZoneType' + Department: + type: object + properties: + name: + type: string + DepartmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Department' + - required: + - name + - last_editor + properties: + last_editor: + $ref: '#/components/schemas/UserIndex' + DepartmentCreate: + allOf: + - $ref: '#/components/schemas/Department' + - required: + - name + DepartmentUpdate: + allOf: + - $ref: '#/components/schemas/Department' + Manufacturer: + type: object + properties: + name: + type: string + ManufacturerShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + - last_editor + properties: + deleted_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + ManufacturerCreate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + - required: + - name + ManufacturerUpdate: + allOf: + - $ref: '#/components/schemas/Manufacturer' + ModelType: + type: object + properties: + name: + type: string + ModelTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ModelType' + - required: + - name + - type: object + required: + - user + - last_editor + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ModelTypeCreate: + allOf: + - $ref: '#/components/schemas/ModelType' + - required: + - name + ModelTypeUpdate: + allOf: + - $ref: '#/components/schemas/ModelType' + FacilityType: + type: object + required: + - id + - code + - group_1 + - version + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeIndex: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + FacilityTypeWithSchema: + type: object + properties: + id: + type: integer + code: + type: string + group_1: + type: string + group_2: + type: string + group_3: + type: string + description: + type: string + version: + type: integer + json_schema: + type: object + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + last_editor: + $ref: '#/components/schemas/UserIndex' + Facility: + type: object + properties: + name: + type: string + custom_id: + type: string + external_id: + type: string + source_system: + type: string + ep_code: + type: string + comment: + type: string + inventory_number: + type: string + serial_number: + type: string + year_of_construction: + type: integer + last_inspection_at: + type: string + format: date-time + last_maintenance_at: + type: string + format: date-time + next_inspection_at: + type: string + format: date-time + next_maintenance_at: + type: string + format: date-time + latitude: + type: number + longitude: + type: number + type_dependent_attributes: + type: object + equipment_collection: + type: boolean + quantity: + type: number + facility_parent: + type: string + FacilitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + FacilityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - required: + - name + - facility_type + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + parent: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + lot: + $ref: '#/components/schemas/LotIndex' + building: + $ref: '#/components/schemas/BuildingIndexWithoutUnits' + level: + $ref: '#/components/schemas/LevelIndex' + room: + $ref: '#/components/schemas/RoomIndex' + zone: + $ref: '#/components/schemas/ZoneIndex' + manufacturer: + $ref: '#/components/schemas/Manufacturer' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + facility_type: + $ref: '#/components/schemas/FacilityType' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + images: + type: array + items: + $ref: '#/components/schemas/ImageIndex' + activities: + type: array + items: + $ref: '#/components/schemas/ActivityForFacility' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + FacilityCreate: + allOf: + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - required: + - facility_type_id + - location_id + - location_type + properties: + facility_type_id: + type: integer + model_type_id: + type: integer + location_id: + type: integer + location_type: + type: string + enum: + - property + - lot + - building + - level + - room + - zone + manufacturer_id: + type: integer + parent_id: + type: integer + FacilityUpdate: + allOf: + - $ref: '#/components/schemas/Facility' + - properties: + facility_type_id: + type: integer + model_type_id: + type: integer + manufacturer_id: + type: integer + parent_id: + type: integer + - $ref: '#/components/schemas/FacilitiesAttributes' + FacilityIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Facility' + - $ref: '#/components/schemas/FacilitiesAttributes' + - properties: + facility_type: + $ref: '#/components/schemas/FacilityType' + model_type: + $ref: '#/components/schemas/ModelTypeShow' + thumbnail_url: + type: string + deleted_at: + type: string + format: date-time + Activity: + type: object + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + external_id: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + ActivitiesAttributes: + properties: + external_data_attributes: + type: array + items: + type: object + properties: + external_id: + type: integer + source_system: + type: string + metadata: + type: object + ActivityShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Activity' + - required: + - deleted_at + - facility + - user + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + facility: + $ref: '#/components/schemas/FacilityIndex' + property: + $ref: '#/components/schemas/PropertyIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + external_data: + type: array + items: + type: object + properties: + id: + type: integer + external_id: + type: integer + source_system: + type: string + metadata: + type: object + parent_type: + type: string + parent_id: + type: string + ActivityCreate: + allOf: + - $ref: '#/components/schemas/Activity' + - required: + - category + - company + - facility_ids + - property_id + properties: + activity_type_id: + type: integer + facility_ids: + type: array + items: + type: integer + property_id: + type: integer + - $ref: '#/components/schemas/ActivitiesAttributes' + ActivityUpdate: + allOf: + - required: + - category + - company + properties: + category: + type: string + enum: + - inspection + - maintenance + - disturbance + - overhaul + - other + description: | + inspection: Prüfung + maintenance: Wartung + disturbance: Störung + overhaul: Instandsetzung + other: Andere + description: + type: string + company: + type: string + conducted_at: + type: string + format: date + labor_cost_in_cents: + type: integer + material_cost_in_cents: + type: integer + activity_type_id: + type: integer + ActivityIndex: + allOf: + - $ref: '#/components/schemas/Activity' + - $ref: '#/components/schemas/ActivitiesAttributes' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/Organisation' + facility: + $ref: '#/components/schemas/Facility' + attachments: + $ref: '#/components/schemas/Attachment' + ActivityForFacility: + allOf: + - $ref: '#/components/schemas/Activity' + - properties: + deleted_at: + type: string + format: date-time + activity_type: + type: array + items: + $ref: '#/components/schemas/ActivityType' + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + attachments: + type: array + items: + $ref: '#/components/schemas/AttachmentIndex' + ActivityType: + type: object + properties: + name: + type: string + ActivityTypeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ActivityType' + - required: + - deleted_at + - user + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + ActivityTypeCreate: + allOf: + - $ref: '#/components/schemas/ActivityType' + - required: + - name + ActivityTypeIndex: + allOf: + - $ref: '#/components/schemas/ActivityType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account_translations: + $ref: '#/components/schemas/CustomerAccountTranslationIndex' + Attachment: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Attachment' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + AttachmentCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + AttachmentDuplicate: + type: object + required: + - copy_attachment_id + properties: + copy_attachment_id: + type: integer + parent_id: + type: integer + parent_type: + type: string + enum: + - taskmembership + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - activity + - contract + - contract::addition + - planversion + - app + AttachmentIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + file_filename_with_extension: + type: string + category: + type: string + enum: + - app + - plan + - plan_version + - nda + - agb + - energy_pass + - inspection_report + - building_permit + - certificate + - contract + - contract_addition + - bill + - other + description: | + plan: Bauplan + energy_pass: Energieausweis + inspection_report: Wartungsbericht + building_permit: Baugenehmigung + certificate: Zertifikat + bill: Rechnung + other: Andere + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + Image: + type: object + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + ImageShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Image' + - required: + - parent_id + - parent_type + - category + - last_editor + - organisation + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + organisation: + $ref: '#/components/schemas/OrganisationIndex' + ImageCreate: + type: object + required: + - parent_type + - parent_id + - file_base64 + - file_filename_with_extension + - category + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - property + - lot + - building + - building::unit + - level + - room + - zone + - facility + - user + - contract + - contract::addition + - app + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageUpdate: + type: object + properties: + name: + type: string + description: + type: string + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + cover: + type: boolean + ImageIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + name: + type: string + description: + type: string + url: + type: string + thumbnail_url: + type: string + file_filename_with_extension: + type: string + cover: + type: boolean + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + TimeDependentAttribute: + required: + - attribute_key + - attribute_value + - attribute_timestamp + - parent_id + - parent_type + type: object + properties: + parent_id: + type: integer + customer_account_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + attribute_key: + type: string + attribute_value: + type: string + attribute_type: + type: string + enum: + - individual + - global + attribute_timestamp: + type: string + format: date-time + TimeDependentAttributeShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + TimeDependentAttributeCreate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeUpdate: + allOf: + - $ref: '#/components/schemas/TimeDependentAttribute' + TimeDependentAttributeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TimeDependentAttribute' + - properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + Webhook: + type: object + properties: + url: + type: string + description: + type: string + mode: + type: number + events: + type: array + items: {} + secret: + type: string + organisation_ids: + type: array + items: {} + WebhookShow: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + customer_account: + $ref: '#/components/schemas/UserIndex' + organisation_ids: + type: array + items: + $ref: '#/components/schemas/Organisation' + WebhookCreate: + allOf: + - $ref: '#/components/schemas/Webhook' + - required: + - url + - description + - mode + - events + - secret + WebhookUpdate: + allOf: + - $ref: '#/components/schemas/Webhook' + WebhookIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Webhook' + - required: + - customer_account_id + Tag: + type: object + properties: + label: + type: string + TagShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Tag' + - required: + - last_editor + properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagCreate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagsMergeBody: + properties: + master_tag: + type: integer + other_tags: + type: array + items: {} + TagUpdate: + allOf: + - $ref: '#/components/schemas/Tag' + - required: + - label + TagIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + label: + type: string + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + count: + type: integer + TagAssignBuildings: + allOf: + - required: + - building_ids + - tag_ids + properties: + building_ids: + type: array + items: + type: integer + tag_ids: + type: array + items: + type: integer + CsvImport: + type: object + properties: + location_type: + type: string + is_demo: + type: boolean + number_of_imported_records: + type: integer + metadata: + type: object + CsvImportShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CsvImport' + - required: + - organisation + - customer_account + properties: + metadata: + type: object + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportShowCreate: + required: + - import_data + - general_status + - invalid_columns + properties: + import_data: + $ref: '#/components/schemas/CsvImportShow' + metadata: + type: object + general_status: + type: string + invalid_columns: + type: array + items: + properties: + row_number: + type: integer + failed_rows: + type: object + CsvImportCreate: + type: object + required: + - location_type + - file_base64 + - file_filename_with_extension + properties: + location_type: + type: string + enum: + - properties + - lots + - buildings + - building_units + - levels + - rooms + - facilities + - contracts + is_demo: + type: boolean + metadata: + type: object + file_base64: + type: string + format: byte + file_filename_with_extension: + type: string + CsvImportIndex: + allOf: + - $ref: '#/components/schemas/CsvImportShow' + - properties: + organisation: + $ref: '#/components/schemas/Organisation' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + url: + type: string + file_filename_with_extension: + type: string + CsvImportUpdate: + allOf: + - required: + - category + - company + properties: + status: + type: string + enum: + - canceled + - draft + - partially_imported + - imported + description: | + imported + canceled + partially_imported + Scorecard: + type: object + properties: + name: + type: string + description: + type: string + status: + type: string + enum: + - draft + - final + ScorecardShow: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + customer_account_id: + type: integer + assigners: + type: array + items: {} + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + segments: + $ref: '#/components/schemas/ScorecardSegment' + global: + type: boolean + ScorecardCreate: + allOf: + - $ref: '#/components/schemas/Scorecard' + - required: + - name + - status + properties: + global: + type: boolean + ScorecardUpdate: + allOf: + - $ref: '#/components/schemas/Scorecard' + ScorecardIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/Scorecard' + - required: + - buildings_applied + - assigners + - segments + - active + properties: + active: + type: boolean + buildings_applied: + type: array + items: {} + assigners: + type: array + items: {} + segments: + $ref: '#/components/schemas/ScorecardSegment' + customer_account_id: + type: integer + global: + type: boolean + ScorecardSegment: + type: object + properties: + name: + type: string + weight_type: + type: string + position: + type: integer + ScorecardSegmentShow: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - name + - weight_type + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSegmentCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + - required: + - scorecard_id + properties: + scorecard_id: + type: number + ScorecardSegmentUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSegment' + ScorecardTopic: + type: object + properties: + name: + type: string + weight_type: + type: string + weight_value: + type: integer + position: + type: integer + ScorecardTopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardTopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + - required: + - scorecard_segment_id + properties: + scorecard_segment_id: + type: number + ScorecardTopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardTopic' + ScorecardSubtopic: + type: object + properties: + name: + type: string + weight_value: + type: integer + scorecard_scores: + type: array + items: + type: object + properties: + score: + type: integer + range_type: + type: string + enum: + - in_range + - eq + - lt + - lte + - gt + - gte + attribute_value: + type: string + example: Can be of a type string, date, or array with two elements! + attribute_type: + type: string + attribute_id: + type: string + position: + type: integer + ScorecardSubtopicShow: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - name + - weight_type + - weight_value + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardSubtopicCreate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + - required: + - scorecard_topic_id + properties: + scorecard_topic_id: + type: number + ScorecardSubtopicUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardSubtopic' + ScorecardMembership: + type: object + properties: + scorecard_id: + type: number + parent_type: + type: string + enum: + - building + - building_unit + - facility + parent_id: + type: number + SegmentScore: + type: object + properties: + score: + type: number + topic_scores: + type: array + items: + $ref: '#/components/schemas/TopicScore' + segment: + $ref: '#/components/schemas/ScorecardSegmentShow' + TopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + subtopic_scores: + type: array + items: + $ref: '#/components/schemas/SubtopicScore' + topic: + $ref: '#/components/schemas/ScorecardTopicShow' + SubtopicScore: + type: object + properties: + unweighted_score: + type: number + weighted_score: + type: number + attribute_values: + type: object + example: '{ value: 123, type: numeric }' + status: + type: string + enum: + - pending + - calculated + - error + subtopic: + $ref: '#/components/schemas/ScorecardSubtopicShow' + ScorecardMembershipCost: + type: object + properties: + parent_id: + type: number + parent_type: + type: string + scorecard_id: + type: number + scorecard_name: + type: string + segment_id: + type: number + segment_name: + type: string + topic_id: + type: number + topic_name: + type: string + subtopic_id: + type: number + subtopic_name: + type: string + data_catalog_id: + type: number + technical_key: + type: string + name: + type: string + realcube_price: + type: integer + allOf: + - required: + - parent_ids + - scorecard_ids + properties: + parent_ids: + type: array + items: + type: integer + scorecard_ids: + type: array + items: + type: integer + ScorecardMembershipsIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - segment_scores + - scorecard_id + - parent_type + properties: + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + scorecard: + $ref: '#/components/schemas/Scorecard' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + parent: + $ref: '#/components/schemas/BuildingShow' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + ScorecardMembershipsCosts: + allOf: + - properties: + id: + type: integer + - $ref: '#/components/schemas/ScorecardMembershipCost' + ScorecardMembershipsShow: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + - required: + - scorecard_id + - parent_id + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + parent: + $ref: '#/components/schemas/BuildingShow' + segment_scores: + type: array + items: + $ref: '#/components/schemas/SegmentScore' + dirty_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + status: + type: string + enum: + - pending + - calculated + - error + error_messages: + type: array + items: + type: string + ScorecardMembershipDeAssign: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + ScorecardMembershipCreate: + allOf: + - required: + - scorecard_id + - parent_type + - parent_ids + properties: + parent_ids: + type: array + items: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_id: + type: number + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByScorecard: + allOf: + - required: + - scorecard_id + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + scorecard_ids: + type: array + items: + type: integer + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + RefreshByParent: + allOf: + - required: + - parent_id + - parent_type + - attribute_values + properties: + parent_id: + type: integer + parent_type: + type: string + enum: + - Building + - Building::Unit + - Facility + attribute_values: + type: object + example: >- + This is only used for manual entries ex: {'id_of_the_building': + {'id_of_the_subtopic': 'value'}} + ScorecardMembershipCostResponse: + allOf: + - required: + - name + - realcube_price + - parent_id + - parent_type + - scorecard_id + - scorecard_name + - segment_id + - segment_name + - topic_id + - topic_name + - subtopic_id + - subtopic_name + - data_catalog_id + - technical_key + properties: + name: + type: string + realcube_price: + type: integer + parent_type: + type: string + parent_id: + type: integer + scorecard_id: + type: integer + scorecard_name: + type: string + segment_id: + type: integer + segment_name: + type: string + topic_id: + type: integer + topic_name: + type: string + CountBuildingsResponse: + allOf: + - required: + - scorecard_id + - nr_of_buildings + properties: + scorecard_id: + type: integer + nr_of_buildings: + type: integer + ScorecardMembershipUpdate: + allOf: + - $ref: '#/components/schemas/ScorecardMembership' + ScorecardAssigner: + type: object + ScorecardAssignersIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/ScorecardShow' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignersShow: + allOf: + - $ref: '#/components/schemas/ScorecardAssigner' + - required: + - assigner + - scorecard + properties: + scorecard: + $ref: '#/components/schemas/Scorecard' + assigner: + $ref: '#/components/schemas/User' + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + ScorecardAssignerCreate: + allOf: + - required: + - assigner_id + - scorecard_id + properties: + assigner_ids: + type: array + items: + type: integer + scorecard_id: + type: number + DataCatalog: + type: object + properties: + technical_key: + type: string + name: + type: string + sku: + type: string + source: + type: string + description: + type: string + country: + type: string + locale: + type: string + quality_indicator: + type: string + enum: + - fact + - predicted + - estimated + category_l1: + type: string + category_l2: + type: string + category_l3: + type: string + category_l4: + type: string + category_l5: + type: string + realcube_price: + type: integer + realcube_currency: + type: string + realcube_price_category: + type: string + data_lifetime: + type: integer + attribute_type: + type: string + enum: + - numeric + - fixed + - boolean + - date + - string + unit: + type: string + data_catalogsShow: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + user: + $ref: '#/components/schemas/UserIndex' + last_editor: + $ref: '#/components/schemas/UserIndex' + app: + $ref: '#/components/schemas/App' + DataCatalogCreate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + - required: + - technical_key + - app_id + - source + - country + - locale + - quality_indicator + - category_l1 + - realcube_price + properties: + app_id: + type: integer + DataCatalogUpdate: + allOf: + - $ref: '#/components/schemas/DataCatalog' + DataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/DataCatalog' + - required: + - app_id + properties: + user_id: + type: integer + last_editor_id: + type: integer + app_id: + type: integer + RawDataCatalog: + type: object + properties: + version: + type: integer + status: + type: string + enum: + - applied + - new + raw_data: + type: object + RawDataCatalogsShow: + allOf: + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RawDataCatalogIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RawDataCatalog' + - required: + - app_id + - version + properties: + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + app: + $ref: '#/components/schemas/App' + RentIncreaseType: + type: object + properties: + name: + type: string + description: + type: string + category: + type: integer + RentIncreaseTypeIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseType' + - properties: + deleted_at: + type: string + format: date-time + user: + $ref: '#/components/schemas/User' + last_editor: + $ref: '#/components/schemas/User' + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseIndices: + type: object + properties: + value: + type: integer + date: + type: string + format: date + rent_increase_type_id: + type: string + subtype: + type: string + enum: + - residential + - office + - commercial + RentIncreaseIndicesIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseIndices' + - properties: + deleted_at: + type: string + format: date-time + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + RentIncreaseMapping: + type: object + properties: + values: + type: object + apply_automatically: + type: boolean + contract_id: + type: integer + rent_increase_type_id: + type: integer + user_id: + type: integer + last_editor_id: + type: integer + RentIncreaseMappingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/RentIncreaseMapping' + - required: + - rent_increase_type + properties: + rent_increase_type: + type: object + RentIncreaseMappingIndex: + allOf: + - $ref: '#/components/schemas/RentIncreaseMapping' + - properties: + rent_increase_type: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + TaskMembership: + type: object + properties: + task_id: + type: integer + place_id: + type: integer + organisation_id: + type: integer + place_type: + type: string + enum: + - Building + - Building::Unit + TaskMembershipShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembership' + - properties: + organisation_id: + type: integer + attachments: + type: array + items: + $ref: '#/components/schemas/Attachment' + TaskMembershipIndex: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/TaskMembershipShow' + - properties: + organisation_id: + type: integer + place_name: + type: string + place_parent_id: + type: integer + RentIncrease: + type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + RentIncreaseShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - type: object + properties: + start_date: + type: string + format: date-time + value: + type: integer + recurring_increase_year: + type: integer + recurring_increase_month: + type: integer + recurring: + type: boolean + status: + type: integer + enum: + - 1 + - 2 + - 3 + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + step_two_enabled: + type: boolean + step_three_enabled: + type: boolean + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + building_type: + type: string + enum: + - residential + - office + - commercial + automatic_adjustment: + type: boolean + rent_increase_type: + $ref: '#/components/schemas/RentIncreaseType' + customer_account: + type: object + contract_membership: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + member_type: + type: string + member_id: + type: string + member_name: + type: string + parent_id: + type: string + parent_name: + type: string + contract: + type: object + costs: + type: array + items: + type: object + RentIncreaseIndex: + allOf: + - required: + - id + - created_at + properties: + id: + type: integer + created_at: + type: string + format: date-time + contract_membership_id: + type: integer + start_date: + type: string + format: date-time + value: + type: integer + status: + type: string + enum: + - 1 + - 2 + - 3 + recurring: + type: boolean + recurring_increase_month: + type: integer + recurring_increase_year: + type: integer + customer_account_id: + type: integer + contract_membership_member_type: + type: string + contract_membership_member_id: + type: integer + contract_membership_member_name: + type: string + person_name: + type: string + contract_start_date: + type: string + format: date-time + contract_membership_cost_amount: + type: integer + rent_increase_type_category: + type: string + rent_increase_type_name: + type: string + rent_increase_type_id: + type: integer + old_vpi_month: + type: string + format: date + new_vpi_month: + type: string + format: date + automatic_adjustment: + type: boolean + adjustment_percentage: + type: number + max_increase_percentage: + type: number + threshold: + type: number + building_type: + type: string + enum: + - residential + - office + - commercial + RentIncreaseCreate: + allOf: + - $ref: '#/components/schemas/RentIncrease' + - properties: + rent_increase_type_id: + type: integer + contract_membership_id: + type: integer + EmissionFactorSetting: + type: object + properties: + value: + type: number + EmissionFactorSettingShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/EmissionFactorSetting' + - type: object + required: + - value + - label + - customer_account + properties: + customer_account: + $ref: '#/components/schemas/CustomerAccount' + label: + $ref: '#/components/schemas/CustomerAccountCategoryShow' + EmissionFactorSettingCreate: + allOf: + - $ref: '#/components/schemas/EmissionFactorSetting' + - required: + - value + - customer_account_id + - label_id + properties: + label_id: + type: integer + EmissionFactorSettingUpdate: + allOf: + - type: array + items: + type: object + properties: + label_id: + type: number + value: + type: number + CustomerAccountCategoryConfig: + type: object + properties: + display: + type: boolean + CustomerAccountCategoryConfigShow: + allOf: + - $ref: '#/components/schemas/PersistedRecord' + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - required: + - label_id + - customer_account_translations + properties: + customer_account_category: + $ref: '#/components/schemas/CustomerAccountCategory' + customer_account: + $ref: '#/components/schemas/CustomerAccount' + CustomerAccountCategoryConfigCreate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + - properties: + customer_account_category_id: + type: integer + CustomerAccountCategoryConfigUpdate: + allOf: + - $ref: '#/components/schemas/CustomerAccountCategoryConfig' + SignInError: + properties: + source: + type: string + example: password + title: + type: string + example: Invalid email password combination + AuthenticationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing api key + AuthorizationError: + properties: + source: + type: string + example: X-Api-Key + title: + type: string + example: Invalid or missing authorization + UnprocessableRequestError: + properties: + source: + type: string + example: record + title: + type: string + example: could not be deleted + NotFoundError: + properties: + source: + type: string + example: id + title: + type: string + example: Couldn't find Resource with 'id'=12 + InternalServerError: + properties: + source: + type: string + example: application + title: + type: string + example: We're sorry, but something went wrong + ServiceUnavailableError: + properties: + source: + type: string + example: application + title: + type: string + example: Service Temporarily Unavailable + PersistedRecord: + type: object + properties: + id: + type: integer + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - id + - updated_at + - created_at diff --git a/sdks/db/processed-custom-request-cache/packetfabric.com.yaml b/sdks/db/processed-custom-request-cache/packetfabric.com.yaml new file mode 100644 index 000000000..a4a0e6803 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/packetfabric.com.yaml @@ -0,0 +1,107 @@ +processed: + securitySchemes: + BearerAuth: + type: http + scheme: bearer + apiBaseUrl: https://api.packetfabric.com + apiVersion: 2.0.0 + apiDescription: > + Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the + token. + + + + Use that token and "Authorize" button to authenticate your requests. + + + + You can also use that token to authorize your `curl` request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" + + ``` + + + Python code to authenticate and utilize the + + [Bearer + token](https://swagger.io/docs/specification/authentication/bearer-authentication/): + + + ``` + + import requests + + login_url = 'https://api.packetfabric.com/v2/auth/login' + + login_payload = { + 'login': 'admin', + 'password': 'p4ssw0rd' + } + + r = requests.post(login_url, json=login_payload) + + auth_token = r.json()['token'] + + request_header = { + 'Authorization': f'Bearer {auth_token}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + + + *For resellers only*: + + + To make the request on behalf of reseller's customer - add `On-Behalf: + customer UUID` header to the request: + + + ``` + + curl -X GET "https://api.packetfabric.com/v2/activity-logs" -H "accept: */*" + -H "Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094" -H + "On-Behalf: 11111111-2222-3333-4444-eb1424631094" + + ``` + + + *For API Key Authentication* + + To utilize an API Key instead of login/password, you will need to generate a + key and save the token. + + Using that token, as the Bearer token, you can then login. + + + ``` + + api_key = + + request_header = { + 'Authorization': f'Bearer {api_key}' + } + + contacts_url = 'https://api.packetfabric.com/v2/contacts' + + r = requests.get(contacts_url, headers=request_header) + + ``` + apiTitle: PacketFabric API + endpoints: 261 + sdkMethods: 341 + schemas: 0 + parameters: 1267 + originalCustomRequest: + type: GET + url: https://api.packetfabric.com/openapi/specification/swagger.yaml + customRequestSpecFilename: packetfabric.com.yaml + difficultyScore: 657.75 diff --git a/sdks/db/processed-custom-request-cache/rated.network.yaml b/sdks/db/processed-custom-request-cache/rated.network.yaml new file mode 100644 index 000000000..7805e1ed2 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/rated.network.yaml @@ -0,0 +1,48 @@ +processed: + securitySchemes: {} + apiBaseUrl: https://api.rated.network + apiVersion: 0.0.1 + apiDescription: > + + Welcome to Rated API Swagger doc for developers! This doc outlines the Rated + API functionality and API architecture. + + + It is separated into seven categories: + + + - **Validators**: Endpoints to query into individual validator indices or + aggregations of validator indices. + + - **Operators**: Endpoints to query into pre-materialized operator + groupings. + + - **Network**: Endpoints to query into network aggregate stats. + + - **Slashings**: Endpoints to query into network aggregate stats. + + - **Withdrawals (beta)**: Endpoints to query into when a withdrawal is + expected to land. + + - **Self Report (beta)**: Endpoint to query into all slashed validators + and individual slashed validator indices + + + [Terms of Use](https://legal.rated.network/terms/api-terms-of-use) + + + [API Access Form](https://bit.ly/ratedAPIkeys) + + + [API Reference](https://api-docs.rated.network/rated-api/api-reference) + apiTitle: Rated API Beta + endpoints: 77 + sdkMethods: 80 + schemas: 91 + parameters: 408 + originalCustomRequest: + type: GET + url: https://api.rated.network/openapi.json + apiBaseUrl: https://api.rated.network + customRequestSpecFilename: rated.network.yaml + difficultyScore: 227.5 diff --git a/sdks/db/processed-custom-request-cache/realcube.com.yaml b/sdks/db/processed-custom-request-cache/realcube.com.yaml new file mode 100644 index 000000000..02acc003b --- /dev/null +++ b/sdks/db/processed-custom-request-cache/realcube.com.yaml @@ -0,0 +1,156 @@ +processed: + securitySchemes: + api_key: + type: apiKey + name: X-Api-Key + in: header + oauth: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: /oauth/authorize + tokenUrl: /oauth/token + scopes: + app_category_read: Get the app categories + app_config_read: Get the app_configs + app_config_write: Create or edit an app_config + app_config_destroy: Delete the app_config + app_data_repository_read: Get the app_data_repositories + app_data_repository_write: Create or edit an app_data_repository + app_data_repository_destroy: Delete the app_data_repository + app_subscription_read: Get the app_subscriptions + app_subscription_write: Create or edit an app_subscription + app_subscription_destroy: Delete the app_subscription + app_read: Get the apps + app_write: Create or edit an app + app_destroy: Delete the app + contract_addition_read: Get the contract_additions + contract_addition_write: Create or edit an contract_addition + contract_addition_destroy: Delete the contract_addition + contract_grant_read: Get the contract_grants + contract_grant_write: Create or edit an contract_grant + contract_grant_destroy: Delete the contract_grant + contract_membership_cost_read: Get the contract_membership_costs + contract_membership_cost_write: Create or edit an contract_membership_cost + contract_membership_cost_destroy: Delete the contract_membership_cost + contract_membership_write: Create or edit an contract_membership + contract_membership_destroy: Delete the contract_membership + contract_read: Get the contracts + contract_write: Create or edit an contract + contract_destroy: Delete the contract + cost_type_read: Get the cost_types + cost_type_write: Create or edit an cost_type + cost_type_destroy: Delete the cost_type + security_deposit_write: Create or edit an security_seposit + security_deposit_destroy: Delete the security_seposit + report_account_schema_read: Get the report_account_schemas + report_account_schema_write: Create or edit an report_account_schema + report_account_schema_destroy: Delete the report_account_schema + report_template_read: Get the report_templates + report_template_write: Create or edit the report_template + report_template_destroy: Delete the report_template + department_read: Get the departments + department_write: Create or edit an department + department_destroy: Delete the department + manufacturer_read: Get the manufacturers + manufacturer_write: Create or edit an manufacturer + manufacturer_destroy: Delete the manufacturer + room_and_zone_type_read: Get room_and_zone_types + room_read: Get the rooms + room_write: Create or edit an room + room_destroy: Delete the room + zone_write: Create or edit an zone + zone_destroy: Delete the zone + level_read: Get level + level_write: Create or edit an facility_type + level_destroy: Delete the facility_type + facility_read: Get facility + facility_write: Create or edit an facility_type + facility_destroy: Delete the facility_type + facility_type_read: Get the facility_types + plan_version_write: Create or edit an plan_version + plan_version_destroy: Delete the plan_version + plan_read: Get the plans + plan_write: Create or edit an plan + plan_destroy: Delete the plan + plan_config_read: Get the config of a plan + activity_read: Fetch activities + activity_write: Create and edit an activity + activity_destroy: Delete the activity + attachment_write: Create or edit an attachment + attachment_destroy: Delete the attachment + building_filter_setting_read: Get the building_filter_settings + building_filter_setting_write: Create or edit an building_filter_setting + building_filter_setting_destroy: Delete the building_filter_setting + building_save_filter_read: Get the building_save_filters + building_save_filter_write: Create or edit an building_save_filter + building_save_filter_destroy: Delete the building_save_filter + building_type_read: Get the building_types + building_unit_membership_write: Create or edit an building_unit_membership + building_unit_membership_destroy: Delete the building_unit_membership + building_unit_type_read: Get the building_unit_types + building_unit_type_write: Create or edit an building_unit_type + building_unit_type_destroy: Delete the building_unit_type + building_unit_read: Get the building_units + building_unit_write: Create or edit an building_unit + building_unit_destroy: Delete the building_unit + building_read: Get the buildings + building_write: Create or edit an building + building_destroy: Delete the building + customer_account_config_read: Get the customer_account_configs + customer_account_config_write: Create or edit an customer_account_config + customer_account_schema_read: Get the customer_account_schemas + customer_account_schema_write: Create or edit an customer_account_schema + customer_attributes_schema_membership_read: Get the customer_attributes_schema_memberships + customer_attributes_schema_membership_write: Create or edit an customer_attributes_schema_membership + customer_attributes_schema_read: Get the customer_attributes_schemas + customer_attributes_schema_write: Create or edit an customer_attributes_schema + image_write: Create or edit the image + image_destroy: Delete the image + lot_read: Get the lots + lot_write: Create or edit an lot + lot_destroy: Delete the lot + organisation_config_read: Get the organisation_configs + organisation_config_write: Create or edit an organisation_config + organisation_membership_read: Get the organisation_memberships + organisation_membership_write: Create or edit an organisation_membership + organisation_membership_destroy: Delete the organisation_membership + organisation_read: Get the organisations + organisation_write: Create or edit an organisation + person_read: Get the people + person_write: Create or edit an person + person_destroy: Delete the person + person_membership_write: Create or edit an person_membership + person_membership_destroy: Delete the person_membership + property_read: Get the properties + property_write: Create or edit an property + property_destroy: Delete the property + property_type_read: Get the property_types + user_write: Log In or edit, or reset password for an user + user_destroy: Log out + vpi_index_read: Get the vpi_index + credential_read: Get oauth credentials + dashboard_config_read: Get dashboard config for an account + dashboard_config_write: Add or edit the dashboard config for an account + dashboard_config_destroy: Remove the dashboard config for an account + time_dependent_attribute_read: Get time_dependent_attribute for an account + time_dependent_attribute_write: Add or edit the time_dependent_attribute for an account + time_dependent_attribute_destroy: Remove the time_dependent_attribute for an account + ep_code_combination_read: Get the ep_code_combinations + customer_account_write: '' + apiBaseUrl: api.realcube.com/api + apiVersion: 1.0.0 + apiDescription: >- + This API allows developers to communicate with the REALCUBE platform. Admins + can also access the [admin area](https://api.realcube.com). + apiTitle: REALCUBE API + endpoints: 214 + sdkMethods: 387 + schemas: 438 + parameters: 770 + contactEmail: uwe.forgber@realcube.com + originalCustomRequest: + type: GET + url: https://api.realcube.com/api/v1/docs.json + customRequestSpecFilename: realcube.com.yaml + difficultyScore: 798.5 diff --git a/sdks/db/progress/packet-fabric-progress.yaml b/sdks/db/progress/packet-fabric-progress.yaml new file mode 100644 index 000000000..01b7c6bc0 --- /dev/null +++ b/sdks/db/progress/packet-fabric-progress.yaml @@ -0,0 +1,2337 @@ +examples: {} +examples_2: {} +examples_3: {} +ignoreObjectsWithNoProperties: true +ignorePotentialIncorrectType: true +operationIds: + /v2.1/locations: + get: Locations_filterParamsList + /v2.1/ports/{port_circuit_id}/status: + get: Ports_getServiceStatus + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: CloudRouterConnections_createAwsConnection + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: CloudRouterConnections_createAzureExpressRouteConnection + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: CloudRouterConnections_createGoogleConnection + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: CloudRouterConnections_createIbmConnection + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: CloudRouterConnections_createOracleConnection + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: CloudRouterConnections_getStatus + /v2.1/services/cloud/connections/{ident}/status: + get: CloudServicesAws_getStatus + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: PtpServices_getServiceStatus + /v2.1/services/{vc_circuit_id}/status: + get: Services_getStatus + /v2/activity-logs: + get: ActivityLogs_getActivityLogList + /v2/activity-logs/{log_uuid}: + get: ActivityLogs_getEntry + /v2/aggregated-capacity: + get: FlexBandwidth_getAllContainers + post: FlexBandwidth_createFlexContainer + /v2/aggregated-capacity/{aggregate_capacity_id}: + delete: FlexBandwidth_deleteContainer + get: FlexBandwidth_getById + /v2/announcements: + get: Announcements_getCurrentCustomerList + /v2/api-keys: + get: ApiKeys_getUserList + post: ApiKeys_createNewKey + /v2/api-keys/{uuid}: + delete: ApiKeys_deleteByKey + /v2/auth/login: + post: Authentication_startSession + /v2/auth/logout: + get: Authentication_invalidateSession + /v2/auth/sessions: + delete: Authentication_removeAllSessions + get: Authentication_getAllActiveUserSessions + /v2/bgp-settings: + get: CloudRouterBgpSessionSettings_getList + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: CloudRouterBgpSessionSettings_getL3IflData + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: CloudRouterBgpSessionSettings_listPrefixes + /v2/billing/services/early-termination-liability/{circuit_id}: + get: Billing_earlyTerminationCost + /v2/billing/services/{account_uuid}: + get: Billing_accountOrdersGet + /v2/billing/services/{circuit_id}/modify/preview: + post: Billing_modifyOrderPreview + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: Billing_getStripeCustomerSessionUrl + /v2/contacts: + get: Contacts_getCurrentCustomerList + /v2/contacts/links: + get: Contacts_getContactCircuitLinks + /v2/contacts/{contact_uuid}/links/{circuit_id}: + delete: Contacts_deleteLink + post: Contacts_linkCircuit + /v2/customers/company-types: + get: Customers_getCompanyTypes + /v2/customers/current/account-managers: + get: Customers_getCurrentAccountManagers + /v2/customers/current/image: + post: Customers_uploadLogoImage + /v2/customers/current/ix-details: + patch: Customers_updateIxDetails + /v2/customers/current/locations: + get: Customers_getLocationList + /v2/customers/current/sales-team: + get: Customers_getCurrentSalesTeam + /v2/customers/images/{uuid}: + get: Customers_getLogoByUuid + /v2/customers/{customer_uuid}/industries: + get: Customers_getIndustriesByUuid + /v2/customers/{customer_uuid}/ix-details: + get: Customers_ixDetailsGet + /v2/customers/{customer_uuid}/locations: + get: Customers_getLocationsByUuid + /v2/customers/{customer_uuid}/service-provider-types: + get: Customers_getServiceProviderTypesByUuid + /v2/diagnostic-reports: + post: DiagnosticReports_createReport + /v2/documents: + get: Documents_listFilteredByParams + /v2/documents/{uuid}: + get: Documents_download + /v2/events: + post: StreamingEventsBeta_createSubscription + /v2/flex-bandwidth: + get: FlexBandwidth_getAllContainers + post: FlexBandwidth_createContainer + /v2/flex-bandwidth/{flex_bandwidth_id}: + delete: FlexBandwidth_deleteContainer + get: FlexBandwidth_getById + /v2/groups/{group_name}/permissions: + get: Groups_listPermissions + /v2/groups/{group_name}/users: + get: Groups_getUserList + /v2/labels/{value}: + get: Labels_associatedObjectsGet + /v2/lags/{lag_port_circuit_id}/members: + get: LaGs_listMembers + post: LaGs_addMemberInterface + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: LaGs_removeMemberInterface + /v2/lags/{port_circuit_id}/disable: + post: LaGs_disableTargetInterface + /v2/lags/{port_circuit_id}/enable: + post: LaGs_enableTargetInterface + /v2/locations: + get: Locations_filterParamsList + /v2/locations/cloud: + get: Locations_listCloudLocations + /v2/locations/extrametro: + get: Locations_listExtrametro + /v2/locations/markets: + get: Locations_getMarketList + /v2/locations/regions: + get: Locations_list + /v2/locations/{pop}/image: + get: Locations_getImage + /v2/locations/{pop}/port-availability: + get: Locations_getPortAvailabilityDataForPop + /v2/locations/{pop}/zones: + get: Locations_getZonesForPOP + /v2/maintenances/by-location: + get: MaintenanceNotifications_getCurrentFutureByPopNameAndMarketCode + /v2/maintenances/by-service/{circuit_id}: + get: MaintenanceNotifications_getAffectedServiceMaintenances + /v2/maintenances/history: + get: MaintenanceNotifications_getListIndividualHistories + /v2/maintenances/notifications: + get: MaintenanceNotifications_filterByUuidActionOrType + /v2/marketplace/service-categories: + get: Marketplace_getServiceCategories + /v2/marketplace/service-provider-types: + get: Marketplace_getServiceProviderTypes + /v2/marketplace/services: + get: Marketplace_customerServicesGet + post: Marketplace_createService + /v2/marketplace/services/quick-connect: + get: Marketplace_quickConnectList + /v2/marketplace/services/{service_uuid}: + delete: Marketplace_deleteService + get: Marketplace_getServiceObject + patch: Marketplace_updateService + /v2/marketplace/services/{service_uuid}/image: + delete: Marketplace_deleteServiceImage + get: Marketplace_serviceImageGet + post: Marketplace_updateServiceImage + /v2/marketplace/services/{service_uuid}/route-set: + get: Marketplace_serviceRouteSetGet + /v2/marketplace/services/{service_uuid}/thumbnail: + get: Marketplace_serviceThumbnailGet + post: Marketplace_updateServiceThumbnail + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: Metrics_getIpsecStatisticsByCloudRouterConnectionCircuitId + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: Metrics_getNatStatisticsByCloudRouterConnectionCircuitId + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: Metrics_cloudRouterConnectionRateGet + /v2/metrics/customer/ifd/rate/{type}: + get: Metrics_customerIfdRateData + /v2/metrics/customer/ifd/summary/{type}: + get: Metrics_customerIFDSummaryGet + /v2/metrics/customer/ifl/rate/{type}: + get: Metrics_customerRateByIfTypeGet + /v2/metrics/customer/ifl/summary/{type}: + get: Metrics_customerIflSummaryGet + /v2/metrics/customer/longhaul-usage: + get: Metrics_customerLonghaulUsageGet + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: Metrics_getOpticDataByPortCircuitId + /v2/objects/{circuit_id}/labels: + get: Objects_getLabels + /v2/outbound-cross-connects: + get: OutboundCrossConnects_list + post: OutboundCrossConnects_createNew + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + delete: OutboundCrossConnects_deleteCrossConnect + get: OutboundCrossConnects_getOne + patch: OutboundCrossConnects_updateSingle + /v2/ports: + get: Ports_getList + /v2/ports/export.csv: + get: Ports_exportCsv + /v2/ports/{port_circuit_id}/device-info: + get: Ports_getDeviceInfo + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: Ports_generateLOA + /v2/ports/{port_circuit_id}/router-logs: + get: Ports_getRouterLogs + /v2/ports/{port_circuit_id}/upgrade: + post: Ports_upgradeSubscriptionTerm + /v2/ports/{port_circuit_id}/vlan-summary: + get: Ports_getVlanSummary + /v2/quotes: + get: PortalQuotes_getCustomerQuotes + post: PortalQuotes_createNewQuote + /v2/quotes/published: + get: PortalQuotes_getPublishedQuotes + /v2/quotes/published/assigned: + get: PortalQuotes_getAssignedQuotes + /v2/quotes/published/{published_quote_uuid}: + get: PortalQuotes_getPublishedQuoteDetails + /v2/quotes/{quote_uuid}: + get: PortalQuotes_getDetails + patch: PortalQuotes_updateQuote + post: PortalQuotes_addQuoteLine + /v2/quotes/{quote_uuid}/csv: + get: PortalQuotes_getCsv + /v2/quotes/{quote_uuid}/duplicate: + post: PortalQuotes_duplicateQuote + /v2/quotes/{quote_uuid}/pdf: + get: PortalQuotes_getPdf + /v2/quotes/{quote_uuid}/publish: + post: PortalQuotes_publishQuote + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: PortalQuotes_deleteQuoteLine + /v2/request-aliases: + get: RequestAliases_getAll + post: RequestAliases_addNewAlias + /v2/request-aliases/{request_alias_uuid}: + delete: RequestAliases_deleteAlias + get: RequestAliases_byUuid + patch: RequestAliases_updateAlias + /v2/request-aliases/{request_alias_uuid}/contacts: + delete: RequestAliases_disassociateContacts + get: RequestAliases_getAllContacts + post: RequestAliases_associateContacts + /v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}: + delete: RequestAliases_disassociateContact + /v2/services: + get: Services_getCurrentCustomerServicesList + /v2/services/backbone: + post: Services_createBackboneVc + /v2/services/cloud-routers: + get: CloudRouters_listAssociated + post: CloudRouters_createNew + /v2/services/cloud-routers/connections: + get: CloudRouterConnections_listAll + /v2/services/cloud-routers/connections/export.csv: + get: CloudRouterConnections_downloadCsv + /v2/services/cloud-routers/connections/{circuit_id}: + get: CloudRouterConnections_getByCircuitId + /v2/services/cloud-routers/export.csv: + get: CloudRouters_downloadAsCsv + /v2/services/cloud-routers/requests: + get: CloudRouterThirdParty_listImportRequests + /v2/services/cloud-routers/requests/{import_circuit_id}: + delete: CloudRouterThirdParty_deleteRequest + get: CloudRouterThirdParty_importsRequestGet + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: CloudRouterThirdParty_acceptImportCircuit + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: CloudRouterThirdParty_rejectImportCircuit + /v2/services/cloud-routers/{circuit_id}: + delete: CloudRouters_deleteRouter + get: CloudRouters_getByCircuitId + patch: CloudRouters_updateExisting + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: CloudRouterConnections_checkBgpAddressUnique + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: CloudRouters_getAllRoutes + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: CloudRouters_getBgpLogs + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: CloudRouters_getBgpRoutes + /v2/services/cloud-routers/{circuit_id}/connections: + get: CloudRouterConnections_listForCircuit + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: CloudRouterConnections_createAwsConnection + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: CloudRouterConnections_createAzureConnection + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: CloudRouterConnections_createGoogleConnection + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: CloudRouterConnections_createIBMConnection + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: CloudRouterConnections_createIpsecConnection + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: CloudRouterConnections_createOracleConnection + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: CloudRouterConnections_attachPort + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: CloudRouterThirdParty_createRequest + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + delete: CloudRouterConnections_deleteByCircuitConnectionId + get: CloudRouterConnections_getSingleByCircuitId + patch: CloudRouterConnections_updateConnection + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: CloudRouterBgpSessionSettings_listBgpSessions + post: CloudRouterBgpSessionSettings_createL3Info + put: CloudRouterBgpSessionSettings_updateSessionInfo + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + delete: CloudRouterBgpSessionSettings_deleteSingleSession + get: CloudRouterBgpSessionSettings_getSingleSession + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: CloudRouterConnections_deleteConnection + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: CloudRouterBgpSessionSettings_getConnectionBgpRoutes + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: CloudRouterConnections_getInstanceStatus + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: CloudRouterConnections_getUpgradeOptions + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: CloudRouterThirdParty_listImports + post: CloudRouterThirdParty_importToConnection + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: CloudRouterThirdParty_removeMultiple + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + delete: CloudRouterThirdParty_removeConnectionImport + get: CloudRouterThirdParty_getSingleImport + patch: CloudRouterThirdParty_updateImportById + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: CloudRouterRouteSets_getList + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: CloudRouterRouteSets_getSingleRouteSet + patch: CloudRouterRouteSets_updateRouteSet + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: CloudRouterRouteSets_getConnections + put: CloudRouterRouteSets_updateConnections + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: CloudServicesAws_getAvailableRegions + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: CloudServicesAws_getResourcesInRegion + /v2/services/cloud/connections/dedicated: + get: CloudServicesAws_getCurrentDedicatedConnections + /v2/services/cloud/connections/dedicated/export.csv: + get: CloudServicesAws_getCurrentCustomerDedicatedConnectionsCsv + /v2/services/cloud/connections/hosted: + get: CloudServicesAws_listHostedConnections + /v2/services/cloud/connections/hosted/export.csv: + get: CloudServicesAws_listHostedConnectionsCsv + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: CloudServicesAws_getRouterConfig + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: CloudServicesAws_getConnectionStatus + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: CloudServicesAws_getConnectionUpgradeOptions + /v2/services/cloud/credentials: + get: CloudProviderCredentials_getAll + post: CloudProviderCredentials_createNewCredential + /v2/services/cloud/credentials/{credential_uuid}: + delete: CloudProviderCredentials_deleteCredential + patch: CloudProviderCredentials_updateCredential + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: CloudProviderCredentials_getAllConnections + /v2/services/cloud/dedicated/aws: + post: CloudServicesAws_requestConnection + /v2/services/cloud/dedicated/azure: + post: CloudServicesAzure_requestNewDedicatedConnection + /v2/services/cloud/dedicated/google: + post: CloudServicesGoogleCloud_requestDedicatedConnection + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: CloudServicesAws_updateDedicatedCloudConnection + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: CloudServicesAws_upgradeDedicatedCloudConnection + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: CloudServicesGoogleCloud_availableRegionsGet + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: CloudServicesGoogleCloud_getResourcesByRegion + /v2/services/cloud/hosted/aws: + post: CloudServicesAws_requestHostedConnection + /v2/services/cloud/hosted/azure: + post: CloudServicesAzure_requestNewExpressRoute + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: CloudServicesAzure_validateServiceKey + /v2/services/cloud/hosted/google: + post: CloudServicesGoogleCloud_requestNewConnection + /v2/services/cloud/hosted/ibm: + post: CloudServicesIbm_requestNewConnection + /v2/services/cloud/hosted/oracle: + post: CloudServicesOracle_requestConnection + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: CloudServicesOracle_getStatus + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: CloudServicesOracle_syncChanges + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: CloudServicesAws_updateHostedConnection + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: CloudServicesAws_upgradeHostedConnection + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: CloudServicesIbm_updateIbmCloudConnection + /v2/services/cloud/{cloud_circuit_id}: + delete: CloudServicesAws_deleteConnection + /v2/services/export.csv: + get: Services_exportCsvList + /v2/services/high-performance-internet: + get: HighPerformanceInternet_getCurrentCustomerHPIs + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: HighPerformanceInternet_getBgpConfig + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: HighPerformanceInternet_getStaticConfigurations + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: HighPerformanceInternet_getStatus + /v2/services/ipam/asns: + get: Ipam_getAsns + post: Ipam_allocateNewAsn + /v2/services/ipam/asns/{asn}: + delete: Ipam_deleteAsnByAsn + get: Ipam_getAsnById + /v2/services/ipam/contacts: + get: Ipam_getCurrentCustomerContacts + post: Ipam_addContact + /v2/services/ipam/contacts/{ipam_contact_uuid}: + delete: Ipam_deleteByUuid + get: Ipam_getByUuid + /v2/services/ipam/prefixes: + get: Ipam_getPrefixes + post: Ipam_allocatePrefix + /v2/services/ipam/prefixes/{prefix_circuit_id}: + delete: Ipam_deleteByCircuitId + get: Ipam_getByCircuitId + /v2/services/ipsec/gateway_address/uniqueness: + get: CloudRouterIPsec_checkGatewayAddressUniqueness + /v2/services/ix: + post: Services_createIxVc + /v2/services/point-to-point: + get: PtpServices_getAll + post: PtpServices_createService + /v2/services/point-to-point/{ptp_uuid}: + delete: PtpServices_deletePointToPoint + get: PtpServices_getServiceInfo + patch: PtpServices_updateDescription + /v2/services/point-to-point/{ptp_uuid}/status: + get: PtpServices_getServiceStatus + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: PtpServices_upgradePtpUuid + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: PtpServices_getUpgradeOptions + /v2/services/requests: + get: Services_listVcRequests + /v2/services/requests/{vc_request_uuid}: + delete: Services_deleteRequest + get: Services_getByUuid + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: CloudRouterThirdParty_provisionMarketplaceCloudRouterConnection + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: CloudServicesAws_provisionHosted + /v2/services/requests/{vc_request_uuid}/reject: + post: Services_rejectRequest + /v2/services/third-party: + post: Services_create3rdPartyVc + /v2/services/third-party/hosted/aws: + post: CloudServicesAws_requestCloudConnection + /v2/services/third-party/hosted/azure: + post: CloudServicesAzure_requestHostedConnection + /v2/services/third-party/hosted/google: + post: CloudServicesGoogleCloud_requestHostedConnection + /v2/services/third-party/hosted/oracle: + post: CloudServicesOracle_requestHostedConnection + /v2/services/{vc_circuit_id}/burst: + delete: Services_deleteBurst + post: Services_addSpeedBurst + /v2/services/{vc_circuit_id}/status: + get: Services_vcCircuitStatusGet + /v2/services/{vc_circuit_id}/upgrade: + post: Services_upgradeBillingTerms + /v2/services/{vc_circuit_id}/upgrade/options: + get: Services_getUpgradeOptions + /v2/signup/email-validation: + get: Signup_emailValidationCheck + /v2/svlan-labels: + post: SVlanLabels_createLabel + /v2/svlan-labels/mappings: + get: SVlanLabels_getLabels + /v2/svlan-labels/{port_circuit_id}: + get: SVlanLabels_getLabelsForPort + /v2/svlan-labels/{svlan_label_uuid}: + delete: SVlanLabels_deleteLabel + patch: SVlanLabels_updateLabelByUuid + /v2/team-invites: + get: TeamSignup_listInvitedUsers + post: TeamSignup_sendInvitationEmails + /v2/team-invites/{signup_uuid}: + get: TeamSignup_getDetails + /v2/team-invites/{signup_uuid}/resend: + post: TeamSignup_resendInvitation + /v2/team-invites/{signup_uuid}/user: + post: TeamSignup_createUserBasedOnInvitation + /v2/users: + get: Users_getList + /v2/users/mfa/disable: + post: MultiFactorAuthentication_disableUserMfa + /v2/users/mfa/enable: + post: MultiFactorAuthentication_enableUserAuth + /v2/users/mfa/qrcode: + get: MultiFactorAuthentication_generateQrCodeImage + /v2/users/mfa/setup: + post: MultiFactorAuthentication_generateSecretScratchCodes + /v2/users/request-password-reset: + post: Users_requestPasswordReset + /v2/users/reset-password: + post: Users_setNewPassword + /v2/users/{user_login}: + delete: Users_deleteUser + get: Users_getUserDetailsByLogin + /v2/users/{user_login}/groups: + get: Users_listUserGroups + /v2/users/{user_login}/groups/{group_name}: + delete: Users_deleteFromGroup + post: Users_addToGroup + /v2/users/{user_login}/password: + patch: Users_updatePassword + /v2/users/{uuid}: + get: Users_getDetailsByUuid +operationTags: {} +renameTags: {} +requestSchemaNames: + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + application/json: CloudRouterConnectionsCreateAwsConnectionRequest1 + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + application/json: CloudRouterConnectionsCreateAzureExpressRouteConnectionRequest + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + application/json: CloudRouterConnectionsCreateGoogleConnectionRequest1 + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + application/json: CloudRouterConnectionsCreateIbmConnectionRequest1 + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + application/json: CloudRouterConnectionsCreateOracleConnectionRequest1 + /v2/aggregated-capacity: + post: + application/json: FlexBandwidthCreateFlexContainerRequest + /v2/api-keys: + post: + application/json: ApiKeysCreateNewKeyRequest + /v2/auth/login: + post: + application/json: AuthenticationStartSessionRequest + /v2/auth/login/mfa: + post: + application/json: LoginMfaRequest + /v2/billing/services/{circuit_id}/modify: + post: + application/json: ModifyOrderRequest + /v2/billing/services/{circuit_id}/modify/preview: + post: + application/json: BillingModifyOrderPreviewRequest + /v2/contacts: + post: + application/json: ContactPostRequest + /v2/contacts/{contact_uuid}: + patch: + application/json: ContactUpdateRequest + /v2/customers/current: + patch: + application/json: CustomerUpdateRequest + /v2/customers/current/image: + post: + multipart/form-data: CustomersUploadLogoImageRequest + /v2/customers/current/ix-details: + patch: + application/json: CustomersUpdateIxDetailsRequest + /v2/diagnostic-reports: + post: + application/json: DiagnosticReportsCreateReportRequest + /v2/documents: + post: + multipart/form-data: DocumentUploadRequest + /v2/events: + post: + application/json: StreamingEventsBetaCreateSubscriptionRequest + /v2/flex-bandwidth: + post: + application/json: FlexBandwidthCreateContainerRequest + /v2/labels/{value}: + patch: + application/json: AddLabelRequest + put: + application/json: UpdateLabelRequest + /v2/lags: + post: + application/json: LagPostRequest + /v2/lags/{lag_port_circuit_id}/members: + post: + application/json: LaGsAddMemberInterfaceRequest + /v2/lags/{port_circuit_id}: + patch: + application/json: LagPatchRequest + /v2/marketplace/services: + post: + application/json: MarketplaceCreateServiceRequest + /v2/marketplace/services/{service_uuid}: + patch: + application/json: MarketplaceUpdateServiceRequest + /v2/marketplace/services/{service_uuid}/image: + post: + multipart/form-data: MarketplaceUpdateServiceImageRequest + /v2/marketplace/services/{service_uuid}/thumbnail: + post: + multipart/form-data: MarketplaceUpdateServiceThumbnailRequest + /v2/objects/{circuit_id}/labels: + patch: + application/json: AddObjectRequest + put: + application/json: UpdateObjectRequest + /v2/outbound-cross-connects: + post: + application/json: OutboundCrossConnectsCreateNewRequest + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + patch: + application/json: OutboundCrossConnectsUpdateSingleRequest + /v2/ports: + post: + application/json: PortPostRequest + /v2/ports/{port_circuit_id}: + patch: + application/json: UpdatePortRequest + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + application/json: PortsGenerateLoaRequest + /v2/ports/{port_circuit_id}/upgrade: + post: + application/json: PortsUpgradeSubscriptionTermRequest + /v2/quotes: + post: + application/json: PortalQuotesCreateNewQuoteRequest + /v2/quotes/{quote_uuid}: + patch: + application/json: PortalQuotesUpdateQuoteRequest + post: + application/json: PortalQuotesAddQuoteLineRequest + /v2/quotes/{quote_uuid}/publish: + post: + application/json: PortalQuotesPublishQuoteRequest + /v2/request-aliases: + post: + application/json: RequestAliasesAddNewAliasRequest + /v2/request-aliases/{request_alias_uuid}: + patch: + application/json: RequestAliasesUpdateAliasRequest + /v2/request-aliases/{request_alias_uuid}/contacts: + delete: + application/json: RequestAliasesDisassociateContactsRequest + post: + application/json: RequestAliasesAssociateContactsRequest + /v2/services/backbone: + post: + application/json: ServicesCreateBackboneVcRequest + /v2/services/cloud-routers: + post: + application/json: CloudRoutersCreateNewRequest + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + application/json: CloudRouterThirdPartyRejectImportCircuitRequest + /v2/services/cloud-routers/{circuit_id}: + patch: + application/json: CloudRoutersUpdateExistingRequest + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + application/json: CloudRouterConnectionsCheckBgpAddressUniqueRequest + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + application/json: CloudRouterConnectionsCreateAwsConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + application/json: CloudRouterConnectionsCreateAzureConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + application/json: CloudRouterConnectionsCreateGoogleConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + application/json: CloudRouterConnectionsCreateIbmConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + application/json: CloudRouterConnectionsCreateIpsecConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + application/json: CloudRouterConnectionsCreateOracleConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + application/json: CloudRouterConnectionsAttachPortRequest + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + application/json: CloudRouterThirdPartyCreateRequestRequest + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + patch: + application/json: CloudRouterConnectionsUpdateConnectionRequest + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + post: + application/json: CloudRouterBgpSessionSettingsCreateL3InfoRequest + put: + application/json: CloudRouterBgpSessionSettingsUpdateSessionInfoRequest + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + post: + application/json: CloudRouterThirdPartyImportToConnectionRequest + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + application/json: CloudRouterThirdPartyRemoveMultipleRequest + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + patch: + application/json: CloudRouterThirdPartyUpdateImportByIdRequest + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + patch: + application/json: CloudRouterRouteSetsUpdateRouteSetRequest + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + put: + application/json: CloudRouterRouteSetsUpdateConnectionsRequest + /v2/services/cloud/credentials: + post: + application/json: CloudProviderCredentialsCreateNewCredentialRequest + /v2/services/cloud/credentials/{credential_uuid}: + patch: + application/json: CloudProviderCredentialsUpdateCredentialRequest + /v2/services/cloud/dedicated/aws: + post: + application/json: CloudServicesAwsRequestConnectionRequest + /v2/services/cloud/dedicated/azure: + post: + application/json: CloudServicesAzureRequestNewDedicatedConnectionRequest + /v2/services/cloud/dedicated/google: + post: + application/json: CloudServicesGoogleCloudRequestDedicatedConnectionRequest + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + application/json: CloudServicesAwsUpdateDedicatedCloudConnectionRequest + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + application/json: CloudServicesAwsUpgradeDedicatedCloudConnectionRequest + /v2/services/cloud/hosted/aws: + post: + application/json: CloudServicesAwsRequestHostedConnectionRequest + /v2/services/cloud/hosted/azure: + post: + application/json: CloudServicesAzureRequestNewExpressRouteRequest + /v2/services/cloud/hosted/google: + post: + application/json: CloudServicesGoogleCloudRequestNewConnectionRequest + /v2/services/cloud/hosted/ibm: + post: + application/json: CloudServicesIbmRequestNewConnectionRequest + /v2/services/cloud/hosted/oracle: + post: + application/json: CloudServicesOracleRequestConnectionRequest + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + application/json: CloudServicesAwsUpdateHostedConnectionRequest + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + application/json: CloudServicesAwsUpgradeHostedConnectionRequest + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + application/json: CloudServicesIbmUpdateIbmCloudConnectionRequest + /v2/services/high-performance-internet: + post: + application/json: HpiPostRequest + /v2/services/high-performance-internet/{hpi_circuit_id}: + put: + application/json: HpiPutRequest + /v2/services/ipam/asns: + post: + application/json: IpamAllocateNewAsnRequest + /v2/services/ipam/contacts: + post: + application/json: IpamAddContactRequest + /v2/services/ipam/prefixes: + post: + application/json: IpamAllocatePrefixRequest + /v2/services/ipsec/{circuit_id}: + patch: + application/json: IpsecPatchRequest + /v2/services/ix: + post: + application/json: ServicesCreateIxVcRequest + /v2/services/point-to-point: + post: + application/json: PtpServicesCreateServiceRequest + /v2/services/point-to-point/{ptp_uuid}: + patch: + application/json: PtpServicesUpdateDescriptionRequest + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + application/json: PtpServicesUpgradePtpUuidRequest + /v2/services/requests/{vc_request_uuid}: + delete: + application/json: ServicesDeleteRequestRequest + /v2/services/requests/{vc_request_uuid}/provision: + post: + application/json: ProvisionServiceRequest + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + application/json: CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionRequest + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + application/json: CloudServicesAwsProvisionHostedRequest + /v2/services/third-party: + post: + application/json: ServicesCreate3RdPartyVcRequest + /v2/services/third-party/hosted/aws: + post: + application/json: CloudServicesAwsRequestCloudConnectionRequest + /v2/services/third-party/hosted/azure: + post: + application/json: CloudServicesAzureRequestHostedConnectionRequest + /v2/services/third-party/hosted/google: + post: + application/json: CloudServicesGoogleCloudRequestHostedConnectionRequest + /v2/services/third-party/hosted/oracle: + post: + application/json: CloudServicesOracleRequestHostedConnectionRequest + /v2/services/{vc_circuit_id}: + patch: + application/json: PatchServiceRequest + /v2/services/{vc_circuit_id}/burst: + post: + application/json: ServicesAddSpeedBurstRequest + /v2/services/{vc_circuit_id}/upgrade: + post: + application/json: ServicesUpgradeBillingTermsRequest + /v2/svlan-labels: + post: + application/json: SVlanLabelsCreateLabelRequest + /v2/svlan-labels/{svlan_label_uuid}: + patch: + application/json: SVlanLabelsUpdateLabelByUuidRequest + /v2/team-invites: + post: + application/json: TeamSignupSendInvitationEmailsRequest + /v2/team-invites/{signup_uuid}/user: + post: + application/json: TeamSignupCreateUserBasedOnInvitationRequest + /v2/users: + post: + application/json: UserPostRequest + /v2/users/mfa/disable: + post: + application/json: MultiFactorAuthenticationDisableUserMfaRequest + /v2/users/mfa/enable: + post: + application/json: MultiFactorAuthenticationEnableUserAuthRequest + /v2/users/request-password-reset: + post: + application/json: UsersRequestPasswordResetRequest + /v2/users/reset-password: + post: + application/json: UsersSetNewPasswordRequest + /v2/users/{user_login}: + patch: + application/json: UserPatchRequest + /v2/users/{user_login}/password: + patch: + application/json: UsersUpdatePasswordRequest +responseDescriptions: {} +responseSchemaNames: + /v2.1/locations: + get: + '200': + application/json: LocationsFilterParamsList200Response + /v2.1/ports/{port_circuit_id}/status: + get: + '200': + application/json: PortsGetServiceStatusResponse + /v2.1/services/cloud-routers/{circuit_id}/connections/aws: + post: + '201': + application/json: CloudRouterConnectionsCreateAwsConnection201Response + /v2.1/services/cloud-routers/{circuit_id}/connections/azure: + post: + '201': + application/json: CloudRouterConnectionsCreateAzureExpressRouteConnectionResponse + /v2.1/services/cloud-routers/{circuit_id}/connections/google: + post: + '201': + application/json: CloudRouterConnectionsCreateGoogleConnection201Response + /v2.1/services/cloud-routers/{circuit_id}/connections/ibm: + post: + '201': + application/json: CloudRouterConnectionsCreateIbmConnection201Response + /v2.1/services/cloud-routers/{circuit_id}/connections/oracle: + post: + '201': + application/json: CloudRouterConnectionsCreateOracleConnection201Response + /v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + '200': + application/json: CloudRouterConnectionsGetStatusResponse + /v2.1/services/cloud/connections/{ident}/status: + get: + '200': + application/json: CloudServicesAwsGetStatusResponse + /v2.1/services/point-to-point/{ptp_circuit_id}/status: + get: + '200': + application/json: PtpServicesGetServiceStatus200Response + /v2.1/services/{vc_circuit_id}/status: + get: + '200': + application/json: ServicesGetStatusResponse + /v2/activity-logs: + get: + '200': + application/json: ActivityLogsGetActivityLogListResponse + /v2/activity-logs/{log_uuid}: + get: + '200': + application/json: ActivityLogsGetEntryResponse + /v2/aggregated-capacity: + get: + '200': + application/json: FlexBandwidthGetAllContainers200Response + post: + '201': + application/json: FlexBandwidthCreateFlexContainerResponse + /v2/aggregated-capacity/{aggregate_capacity_id}: + get: + '200': + application/json: FlexBandwidthGetById200Response + /v2/announcements: + get: + '200': + application/json: AnnouncementsGetCurrentCustomerListResponse + /v2/api-keys: + get: + '200': + application/json: ApiKeysGetUserListResponse + post: + '201': + application/json: ApiKeysCreateNewKeyResponse + /v2/api-keys/{uuid}: + delete: + '200': + application/json: ApiKeysDeleteByKeyResponse + /v2/auth/login: + post: + '200': + application/json: AuthenticationStartSessionResponse + /v2/auth/login/mfa: + post: + '200': + application/json: LoginMfaResponse + /v2/auth/logout: + get: + '200': + application/json: AuthenticationInvalidateSessionResponse + /v2/auth/sessions: + delete: + '200': + application/json: AuthenticationRemoveAllSessionsResponse + get: + '200': + application/json: AuthenticationGetAllActiveUserSessionsResponse + /v2/bgp-settings: + get: + '200': + application/json: CloudRouterBgpSessionSettingsGetListResponse + /v2/bgp-settings/{bgp_settings_uuid}/l3: + get: + '200': + application/json: CloudRouterBgpSessionSettingsGetL3IflDataResponse + /v2/bgp-settings/{bgp_settings_uuid}/prefixes: + get: + '200': + application/json: CloudRouterBgpSessionSettingsListPrefixesResponse + /v2/billing/accounts/{account_uuid}/invoices: + get: + '200': + application/json: GetInvoicesResponse + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv: + get: + '200': + text/csv: GetCsvResponse + /v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf: + get: + '200': + application/pdf: GetPdfResponse + /v2/billing/pricing: + get: + '200': + application/json: GetPricingResponse + /v2/billing/services/early-termination-liability/{circuit_id}: + get: + '200': + text/plain: BillingEarlyTerminationCostResponse + /v2/billing/services/{account_uuid}: + get: + '200': + application/json: BillingAccountOrdersGetResponse + /v2/billing/services/{circuit_id}: + get: + '200': + application/json: GetOrderResponse + /v2/billing/services/{circuit_id}/modify: + post: + '200': + application/json: ModifyOrderResponse + '202': + application/json: ModifyOrder202Response + /v2/billing/services/{circuit_id}/modify/preview: + post: + '200': + application/json: BillingModifyOrderPreviewResponse + /v2/billing/stripe/{account_uuid}/stripe_customer_session: + get: + '200': + application/json: BillingGetStripeCustomerSessionUrlResponse + /v2/contacts: + get: + '200': + application/json: ContactsGetCurrentCustomerListResponse + post: + '201': + application/json: ContactPostResponse + /v2/contacts/links: + get: + '200': + application/json: ContactsGetContactCircuitLinksResponse + /v2/contacts/{contact_uuid}: + delete: + '200': + application/json: ContactDeleteResponse + get: + '200': + application/json: ContactGetResponse + patch: + '200': + application/json: ContactUpdateResponse + /v2/contacts/{contact_uuid}/links/{circuit_id}: + delete: + '200': + application/json: ContactsDeleteLinkResponse + post: + '200': + application/json: ContactsLinkCircuitResponse + /v2/customers: + get: + '200': + application/json: GetCustomersResponse + /v2/customers/company-types: + get: + '200': + application/json: CustomersGetCompanyTypesResponse + /v2/customers/current: + get: + '200': + application/json: CustomerGetResponse + patch: + '200': + application/json: CustomerUpdateResponse + /v2/customers/current/account-managers: + get: + '200': + application/json: CustomersGetCurrentAccountManagersResponse + /v2/customers/current/image: + post: + '200': + application/json: CustomersUploadLogoImageResponse + /v2/customers/current/ix-details: + patch: + '200': + application/json: CustomersUpdateIxDetailsResponse + /v2/customers/current/locations: + get: + '200': + application/json: CustomersGetLocationListResponse + /v2/customers/current/sales-team: + get: + '200': + application/json: CustomersGetCurrentSalesTeamResponse + /v2/customers/images/{uuid}: + get: + '200': + image/bmp: CustomersGetLogoByUuid200Response1 + image/jpeg: CustomersGetLogoByUuidResponse + image/png: CustomersGetLogoByUuid200Response + /v2/customers/{customer_uuid}/industries: + get: + '200': + application/json: CustomersGetIndustriesByUuidResponse + /v2/customers/{customer_uuid}/ix-details: + get: + '200': + application/json: CustomersIxDetailsGetResponse + /v2/customers/{customer_uuid}/locations: + get: + '200': + application/json: CustomersGetLocationsByUuidResponse + /v2/customers/{customer_uuid}/service-provider-types: + get: + '200': + application/json: CustomersGetServiceProviderTypesByUuidResponse + /v2/diagnostic-reports: + get: + '200': + application/json: GetReportsResponse + post: + '200': + application/json: DiagnosticReportsCreateReportResponse + /v2/diagnostic-reports/{report_uuid}: + delete: + '200': + application/json: DeleteReportResponse + get: + '200': + application/json: GetReportResponse + /v2/documents: + get: + '200': + application/json: DocumentsListFilteredByParamsResponse + post: + '201': + application/json: DocumentUploadResponse + /v2/documents/{uuid}: + get: + '200': + application/octet-stream: DocumentsDownloadResponse + /v2/events: + post: + '201': + application/json: StreamingEventsBetaCreateSubscriptionResponse + /v2/events/{uuid}: + get: + default: + text/event-stream: StreamEventsResponse + /v2/flex-bandwidth: + get: + '200': + application/json: FlexBandwidthGetAllContainersResponse + post: + '201': + application/json: FlexBandwidthCreateContainerResponse + /v2/flex-bandwidth/{flex_bandwidth_id}: + get: + '200': + application/json: FlexBandwidthGetByIdResponse + /v2/groups: + get: + '200': + application/json: GroupGetResponse + /v2/groups/{group_name}/permissions: + get: + '200': + application/json: GroupsListPermissionsResponse + /v2/groups/{group_name}/users: + get: + '200': + application/json: GroupsGetUserListResponse + /v2/labels: + get: + '200': + application/json: GetLabelsResponse + /v2/labels/{value}: + get: + '200': + application/json: LabelsAssociatedObjectsGetResponse + patch: + '200': + application/json: AddLabelResponse + put: + '200': + application/json: UpdateLabelResponse + /v2/lags: + post: + '201': + application/json: LagPostResponse + /v2/lags/{lag_port_circuit_id}/members: + get: + '200': + application/json: LaGsListMembersResponse + post: + '200': + application/json: LaGsAddMemberInterfaceResponse + /v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}: + delete: + '200': + application/json: LaGsRemoveMemberInterfaceResponse + /v2/lags/{port_circuit_id}: + delete: + '200': + application/json: LagDeleteResponse + patch: + '200': + application/json: LagPatchResponse + /v2/lags/{port_circuit_id}/disable: + post: + '200': + application/json: LaGsDisableTargetInterfaceResponse + /v2/lags/{port_circuit_id}/enable: + post: + '200': + application/json: LaGsEnableTargetInterfaceResponse + /v2/locations: + get: + '200': + application/json: LocationsFilterParamsListResponse + /v2/locations/cloud: + get: + '200': + application/json: LocationsListCloudLocationsResponse + /v2/locations/extrametro: + get: + '200': + application/json: LocationsListExtrametroResponse + /v2/locations/markets: + get: + '200': + application/json: LocationsGetMarketListResponse + /v2/locations/regions: + get: + '200': + application/json: LocationsListResponse + /v2/locations/{pop}/image: + get: + '200': + image/bmp: LocationsGetImage200Response1 + image/jpeg: LocationsGetImageResponse + image/png: LocationsGetImage200Response + /v2/locations/{pop}/port-availability: + get: + '200': + application/json: LocationsGetPortAvailabilityDataForPopResponse + /v2/locations/{pop}/zones: + get: + '200': + application/json: LocationsGetZonesForPopResponse + /v2/locations/{site_code}: + get: + '200': + application/json: GetLocationResponse + /v2/maintenances/by-location: + get: + '200': + application/json: MaintenanceNotificationsGetCurrentFutureByPopNameAndMarketCodeResponse + /v2/maintenances/by-service/{circuit_id}: + get: + '200': + application/json: MaintenanceNotificationsGetAffectedServiceMaintenancesResponse + /v2/maintenances/history: + get: + '200': + application/json: MaintenanceNotificationsGetListIndividualHistoriesResponse + /v2/maintenances/notifications: + get: + '200': + application/json: MaintenanceNotificationsFilterByUuidActionOrTypeResponse + /v2/marketplace/industries: + get: + '200': + application/json: IndustriesGetResponse + /v2/marketplace/service-categories: + get: + '200': + application/json: MarketplaceGetServiceCategoriesResponse + /v2/marketplace/service-provider-types: + get: + '200': + application/json: MarketplaceGetServiceProviderTypesResponse + /v2/marketplace/services: + get: + '200': + application/json: MarketplaceCustomerServicesGetResponse + post: + '201': + application/json: MarketplaceCreateServiceResponse + /v2/marketplace/services/quick-connect: + get: + '200': + application/json: MarketplaceQuickConnectListResponse + /v2/marketplace/services/{service_uuid}: + delete: + '200': + application/json: MarketplaceDeleteServiceResponse + get: + '200': + application/json: MarketplaceGetServiceObjectResponse + patch: + '200': + application/json: MarketplaceUpdateServiceResponse + /v2/marketplace/services/{service_uuid}/image: + delete: + '200': + application/json: MarketplaceDeleteServiceImageResponse + get: + '200': + image/bmp: MarketplaceServiceImageGet200Response + image/jpeg: MarketplaceServiceImageGet200Response + image/png: MarketplaceServiceImageGetResponse + post: + '200': + application/json: MarketplaceUpdateServiceImageResponse + /v2/marketplace/services/{service_uuid}/route-set: + get: + '200': + application/json: MarketplaceServiceRouteSetGetResponse + /v2/marketplace/services/{service_uuid}/thumbnail: + get: + '200': + image/bmp: MarketplaceServiceThumbnailGet200Response + image/jpeg: MarketplaceServiceThumbnailGet200Response + image/png: MarketplaceServiceThumbnailGetResponse + post: + '200': + application/json: MarketplaceUpdateServiceThumbnailResponse + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec: + get: + '200': + application/json: MetricsGetIpsecStatisticsByCloudRouterConnectionCircuitIdResponse + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat: + get: + '200': + application/json: MetricsGetNatStatisticsByCloudRouterConnectionCircuitIdResponse + /v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}: + get: + '200': + application/json: MetricsCloudRouterConnectionRateGetResponse + /v2/metrics/customer/ifd/rate/{type}: + get: + '200': + application/json: MetricsCustomerIfdRateDataResponse + /v2/metrics/customer/ifd/summary/{type}: + get: + '200': + application/json: MetricsCustomerIfdSummaryGetResponse + /v2/metrics/customer/ifl/rate/{type}: + get: + '200': + application/json: MetricsCustomerRateByIfTypeGetResponse + /v2/metrics/customer/ifl/summary/{type}: + get: + '200': + application/json: MetricsCustomerIflSummaryGetResponse + /v2/metrics/customer/longhaul-usage: + get: + '200': + application/json: MetricsCustomerLonghaulUsageGetResponse + /v2/metrics/ifd/errors/{port_circuit_id}: + get: + '200': + application/json: IfdErrorsResponse + /v2/metrics/ifd/optic-data/{port_circuit_id}: + get: + '200': + application/json: MetricsGetOpticDataByPortCircuitIdResponse + /v2/metrics/ifd/rate/{type}/{port_circuit_id}: + get: + '200': + application/json: IfdRateResponse + /v2/metrics/ifd/temperature/{port_circuit_id}: + get: + '200': + application/json: IfdTemperatureResponse + /v2/metrics/ifd/whatcast/{port_circuit_id}: + get: + '200': + application/json: IfdWhatcastResponse + /v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}: + get: + '200': + application/json: IflRateResponse + /v2/objects/{circuit_id}/labels: + get: + '200': + application/json: ObjectsGetLabelsResponse + patch: + '200': + application/json: AddObjectResponse + put: + '200': + application/json: UpdateObjectResponse + /v2/outbound-cross-connects: + get: + '200': + application/json: OutboundCrossConnectsListResponse + post: + '202': + application/json: OutboundCrossConnectsCreateNewResponse + /v2/outbound-cross-connects/{outbound_cross_connect_id}: + get: + '200': + application/json: OutboundCrossConnectsGetOneResponse + /v2/ports: + get: + '200': + application/json: PortsGetListResponse + post: + '201': + application/json: PortPostResponse + /v2/ports/export.csv: + get: + '200': + text/csv: PortsExportCsvResponse + /v2/ports/{port_circuit_id}: + delete: + '200': + application/json: DeletePortResponse + get: + '200': + application/json: GetPortResponse + patch: + '200': + application/json: UpdatePortResponse + /v2/ports/{port_circuit_id}/device-info: + get: + '200': + application/json: PortsGetDeviceInfoResponse + /v2/ports/{port_circuit_id}/disable: + post: + '200': + application/json: DisablePortResponse + /v2/ports/{port_circuit_id}/enable: + post: + '200': + application/json: EnablePortResponse + /v2/ports/{port_circuit_id}/letter-of-authorization: + post: + '201': + application/json: PortsGenerateLoaResponse + /v2/ports/{port_circuit_id}/router-logs: + get: + '200': + application/json: PortsGetRouterLogsResponse + /v2/ports/{port_circuit_id}/upgrade: + post: + '202': + application/json: PortsUpgradeSubscriptionTermResponse + /v2/ports/{port_circuit_id}/vlan-summary: + get: + '200': + application/json: PortsGetVlanSummaryResponse + /v2/quotes: + get: + '200': + application/json: PortalQuotesGetCustomerQuotesResponse + post: + '201': + application/json: PortalQuotesCreateNewQuoteResponse + /v2/quotes/published: + get: + '200': + application/json: PortalQuotesGetPublishedQuotesResponse + /v2/quotes/published/assigned: + get: + '200': + application/json: PortalQuotesGetAssignedQuotesResponse + /v2/quotes/published/{published_quote_uuid}: + get: + '200': + application/json: PortalQuotesGetPublishedQuoteDetailsResponse + /v2/quotes/{quote_uuid}: + get: + '200': + application/json: PortalQuotesGetDetailsResponse + patch: + '200': + application/json: PortalQuotesUpdateQuoteResponse + post: + '201': + application/json: PortalQuotesAddQuoteLineResponse + /v2/quotes/{quote_uuid}/csv: + get: + '200': + text/csv: PortalQuotesGetCsvResponse + /v2/quotes/{quote_uuid}/duplicate: + post: + '201': + application/json: PortalQuotesDuplicateQuoteResponse + /v2/quotes/{quote_uuid}/pdf: + get: + '200': + application/pdf: PortalQuotesGetPdfResponse + /v2/quotes/{quote_uuid}/publish: + post: + '201': + application/json: PortalQuotesPublishQuoteResponse + /v2/quotes/{quote_uuid}/{quote_line_uuid}: + delete: + '200': + application/json: PortalQuotesDeleteQuoteLineResponse + /v2/request-aliases: + get: + '200': + application/json: RequestAliasesGetAllResponse + post: + '201': + application/json: RequestAliasesAddNewAliasResponse + /v2/request-aliases/{request_alias_uuid}: + get: + '200': + application/json: RequestAliasesByUuidResponse + patch: + '200': + application/json: RequestAliasesUpdateAliasResponse + /v2/request-aliases/{request_alias_uuid}/contacts: + get: + '200': + application/json: RequestAliasesGetAllContactsResponse + post: + '201': + application/json: RequestAliasesAssociateContactsResponse + /v2/services: + get: + '200': + application/json: ServicesGetCurrentCustomerServicesListResponse + /v2/services/backbone: + post: + '201': + application/json: ServicesCreateBackboneVcResponse + /v2/services/cloud-routers: + get: + '200': + application/json: CloudRoutersListAssociatedResponse + post: + '201': + application/json: CloudRoutersCreateNewResponse + /v2/services/cloud-routers/connections: + get: + '200': + application/json: CloudRouterConnectionsListAllResponse + /v2/services/cloud-routers/connections/export.csv: + get: + '200': + text/csv: CloudRouterConnectionsDownloadCsvResponse + /v2/services/cloud-routers/connections/{circuit_id}: + get: + '200': + application/json: CloudRouterConnectionsGetByCircuitIdResponse + /v2/services/cloud-routers/export.csv: + get: + '200': + text/csv: CloudRoutersDownloadAsCsvResponse + /v2/services/cloud-routers/requests: + get: + '200': + application/json: CloudRouterThirdPartyListImportRequestsResponse + /v2/services/cloud-routers/requests/{import_circuit_id}: + delete: + '200': + application/json: CloudRouterThirdPartyDeleteRequestResponse + get: + '200': + application/json: CloudRouterThirdPartyImportsRequestGetResponse + /v2/services/cloud-routers/requests/{import_circuit_id}/accept: + post: + '200': + application/json: CloudRouterThirdPartyAcceptImportCircuitResponse + /v2/services/cloud-routers/requests/{import_circuit_id}/reject: + post: + '200': + application/json: CloudRouterThirdPartyRejectImportCircuitResponse + /v2/services/cloud-routers/{circuit_id}: + delete: + '200': + application/json: CloudRoutersDeleteRouterResponse + get: + '200': + application/json: CloudRoutersGetByCircuitIdResponse + patch: + '200': + application/json: CloudRoutersUpdateExistingResponse + /v2/services/cloud-routers/{circuit_id}/address_is_unique: + post: + '200': + application/json: CloudRouterConnectionsCheckBgpAddressUniqueResponse + /v2/services/cloud-routers/{circuit_id}/all-routes: + get: + '200': + application/json: CloudRoutersGetAllRoutesResponse + /v2/services/cloud-routers/{circuit_id}/bgp-logs: + get: + '200': + application/json: CloudRoutersGetBgpLogsResponse + /v2/services/cloud-routers/{circuit_id}/bgp-routes: + get: + '200': + application/json: CloudRoutersGetBgpRoutesResponse + /v2/services/cloud-routers/{circuit_id}/connections: + get: + '200': + application/json: CloudRouterConnectionsListForCircuitResponse + /v2/services/cloud-routers/{circuit_id}/connections/aws: + post: + '201': + application/json: CloudRouterConnectionsCreateAwsConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/azure: + post: + '201': + application/json: CloudRouterConnectionsCreateAzureConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/google: + post: + '201': + application/json: CloudRouterConnectionsCreateGoogleConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/ibm: + post: + '201': + application/json: CloudRouterConnectionsCreateIbmConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/ipsec: + post: + '201': + application/json: CloudRouterConnectionsCreateIpsecConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/oracle: + post: + '201': + application/json: CloudRouterConnectionsCreateOracleConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/packetfabric: + post: + '201': + application/json: CloudRouterConnectionsAttachPortResponse + /v2/services/cloud-routers/{circuit_id}/connections/third-party: + post: + '201': + application/json: CloudRouterThirdPartyCreateRequestResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}: + delete: + '200': + application/json: CloudRouterConnectionsDeleteByCircuitConnectionIdResponse + get: + '200': + application/json: CloudRouterConnectionsGetSingleByCircuitIdResponse + patch: + '200': + application/json: CloudRouterConnectionsUpdateConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp: + get: + '200': + application/json: CloudRouterBgpSessionSettingsListBgpSessionsResponse + post: + '201': + application/json: CloudRouterBgpSessionSettingsCreateL3InfoResponse + put: + '200': + application/json: CloudRouterBgpSessionSettingsUpdateSessionInfoResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}: + delete: + '200': + application/json: CloudRouterBgpSessionSettingsDeleteSingleSessionResponse + get: + '200': + application/json: CloudRouterBgpSessionSettingsGetSingleSessionResponse + /v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}: + delete: + '200': + application/json: CloudRouterConnectionsDeleteConnectionResponse + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes: + get: + '200': + application/json: CloudRouterBgpSessionSettingsGetConnectionBgpRoutesResponse + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status: + get: + '200': + application/json: CloudRouterConnectionsGetInstanceStatusResponse + /v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options: + get: + '200': + application/json: CloudRouterConnectionsGetUpgradeOptionsResponse + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party: + get: + '200': + application/json: CloudRouterThirdPartyListImportsResponse + post: + '201': + application/json: CloudRouterThirdPartyImportToConnectionResponse + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple: + post: + '202': + application/json: CloudRouterThirdPartyRemoveMultipleResponse + /v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}: + delete: + '202': + application/json: CloudRouterThirdPartyRemoveConnectionImportResponse + get: + '200': + application/json: CloudRouterThirdPartyGetSingleImportResponse + patch: + '200': + application/json: CloudRouterThirdPartyUpdateImportByIdResponse + /v2/services/cloud-routers/{cr_circuit_id}/route-sets: + get: + '200': + application/json: CloudRouterRouteSetsGetListResponse + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}: + get: + '200': + application/json: CloudRouterRouteSetsGetSingleRouteSetResponse + patch: + '200': + application/json: CloudRouterRouteSetsUpdateRouteSetResponse + /v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections: + get: + '200': + application/json: CloudRouterRouteSetsGetConnectionsResponse + put: + '202': + application/json: CloudRouterRouteSetsUpdateConnectionsResponse + /v2/services/cloud/aws/resources/{credentials_uuid}/regions: + get: + '200': + application/json: CloudServicesAwsGetAvailableRegionsResponse + /v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}: + get: + '200': + application/json: CloudServicesAwsGetResourcesInRegionResponse + /v2/services/cloud/connections/dedicated: + get: + '200': + application/json: CloudServicesAwsGetCurrentDedicatedConnectionsResponse + /v2/services/cloud/connections/dedicated/export.csv: + get: + '200': + text/csv: CloudServicesAwsGetCurrentCustomerDedicatedConnectionsCsvResponse + /v2/services/cloud/connections/hosted: + get: + '200': + application/json: CloudServicesAwsListHostedConnectionsResponse + /v2/services/cloud/connections/hosted/export.csv: + get: + '200': + text/csv: CloudServicesAwsListHostedConnectionsCsvResponse + /v2/services/cloud/connections/{cloud_circuit_id}: + get: + '200': + application/json: GetConnectionResponse + /v2/services/cloud/connections/{cloud_circuit_id}/router-config: + get: + '200': + application/json: CloudServicesAwsGetRouterConfigResponse + /v2/services/cloud/connections/{cloud_circuit_id}/status: + get: + '200': + application/json: CloudServicesAwsGetConnectionStatusResponse + /v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options: + get: + '200': + application/json: CloudServicesAwsGetConnectionUpgradeOptionsResponse + /v2/services/cloud/credentials: + get: + '200': + application/json: CloudProviderCredentialsGetAllResponse + post: + '201': + application/json: CloudProviderCredentialsCreateNewCredentialResponse + /v2/services/cloud/credentials/{credential_uuid}: + delete: + '200': + application/json: CloudProviderCredentialsDeleteCredentialResponse + patch: + '200': + application/json: CloudProviderCredentialsUpdateCredentialResponse + /v2/services/cloud/credentials/{credential_uuid}/connections: + get: + '200': + application/json: CloudProviderCredentialsGetAllConnectionsResponse + /v2/services/cloud/dedicated/aws: + post: + '201': + application/json: CloudServicesAwsRequestConnectionResponse + /v2/services/cloud/dedicated/azure: + post: + '201': + application/json: CloudServicesAzureRequestNewDedicatedConnectionResponse + /v2/services/cloud/dedicated/google: + post: + '201': + application/json: CloudServicesGoogleCloudRequestDedicatedConnectionResponse + /v2/services/cloud/dedicated/{cloud_circuit_id}: + patch: + '200': + application/json: CloudServicesAwsUpdateDedicatedCloudConnectionResponse + /v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade: + post: + '202': + application/json: CloudServicesAwsUpgradeDedicatedCloudConnectionResponse + /v2/services/cloud/google/resources/{credentials_uuid}/regions: + get: + '200': + application/json: CloudServicesGoogleCloudAvailableRegionsGetResponse + /v2/services/cloud/google/resources/{credentials_uuid}/{region_name}: + get: + '200': + application/json: CloudServicesGoogleCloudGetResourcesByRegionResponse + /v2/services/cloud/hosted/aws: + post: + '201': + application/json: CloudServicesAwsRequestHostedConnectionResponse + /v2/services/cloud/hosted/azure: + post: + '201': + application/json: CloudServicesAzureRequestNewExpressRouteResponse + /v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}: + get: + '200': + application/json: CloudServicesAzureValidateServiceKeyResponse + /v2/services/cloud/hosted/google: + post: + '201': + application/json: CloudServicesGoogleCloudRequestNewConnectionResponse + /v2/services/cloud/hosted/ibm: + post: + '201': + application/json: CloudServicesIbmRequestNewConnectionResponse + /v2/services/cloud/hosted/oracle: + post: + '201': + application/json: CloudServicesOracleRequestConnectionResponse + /v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}: + get: + '200': + application/json: CloudServicesOracleGetStatusResponse + /v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync: + post: + '202': + application/json: CloudServicesOracleSyncChangesResponse + /v2/services/cloud/hosted/{cloud_circuit_id}: + patch: + '200': + application/json: CloudServicesAwsUpdateHostedConnectionResponse + /v2/services/cloud/hosted/{cloud_circuit_id}/upgrade: + post: + '202': + application/json: CloudServicesAwsUpgradeHostedConnectionResponse + /v2/services/cloud/ibm/{cloud_circuit_id}: + patch: + '201': + application/json: CloudServicesIbmUpdateIbmCloudConnectionResponse + /v2/services/export.csv: + get: + '200': + text/csv: ServicesExportCsvListResponse + /v2/services/high-performance-internet: + get: + '200': + application/json: HighPerformanceInternetGetCurrentCustomerHpIsResponse + post: + '202': + application/json: HpiPostResponse + /v2/services/high-performance-internet/{hpi_circuit_id}: + delete: + '200': + application/json: HpiDeleteResponse + get: + '200': + application/json: HpiGetResponse + put: + '202': + application/json: HpiPutResponse + /v2/services/high-performance-internet/{hpi_circuit_id}/bgp: + get: + '200': + application/json: HighPerformanceInternetGetBgpConfigResponse + /v2/services/high-performance-internet/{hpi_circuit_id}/static: + get: + '200': + application/json: HighPerformanceInternetGetStaticConfigurationsResponse + /v2/services/high-performance-internet/{hpi_circuit_id}/status: + get: + '200': + application/json: HighPerformanceInternetGetStatusResponse + /v2/services/ipam/asns: + get: + '200': + application/json: IpamGetAsnsResponse + post: + '201': + application/json: IpamAllocateNewAsnResponse + /v2/services/ipam/asns/{asn}: + delete: + '200': + application/json: IpamDeleteAsnByAsnResponse + get: + '200': + application/json: IpamGetAsnByIdResponse + /v2/services/ipam/contacts: + get: + '200': + application/json: IpamGetCurrentCustomerContactsResponse + post: + '201': + application/json: IpamAddContactResponse + /v2/services/ipam/contacts/{ipam_contact_uuid}: + delete: + '200': + application/json: IpamDeleteByUuidResponse + get: + '200': + application/json: IpamGetByUuidResponse + /v2/services/ipam/prefixes: + get: + '200': + application/json: IpamGetPrefixesResponse + post: + '201': + application/json: IpamAllocatePrefixResponse + /v2/services/ipam/prefixes/{prefix_circuit_id}: + delete: + '200': + application/json: IpamDeleteByCircuitIdResponse + get: + '200': + application/json: IpamGetByCircuitIdResponse + /v2/services/ipsec/gateway_address/uniqueness: + get: + '200': + application/json: CloudRouterIPsecCheckGatewayAddressUniquenessResponse + /v2/services/ipsec/{circuit_id}: + get: + '200': + application/json: IpsecGetResponse + patch: + '200': + application/json: IpsecPatchResponse + /v2/services/ix: + post: + '201': + application/json: ServicesCreateIxVcResponse + /v2/services/point-to-point: + get: + '200': + application/json: PtpServicesGetAllResponse + post: + '201': + application/json: PtpServicesCreateServiceResponse + /v2/services/point-to-point/{ptp_uuid}: + delete: + '200': + application/json: PtpServicesDeletePointToPointResponse + get: + '200': + application/json: PtpServicesGetServiceInfoResponse + patch: + '200': + application/json: PtpServicesUpdateDescriptionResponse + /v2/services/point-to-point/{ptp_uuid}/status: + get: + '200': + application/json: PtpServicesGetServiceStatusResponse + /v2/services/point-to-point/{ptp_uuid}/upgrade: + post: + '200': + application/json: PtpServicesUpgradePtpUuidResponse + /v2/services/point-to-point/{ptp_uuid}/upgrade/options: + get: + '200': + application/json: PtpServicesGetUpgradeOptionsResponse + /v2/services/requests: + get: + '200': + application/json: ServicesListVcRequestsResponse + /v2/services/requests/{vc_request_uuid}: + delete: + '200': + application/json: ServicesDeleteRequestResponse + get: + '200': + application/json: ServicesGetByUuidResponse + /v2/services/requests/{vc_request_uuid}/provision: + post: + '201': + application/json: ProvisionServiceResponse + /v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection: + post: + '201': + application/json: CloudRouterThirdPartyProvisionMarketplaceCloudRouterConnectionResponse + /v2/services/requests/{vc_request_uuid}/provision/hosted: + post: + '201': + application/json: CloudServicesAwsProvisionHostedResponse + /v2/services/requests/{vc_request_uuid}/reject: + post: + '200': + application/json: ServicesRejectRequestResponse + /v2/services/third-party: + post: + '201': + application/json: ServicesCreate3RdPartyVcResponse + /v2/services/third-party/hosted/aws: + post: + '201': + application/json: CloudServicesAwsRequestCloudConnectionResponse + /v2/services/third-party/hosted/azure: + post: + '201': + application/json: CloudServicesAzureRequestHostedConnectionResponse + /v2/services/third-party/hosted/google: + post: + '201': + application/json: CloudServicesGoogleCloudRequestHostedConnectionResponse + /v2/services/third-party/hosted/oracle: + post: + '201': + application/json: CloudServicesOracleRequestHostedConnectionResponse + /v2/services/{vc_circuit_id}: + delete: + '200': + application/json: DeleteServiceResponse + get: + '200': + application/json: GetServiceResponse + patch: + '200': + application/json: PatchServiceResponse + /v2/services/{vc_circuit_id}/burst: + delete: + '200': + application/json: ServicesDeleteBurstResponse + post: + '202': + application/json: ServicesAddSpeedBurstResponse + /v2/services/{vc_circuit_id}/status: + get: + '200': + application/json: ServicesVcCircuitStatusGetResponse + /v2/services/{vc_circuit_id}/upgrade: + post: + '202': + application/json: ServicesUpgradeBillingTermsResponse + /v2/services/{vc_circuit_id}/upgrade/options: + get: + '200': + application/json: ServicesGetUpgradeOptionsResponse + /v2/svlan-labels: + post: + '201': + application/json: SVlanLabelsCreateLabelResponse + /v2/svlan-labels/mappings: + get: + '200': + application/json: SVlanLabelsGetLabelsResponse + /v2/svlan-labels/{port_circuit_id}: + get: + '200': + application/json: SVlanLabelsGetLabelsForPortResponse + /v2/svlan-labels/{svlan_label_uuid}: + delete: + '200': + application/json: SVlanLabelsDeleteLabelResponse + patch: + '200': + application/json: SVlanLabelsUpdateLabelByUuidResponse + /v2/team-invites: + get: + '201': + application/json: TeamSignupListInvitedUsersResponse + post: + '201': + application/json: TeamSignupSendInvitationEmailsResponse + /v2/team-invites/{signup_uuid}: + get: + '201': + application/json: TeamSignupGetDetailsResponse + /v2/team-invites/{signup_uuid}/resend: + post: + '200': + application/json: TeamSignupResendInvitationResponse + /v2/team-invites/{signup_uuid}/user: + post: + '201': + application/json: TeamSignupCreateUserBasedOnInvitationResponse + /v2/users: + get: + '201': + application/json: UsersGetListResponse + post: + '201': + application/json: UserPostResponse + /v2/users/mfa/disable: + post: + '200': + application/json: MultiFactorAuthenticationDisableUserMfaResponse + /v2/users/mfa/enable: + post: + '200': + application/json: MultiFactorAuthenticationEnableUserAuthResponse + /v2/users/mfa/qrcode: + get: + '200': + image/png: MultiFactorAuthenticationGenerateQrCodeImageResponse + /v2/users/mfa/setup: + post: + '200': + application/json: MultiFactorAuthenticationGenerateSecretScratchCodesResponse + /v2/users/request-password-reset: + post: + '200': + application/json: UsersRequestPasswordResetResponse + /v2/users/reset-password: + post: + '200': + application/json: UsersSetNewPasswordResponse + /v2/users/{user_login}: + delete: + '200': + application/json: UsersDeleteUserResponse + get: + '200': + application/json: UsersGetUserDetailsByLoginResponse + patch: + '200': + application/json: UserPatchResponse + /v2/users/{user_login}/groups: + get: + '200': + application/json: UsersListUserGroupsResponse + /v2/users/{user_login}/groups/{group_name}: + delete: + '200': + application/json: UsersDeleteFromGroupResponse + post: + '200': + application/json: UsersAddToGroupResponse + /v2/users/{user_login}/password: + patch: + '200': + application/json: UsersUpdatePasswordResponse + /v2/users/{uuid}: + get: + '200': + application/json: UsersGetDetailsByUuidResponse +securityParameters: + account_uuid: + query: false + action: + query: false + active: + query: false + add_on_fee_key: + query: false + aggregate_capacity_id: + query: false + any_type: + query: false + assigned_customer_uuid: + query: false + bandwidth_type: + query: false + billing: + query: false + category: + query: false + circuit_id: + query: false + city: + query: false + cloud_circuit_id: + query: false + cloud_connection_type: + query: false + cloud_provider: + query: false + cloud_router_circuit_id: + query: false + cloud_router_connection_circuit_id: + query: false + condensed: + query: false + contact_uuid: + query: false + description: + query: false + device_port_type: + query: false + email: + query: false + end: + query: false + end_date: + query: false + enni: + query: false + event: + query: false + export: + query: false + flex_bandwidth_id: + query: false + gateway_address: + query: false + has_cloud_router: + query: false + hpi_circuit_id: + query: false + include_ifl_data: + query: false + include_logical_interfaces: + query: false + include_vc_data: + query: false + industry: + query: false + interval: + query: false + ipsec_capable: + query: false + is_cloud: + query: false + is_cloud_router: + query: false + is_lag: + query: false + is_lag_member: + query: false + is_nni: + query: false + is_ptp: + query: false + l3nf_id: + query: false + label_type: + query: false + level: + query: false + location_type: + query: false + market: + query: false + market_codes_list: + query: false + media: + query: false + min_vlan: + query: false + name: + query: false + nat_capable: + query: false + near_cloud_router: + query: false + network_provider: + query: false + network_provider_a: + query: false + network_provider_z: + query: false + offset: + query: false + page_size: + query: false + pop: + query: false + pop_names_list: + query: false + port: + query: false + port_circuit_id: + query: false + product_type: + query: false + project_id: + query: false + provider: + query: false + published: + query: false + q: + query: false + quote_uuid: + query: false + reason: + query: false + region: + query: false + request_type: + query: false + route_type: + query: false + router_type: + query: false + routing_id: + query: false + service_class: + query: false + service_provider_type: + query: false + service_type: + query: false + session_token: + query: false + show_deleted: + query: false + show_empty: + query: false + show_unpublished: + query: false + side_a: + query: false + side_z: + query: false + since: + query: false + single_armed: + query: false + sort_column: + query: false + sort_order: + query: false + speed: + query: false + start: + query: false + start_date: + query: false + state: + query: false + statuses: + query: false + subscription_term: + query: false + termination_date: + query: false + time_from: + query: false + time_to: + query: false + timeout: + query: false + type: + query: false + until: + query: false + user_login: + query: false + user_uuid: + query: false + uuid: + query: false + vc_circuit_id: + query: false + vc_circuit_id_list: + query: false +validServerUrls: {} diff --git a/sdks/db/progress/rated-progress.yaml b/sdks/db/progress/rated-progress.yaml new file mode 100644 index 000000000..0c98aaa04 --- /dev/null +++ b/sdks/db/progress/rated-progress.yaml @@ -0,0 +1,560 @@ +examples: {} +examples_2: {} +examples_3: + /v1/eth/entities: + get: + '200': + application/json: {} + /v1/eth/entities/summaries: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/attestations: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/effectiveness: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/penalties: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/proposals: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/rewards: + get: + '200': + application/json: {} + /v1/eth/entities/{entity_id}/summaries: + get: + '200': + application/json: {} + /v1/eth/sets/{set_id}/attestations: + get: + '200': + application/json: {} + /v1/eth/sets/{set_id}/effectiveness: + get: + '200': + application/json: {} + /v1/eth/sets/{set_id}/penalties: + get: + '200': + application/json: {} + /v1/eth/sets/{set_id}/proposals: + get: + '200': + application/json: {} + /v1/eth/sets/{set_id}/rewards: + get: + '200': + application/json: {} + /v1/eth/validators: + get: + '200': + application/json: {} + /v1/eth/validators/attestations: + get: + '200': + application/json: {} + /v1/eth/validators/effectiveness: + get: + '200': + application/json: {} + /v1/eth/validators/proposals: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + '200': + application/json: {} + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + '200': + application/json: {} + /v1/tags: + get: + '200': + application/json: {} + /v1/tags/{id}/validators: + get: + '200': + application/json: {} +ignoreObjectsWithNoProperties: true +operationIds: + /v0/eth/blocks: + get: Blocks_listGet + /v0/eth/blocks/{consensus_slot}: + get: Blocks_bySlotGet + /v0/eth/network/capacity: + get: Network_getChurnCapacity + /v0/eth/network/capacity/pool: + get: Network_getChurnCapacityPool + /v0/eth/network/dailyRewards: + get: Network_getDailyRewards + /v0/eth/network/dailyRewards/{date}: + get: Network_dailyRewardsByDayGet + /v0/eth/network/overview: + get: Network_getOverview + /v0/eth/network/stats: + get: Network_getStats + /v0/eth/operators: + get: Operators_getSummaries + /v0/eth/operators/percentiles: + get: Operators_getPercentiles + /v0/eth/operators/{operator_id}: + get: Operators_getOperatorById + /v0/eth/operators/{operator_id}/apr: + get: Operators_getApr + /v0/eth/operators/{operator_id}/effectiveness: + get: Operators_getEffectiveness + /v0/eth/operators/{operator_id}/relayers: + get: Operators_getRelayerStats + /v0/eth/operators/{operator_id}/stakeMovement: + get: Operators_getStakeMovement + /v0/eth/operators/{operator_id}/summary: + get: Operators_getSummary + /v0/eth/p2p/geographical: + get: P2PBeta_getGeographicalDistribution + /v0/eth/p2p/hostingProvider: + get: P2PBeta_getP2pHostingProviderDistribution + /v0/eth/slashings: + get: Slashings_getAll + /v0/eth/slashings/cohortAnalysis: + get: Slashings_getCohortAnalysis + /v0/eth/slashings/leaderboard: + get: Slashings_getLeaderboard + /v0/eth/slashings/overview: + get: Slashings_overviewGet + /v0/eth/slashings/timeseries: + get: Slashings_getTimeSeries + /v0/eth/slashings/{validator_index_or_pubkey}: + get: Slashings_penaltyGet + /v0/eth/validators: + get: Validators_listGet + /v0/eth/validators/effectiveness: + get: Validators_getEffectivenessAggregation + /v0/eth/validators/{validator_index_or_pubkey}: + get: Validators_getMetadata + /v0/eth/validators/{validator_index_or_pubkey}/apr: + get: Validators_getApr + /v0/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: Validators_getEffectivenessAggregation + /v0/eth/withdrawals/predicted/operators/{operator_id}: + get: Withdrawals_predictedOperatorsGet + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: Withdrawals_getPredictedBySlot + /v0/polygon/delegators: + get: PolygonDelegators_getSummaries + /v0/polygon/delegators/{delegator_address}/rewards: + get: PolygonDelegators_getRewards + /v0/polygon/delegators/{delegator_address}/summary: + get: PolygonDelegators_getSummary + /v0/polygon/network/overview: + get: PolygonNetwork_getOverview + /v0/polygon/validators: + get: PolygonValidators_listGet + /v0/polygon/validators/{validator_id}: + get: PolygonValidators_getMetadata + /v0/polygon/validators/{validator_id}/effectiveness: + get: PolygonValidators_getEffectiveness + /v0/polygon/validators/{validator_id}/summary: + get: PolygonValidators_getSummary + /v0/pricingPlans: + get: Pricing_getPlans + /v0/selfReports/validators: + post: SelfReports_createReportValidators + /v0/solana/network/overview: + get: SolanaNetwork_getOverview + /v0/solana/network/validatorDistributions: + get: SolanaNetwork_validatorDistributionsGet + /v0/solana/validators: + get: SolanaValidators_getSummaries + /v0/solana/validators/{validator_id}: + get: SolanaValidators_metadataGet + /v0/solana/validators/{validator_id}/performance: + get: SolanaValidators_getPerformance + /v0/solana/validators/{validator_id}/performance/latency: + get: SolanaValidators_getValidatorLatency + /v0/solana/validators/{validator_id}/rewards: + get: SolanaValidators_getValidatorRewards + /v0/solana/validators/{validator_id}/summary: + get: SolanaValidators_getSummaryById + /v1/eth/entities: + get: Entity_listGet + /v1/eth/entities/summaries: + get: Entity_getSummaries + /v1/eth/entities/{entity_id}: + get: Entity_getById + /v1/eth/entities/{entity_id}/attestations: + get: Entity_getAttestations + /v1/eth/entities/{entity_id}/effectiveness: + get: Entity_getEffectiveness + /v1/eth/entities/{entity_id}/penalties: + get: Entity_getPenalties + /v1/eth/entities/{entity_id}/proposals: + get: Entity_getProposals + /v1/eth/entities/{entity_id}/rewards: + get: Entity_getRewards + /v1/eth/entities/{entity_id}/summaries: + get: Entity_getSummaries + /v1/eth/sets/{set_id}/attestations: + get: Attestation_getAttestations + /v1/eth/sets/{set_id}/effectiveness: + get: Effectiveness_getSetEffectiveness + /v1/eth/sets/{set_id}/penalties: + get: Penalty_privateSetPenaltiesGet + /v1/eth/sets/{set_id}/proposals: + get: Proposal_listGet + /v1/eth/sets/{set_id}/rewards: + get: Reward_privateSetRewardsGet + /v1/eth/validators: + get: Validators_getAll + /v1/eth/validators/attestations: + get: Validators_getAttestations + /v1/eth/validators/effectiveness: + get: Validators_getEffectiveness + /v1/eth/validators/proposals: + get: Validators_getProposals + /v1/eth/validators/{validator_index_or_pubkey}: + get: Validators_getValidator + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: Validators_getAttestations + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: Validators_getEffectiveness + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: Validators_getPenalties + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: Validators_getProposalsByValidatorIndexOrPubkey + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: Validators_getRewards + /v1/tags: + get: Tags_getAll + post: Tags_createTag + /v1/tags/{id}: + get: Tags_getById + patch: Tags_updateById + /v1/tags/{id}/validators: + get: Validators_getTag + post: Validators_add + /v1/tags/{id}/validators/{pubkey}: + delete: Validators_removeValidator +operationTags: + /v1/eth/entities: + get: Entity + /v1/eth/entities/summaries: + get: Entity + /v1/eth/entities/{entity_id}: + get: Entity + /v1/eth/entities/{entity_id}/attestations: + get: Entity + /v1/eth/entities/{entity_id}/effectiveness: + get: Entity + /v1/eth/entities/{entity_id}/penalties: + get: Entity + /v1/eth/entities/{entity_id}/proposals: + get: Entity + /v1/eth/entities/{entity_id}/rewards: + get: Entity + /v1/eth/entities/{entity_id}/summaries: + get: Entity + /v1/eth/sets/{set_id}/attestations: + get: Attestation + /v1/eth/sets/{set_id}/effectiveness: + get: Effectiveness + /v1/eth/sets/{set_id}/penalties: + get: Penalty + /v1/eth/sets/{set_id}/proposals: + get: Proposal + /v1/eth/sets/{set_id}/rewards: + get: Reward + /v1/eth/validators: + get: Validators + /v1/eth/validators/attestations: + get: Validators + /v1/eth/validators/effectiveness: + get: Validators + /v1/eth/validators/proposals: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: Validators + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: Validators + /v1/tags: + get: Tags + /v1/tags/{id}: + get: Tags + patch: Tags + /v1/tags/{id}/validators: + get: Validators + post: Validators + /v1/tags/{id}/validators/{pubkey}: + delete: Validators +renameTags: {} +requestSchemaNames: {} +responseDescriptions: {} +responseSchemaNames: + /v0/eth/network/capacity: + get: + '200': + application/json: NetworkGetChurnCapacityResponse + /v0/eth/network/capacity/pool: + get: + '200': + application/json: NetworkGetChurnCapacityPoolResponse + /v0/eth/network/overview: + get: + '200': + application/json: NetworkGetOverviewResponse + /v0/eth/network/stats: + get: + '200': + application/json: NetworkGetStatsResponse + /v0/eth/operators/percentiles: + get: + '200': + application/json: OperatorsGetPercentilesResponse + /v0/eth/operators/{operator_id}/relayers: + get: + '200': + application/json: OperatorsGetRelayerStatsResponse + /v0/eth/operators/{operator_id}/stakeMovement: + get: + '200': + application/json: OperatorsGetStakeMovementResponse + /v0/eth/p2p/geographical: + get: + '200': + application/json: P2PBetaGetGeographicalDistributionResponse + /v0/eth/slashings/cohortAnalysis: + get: + '200': + application/json: SlashingsGetCohortAnalysisResponse + /v0/eth/slashings/overview: + get: + '200': + application/json: SlashingsOverviewGetResponse + /v0/eth/slashings/timeseries: + get: + '200': + application/json: SlashingsGetTimeSeriesResponse + /v0/eth/withdrawals/predicted/slot/{withdrawal_slot}: + get: + '200': + application/json: WithdrawalsGetPredictedBySlotResponse + /v0/polygon/network/overview: + get: + '200': + application/json: PolygonNetworkGetOverviewResponse + /v0/pricingPlans: + get: + '200': + application/json: PricingGetPlansResponse + /v0/solana/network/overview: + get: + '200': + application/json: SolanaNetworkGetOverviewResponse + /v1/eth/entities: + get: + '200': + application/json: EntityListGetResponse + /v1/eth/entities/summaries: + get: + '200': + application/json: EntityGetSummariesResponse + /v1/eth/entities/{entity_id}: + get: + '200': + application/json: EntityGetByIdResponse + /v1/eth/entities/{entity_id}/attestations: + get: + '200': + application/json: EntityGetAttestationsResponse + /v1/eth/entities/{entity_id}/effectiveness: + get: + '200': + application/json: EntityGetEffectivenessResponse + /v1/eth/entities/{entity_id}/penalties: + get: + '200': + application/json: EntityGetPenaltiesResponse + /v1/eth/entities/{entity_id}/proposals: + get: + '200': + application/json: EntityGetProposalsResponse + /v1/eth/entities/{entity_id}/rewards: + get: + '200': + application/json: EntityGetRewardsResponse + /v1/eth/entities/{entity_id}/summaries: + get: + '200': + application/json: EntityGetSummaries200Response + /v1/eth/sets/{set_id}/attestations: + get: + '200': + application/json: AttestationGetAttestationsResponse + /v1/eth/sets/{set_id}/effectiveness: + get: + '200': + application/json: EffectivenessGetSetEffectivenessResponse + /v1/eth/sets/{set_id}/penalties: + get: + '200': + application/json: PenaltyPrivateSetPenaltiesGetResponse + /v1/eth/sets/{set_id}/proposals: + get: + '200': + application/json: ProposalListGetResponse + /v1/eth/sets/{set_id}/rewards: + get: + '200': + application/json: RewardPrivateSetRewardsGetResponse + /v1/eth/validators: + get: + '200': + application/json: ValidatorsGetAllResponse + /v1/eth/validators/attestations: + get: + '200': + application/json: ValidatorsGetAttestationsResponse + /v1/eth/validators/effectiveness: + get: + '200': + application/json: ValidatorsGetEffectivenessResponse + /v1/eth/validators/proposals: + get: + '200': + application/json: ValidatorsGetProposalsResponse + /v1/eth/validators/{validator_index_or_pubkey}: + get: + '200': + application/json: ValidatorsGetValidatorResponse + /v1/eth/validators/{validator_index_or_pubkey}/attestations: + get: + '200': + application/json: ValidatorsGetAttestations200Response + /v1/eth/validators/{validator_index_or_pubkey}/effectiveness: + get: + '200': + application/json: ValidatorsGetEffectiveness200Response + /v1/eth/validators/{validator_index_or_pubkey}/penalties: + get: + '200': + application/json: ValidatorsGetPenaltiesResponse + /v1/eth/validators/{validator_index_or_pubkey}/proposals: + get: + '200': + application/json: ValidatorsGetProposalsByValidatorIndexOrPubkeyResponse + /v1/eth/validators/{validator_index_or_pubkey}/rewards: + get: + '200': + application/json: ValidatorsGetRewardsResponse + /v1/tags: + get: + '200': + application/json: TagsGetAllResponse + /v1/tags/{id}/validators: + get: + '200': + application/json: ValidatorsGetTagResponse + post: + '201': + application/json: ValidatorsAddResponse +securityParameters: + X-Rated-Network: + header: false + apr_type: + query: false + delegatorAddress: + query: false + distType: + query: false + entityType: + query: false + filterType: + query: false + from: + query: false + fromDate: + query: false + fromDay: + query: false + granularity: + query: false + groupBy: + query: false + idType: + query: false + include: + query: false + indices: + query: false + limit: + query: false + offset: + query: false + operatorsIds: + query: false + parentEntity: + query: false + parentId: + query: false + poolType: + query: false + pubkeys: + query: false + size: + query: false + slashingRole: + query: false + sortBy: + query: false + sortOrder: + query: false + stakeAction: + query: false + to: + query: false + toDate: + query: false + toDay: + query: false + window: + query: false + withdrawalAddress: + query: false +validServerUrls: {} diff --git a/sdks/db/progress/realcube-progress.yaml b/sdks/db/progress/realcube-progress.yaml new file mode 100644 index 000000000..423681a65 --- /dev/null +++ b/sdks/db/progress/realcube-progress.yaml @@ -0,0 +1,9861 @@ +examples: {} +examples_2: {} +examples_3: + /v1/activities: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/activities/{activity_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/activities/{external_id}/reference: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/activity_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/activity_types/{activity_type_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/addtl_building_ids: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_categories: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_configs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_configs/{app_config_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_data_repositories: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_data_repositories/latest_version: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_data_repositories/{app_data_repository_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_subscriptions: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/app_subscriptions/{app_subscription_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/apps: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/apps/{app_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/apps/{app_id}/memberships: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/attachments: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/attachments/copy: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/attachments/{attachment_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_areas: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_areas/{building_area_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_energies: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_energies/{building_energy_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_filter_settings: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_filter_settings/filter_setting_fields: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_filter_settings/{building_filter_setting_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_fms: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_fms/{building_fm_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_parkings: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_parkings/{building_parking_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_save_filters: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_save_filters/{building_save_filter_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_areas: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_areas/{building_unit_area_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_memberships: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places/{building_unit_place_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places_properties: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places_timeboxeds: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_retail_metrics: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_retails: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_retails/{building_unit_retail_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_unit_types/{building_unit_type_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_units: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_units/{building_unit_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_units_finances: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_units_finances/{building_units_finance_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_waters: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/building_waters/{building_water_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/buildings: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/buildings/{building_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/buildings/{building_id}/scorecard_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/buildings_finances: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/buildings_finances/{buildings_finance_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_additions: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_additions/{contract_addition_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_grants: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_grants/{contract_grant_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_membership_costs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_membership_costs/{contract_membership_cost_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_memberships: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contract_memberships/{contract_membership_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contracts: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/contracts/{contract_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/cost_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/cost_types/{id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/credentials/auth: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/credentials/me: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_attribute_groups: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_categories: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_categories/{customer_account_category_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_category_configs: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_category_configs/{customer_account_category_config_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_configs: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '500': + application/json: {} + /v1/customer_account_configs/{customer_account_config_id}: + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/customer_account_schemas: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_translations: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_account_translations/{customer_account_translation_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_accounts: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/customer_accounts/{id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/customer_accounts/{id}/time_attribute_schema: + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/customer_attributes_schema_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_attributes_schemas: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboard_configs: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboard_configs/{customer_account_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboards: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + /v1/dashboards/explore: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + /v1/dashboards/order: + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboards/session_expire: + get: + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboards/synchronise: + get: + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboards/{dashboard_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/dashboards/{dashboard_id}/copy: + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/data_catalogs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/data_catalogs/{data_catalog_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/departments: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/departments/{department_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/emission_factor_settings: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/emission_factor_settings/update: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/emission_factor_settings/{emission_factor_setting_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/ep_code_combinations: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/facilities: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/facilities/{facility_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/facility_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/facility_types/facility_types_with_schema: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/facility_types/{facility_type_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/images: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/images/{image_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/imports: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/imports/{import_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/levels: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/levels/{level_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/lots: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/lots/{lot_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/manufacturers: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/manufacturers/{manufacturer_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/manufacturers/{manufacturer_id}/model_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisation_configs: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisation_configs/{organisation_config_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisation_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisation_memberships/{organisations_membership_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisations: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/organisations/{organisation_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/people: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/people/{person_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/person_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/person_memberships/{person_membership_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/phases: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/phases/{phase_id}: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/plan_configs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/plan_versions: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/plan_versions/{id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/plans: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/plans/{plan_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/platform_configs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/platform_configs/{platform_config_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/properties: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/properties/{property_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/property_managers: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/property_managers/{property_manager_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/property_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/raw_data_catalogs: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increase_indices: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increase_indices/{rent_increase_index_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increase_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increase_types/{rent_increase_type_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increases: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increases/{rent_increase_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_increases/{rent_increase_id}/apply: + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_trackers: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rent_trackers/{rent_tracker_id}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/report_account_schemas: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/report_account_schemas/{report_account_schema_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/report_templates: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/report_templates/{report_template_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/role_policies: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/role_policies/{role_policy_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/roles: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/roles/{role_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/room_and_zone_types: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rooms: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/rooms/{room_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_assigners: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_assigners/{scorecard_assigner_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/calculated_costs: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/count_buildings: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/de_assign: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/refresh_all_by_parent: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/refresh_by_scorecard: + post: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/{scorecard_membership_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_segments: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_segments/{scorecard_segment_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_subtopics: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_topics: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecard_topics/{scorecard_topic_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecards: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/scorecards/{scorecard_id}: + delete: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/security_deposits: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/security_deposits/{security_deposit_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/tags: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/tags/assign_buildings: + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/tags/merge: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/tags/{tag_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/task_memberships: + get: + '200': + application/json: {} + '401': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/task_memberships/{task_membership_id}: + delete: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/tenants/{boarding_type}: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/time_dependent_attributes: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/users: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/users/log_in: + post: + '200': + application/json: {} + '401': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/users/log_out: + delete: + '200': + application/json: {} + '401': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/users/refresh_token: + get: + '200': + application/json: {} + '401': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/users/reset_password_instructions: + put: + '200': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/users/send_invitation: + put: + '200': + application/json: {} + '404': + application/json: {} + '500': + application/json: {} + /v1/users/{user_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/webhooks: + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/webhooks/{webhook_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + get: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/zones: + post: + '201': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + /v1/zones/{zone_id}: + delete: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} + put: + '200': + application/json: {} + '401': + application/json: {} + '403': + application/json: {} + '404': + application/json: {} + '422': + application/json: {} + '500': + application/json: {} +ignoreObjectsWithNoProperties: true +operationIds: + /v1/activities: + get: Activities_listWithFilters + post: Activities_createActivity + /v1/activities/{activity_id}: + delete: Activities_removeActivity + get: Activities_showActivity + put: Activities_updateActivity + /v1/activities/{external_id}/reference: + get: Activities_showActivity + /v1/activity_types: + get: Activitytypes_getAll + post: Activitytypes_createActivity + /v1/activity_types/{activity_type_id}: + delete: Activitytypes_deleteActivityType + get: Activitytypes_showActivityType + put: Activitytypes_updateType + /v1/addtl_building_ids: + get: Addtlbuildingids_getBuildingIds + post: Addtlbuildingids_createId + /v1/addtl_building_ids/{addtl_building_id_id}: + put: Addtlbuildingids_updateBuildingId + /v1/app_categories: + get: Appcategories_getAllCategories + /v1/app_configs: + get: Appconfigs_getAllConfigs + post: Appconfigs_createConfig + /v1/app_configs/{app_config_id}: + delete: Appconfigs_deleteConfig + get: Appconfigs_showConfig + put: Appconfigs_updateConfig + /v1/app_data_repositories: + get: Appdatarepositories_getAllDataRepositories + post: Appdatarepositories_createNewRepository + /v1/app_data_repositories/latest_version: + get: Appdatarepositories_showRepository + /v1/app_data_repositories/{app_data_repository_id}: + delete: Appdatarepositories_deleteRepository + put: Appdatarepositories_updateRepository + /v1/app_subscriptions: + get: Appsubscriptions_getAllSubs + post: Appsubscriptions_createSubscription + /v1/app_subscriptions/{app_subscription_id}: + delete: Appsubscriptions_deleteSubscription + get: Appsubscriptions_showSubscription + put: Appsubscriptions_updateSubscription + /v1/apps: + get: Apps_getAllApps + post: Apps_createApp + /v1/apps/{app_id}: + delete: Apps_deleteApp + get: Apps_showApp + put: Apps_updateApp + /v1/apps/{app_id}/memberships: + delete: Apps_deleteCategoryMembership + post: Apps_createMembershipToCategory + /v1/attachments: + post: Attachments_createNewAttachment + /v1/attachments/copy: + post: Attachments_duplicateAttachment + /v1/attachments/{attachment_id}: + delete: Attachments_markAsDeleted + /v1/building_areas: + get: Buildingareas_getBuildingAreas + post: Buildingareas_createNewBuildingArea + /v1/building_areas/{building_area_id}: + put: Buildingareas_updateArea + /v1/building_energies: + get: Buildingenergies_getBuildingEnergies + post: Buildingenergies_createEnergy + /v1/building_energies/{building_energy_id}: + put: Buildingenergies_updateEnergy + /v1/building_filter_settings: + get: Buildingfiltersettings_getAllSettings + post: Buildingfiltersettings_createSettings + /v1/building_filter_settings/filter_setting_fields: + get: Buildingfiltersettings_getAllFields + /v1/building_filter_settings/{building_filter_setting_id}: + delete: Buildingfiltersettings_deleteSetting + get: Buildingfiltersettings_showSetting + put: Buildingfiltersettings_updateSetting + /v1/building_fms: + get: Buildingfms_getBuildingFms + post: Buildingfms_createBuildingFm + /v1/building_fms/{building_fm_id}: + put: Buildingfms_updateBuildingFm + /v1/building_parkings: + get: Buildingparkings_getBuildingParkings + post: Buildingparkings_createNewParking + /v1/building_parkings/{building_parking_id}: + put: Buildingparkings_updateParking + /v1/building_save_filters: + get: Buildingsavefilters_getAllFilters + post: Buildingsavefilters_createBuildingSaveFilter + /v1/building_save_filters/{building_save_filter_id}: + delete: Buildingsavefilters_deleteSaveFilter + get: Buildingsavefilters_showSaveFilter + put: Buildingsavefilters_updateSaveFilter + /v1/building_types: + get: Buildingtypes_getAllBuildingTypes + /v1/building_unit_areas: + get: Buildingunitareas_getBuildingAreas + post: Buildingunitareas_createArea + /v1/building_unit_areas/{building_unit_area_id}: + put: Buildingunitareas_updateArea + /v1/building_unit_memberships: + post: Buildingunitmemberships_createMembershipInUnit + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: Buildingunitmemberships_destroyOrganisationMembership + /v1/building_unit_places: + get: Buildingunitplaces_getUnitPlaces + post: Buildingunitplaces_createPlace + /v1/building_unit_places/{building_unit_place_id}: + put: Buildingunitplaces_updatePlace + /v1/building_unit_places_properties: + get: Buildingunitplacesproperties_returnProperties + post: Buildingunitplacesproperties_createNew + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: Buildingunitplacesproperties_updateProperty + /v1/building_unit_places_timeboxeds: + get: Buildingunitplacestimeboxeds_getBuildingEnergies + post: Buildingunitplacestimeboxeds_createTimeboxed + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: Buildingunitplacestimeboxeds_updateTimeboxed + /v1/building_unit_retail_metrics: + get: Buildingunitretailmetrics_getBuildingUnitRetails + post: Buildingunitretailmetrics_createMetric + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: Buildingunitretailmetrics_updateRetailBuildingUnit + /v1/building_unit_retails: + get: Buildingunitretails_list + post: Buildingunitretails_createRetailUnit + /v1/building_unit_retails/{building_unit_retail_id}: + put: Buildingunitretails_updateUnitRetail + /v1/building_unit_types: + get: Buildingunittypes_getAll + post: Buildingunittypes_createType + /v1/building_unit_types/{building_unit_type_id}: + delete: Buildingunittypes_delete + get: Buildingunittypes_showType + put: Buildingunittypes_updateBuildingUnitType + /v1/building_units: + get: Buildingunits_getAllWithinOrganisation + post: Buildingunits_createUnit + /v1/building_units/{building_unit_id}: + delete: Buildingunits_destroyUnitAndMemberships + get: Buildingunits_showUnitMemberships + put: Buildingunits_updateUnit + /v1/building_units_finances: + post: Buildingunitsfinances_createFinance + /v1/building_units_finances/{building_units_finance_id}: + put: Buildingunitsfinances_updateFinance + /v1/building_waters: + get: Buildingwaters_getBuildingWaters + post: Buildingwaters_createBuildingWater + /v1/building_waters/{building_water_id}: + put: Buildingwaters_updateBuildingWater + /v1/buildings: + get: Buildings_getAllWithinOrganisation + post: Buildings_createNewBuilding + /v1/buildings/{building_id}: + delete: Buildings_deleteBuilding + get: Buildings_showBuilding + put: Buildings_updateBuildingTimeDependentAttributes + /v1/buildings/{building_id}/scorecard_memberships: + get: Buildings_listScorecardMemberships + /v1/buildings_finances: + get: Buildingsfinances_returnBuildingFinances + post: Buildingsfinances_createFinance + /v1/buildings_finances/{buildings_finance_id}: + put: Buildingsfinances_updateFinance + /v1/contract_additions: + get: Contractadditions_getAllForCurrentContract + post: Contractadditions_createNewAddition + /v1/contract_additions/{contract_addition_id}: + delete: Contractadditions_deleteContractAddition + get: Contractadditions_showDetail + put: Contractadditions_updateContractAddition + /v1/contract_grants: + get: Contractgrants_getAllForCurrentContract + post: Contractgrants_createGrant + /v1/contract_grants/{contract_grant_id}: + delete: Contractgrants_deleteGrant + get: Contractgrants_showGrant + put: Contractgrants_updateGrant + /v1/contract_membership_costs: + get: Contractmembershipcosts_getAllForMember + post: Contractmembershipcosts_createNewMembershipCost + /v1/contract_membership_costs/{contract_membership_cost_id}: + delete: Contractmembershipcosts_deleteMembershipCost + get: Contractmembershipcosts_showMembershipCost + put: Contractmembershipcosts_updateMembershipCost + /v1/contract_memberships: + post: Contractmemberships_createMembershipIn + /v1/contract_memberships/{contract_membership_id}: + delete: Contractmemberships_destroyMembership + /v1/contracts: + get: Contracts_getAllContracts + post: Contracts_createNewContract + /v1/contracts/{contract_id}: + delete: Contracts_deleteContract + get: Contracts_showContract + put: Contracts_updateContract + /v1/cost_types: + get: Costtypes_getAll + post: Costtypes_createTypeOfCost + /v1/cost_types/{id}: + delete: Costtypes_deleteCostType + get: Costtypes_showType + put: Costtypes_updateCostType + /v1/credentials/auth: + post: Credentials_returnToken + /v1/credentials/me: + get: Credentials_getUserByOAuth + /v1/customer_account_attribute_groups: + get: Customeraccountattributegroups_getAllTranslations + post: Customeraccountattributegroups_createGroup + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + delete: Customeraccountattributegroups_deleteGroup + get: Customeraccountattributegroups_showGroup + put: Customeraccountattributegroups_update + /v1/customer_account_categories: + get: Customeraccountcategories_getCategories + post: Customeraccountcategories_createAccountCategory + /v1/customer_account_categories/{customer_account_category_id}: + delete: Customeraccountcategories_deleteCategory + put: Customeraccountcategories_updateCategory + /v1/customer_account_category_configs: + post: Customeraccountcategoryconfigs_createConfig + /v1/customer_account_category_configs/{customer_account_category_config_id}: + delete: Customeraccountcategoryconfigs_deleteConfig + put: Customeraccountcategoryconfigs_updateConfig + /v1/customer_account_configs: + get: Customeraccountconfigs_getConfiguration + post: Customeraccountconfigs_createConfiguration + /v1/customer_account_configs/{customer_account_config_id}: + put: Customeraccountconfigs_updateConfiguration + /v1/customer_account_schemas: + get: Customeraccountschemas_getAll + post: Customeraccountschemas_createNewSchema + /v1/customer_account_schemas/{customer_account_schema_id}: + get: Customeraccountschemas_showSchema + put: Customeraccountschemas_updateSchema + /v1/customer_account_translations: + get: Customeraccounttranslations_getAllTranslations + post: Customeraccounttranslations_createTranslation + /v1/customer_account_translations/{customer_account_translation_id}: + delete: Customeraccounttranslations_deleteTranslation + get: Customeraccounttranslations_showTranslation + put: Customeraccounttranslations_updateTranslation + /v1/customer_accounts: + get: Customeraccounts_getAllUserAccounts + /v1/customer_accounts/{id}: + get: Customeraccounts_getCustomerAccount + /v1/customer_accounts/{id}/time_attribute_schema: + put: Customeraccounts_updateTimeAttributeSchema + /v1/customer_attributes_schema_memberships: + get: Customerattributesschemamemberships_getAll + post: Customerattributesschemamemberships_createMembership + /v1/customer_attributes_schemas: + get: Customerattributesschemas_getAll + post: Customerattributesschemas_createSchema + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: Customerattributesschemas_showSchema + /v1/dashboard_configs: + post: Dashboardconfigs_createNewConfig + /v1/dashboard_configs/{customer_account_id}: + delete: Dashboardconfigs_markAsDeleted + get: Dashboardconfigs_show + put: Dashboardconfigs_updateWithinOrganisation + /v1/dashboards: + get: Dashboards_getCustomerAccount + /v1/dashboards/explore: + get: Dashboards_returnCustomerAccountExploreWithUrl + /v1/dashboards/order: + put: Dashboards_orderDashboards + /v1/dashboards/session_expire: + get: Dashboards_expireSessions + /v1/dashboards/synchronise: + get: Dashboards_synchronise + /v1/dashboards/{dashboard_id}: + get: Dashboards_showDashboard + put: Dashboards_updateDashboard + /v1/dashboards/{dashboard_id}/copy: + put: Dashboards_copyOnFolder + /v1/data_catalogs: + get: Datacatalogs_getAll + post: Datacatalogs_createNewCatalog + /v1/data_catalogs/{data_catalog_id}: + delete: Datacatalogs_deleteCatalog + get: Datacatalogs_showDataCatalog + put: Datacatalogs_updateCatalog + /v1/departments: + get: Departments_getAll + post: Departments_createNewDepartment + /v1/departments/{department_id}: + delete: Departments_markAsDeleted + put: Departments_updateDepartment + /v1/emission_factor_settings: + get: Emissionfactorsettings_getAllWithinAccount + post: Emissionfactorsettings_createEmissionFactorSetting + /v1/emission_factor_settings/update: + post: Emissionfactorsettings_updateEmissionFactorSetting + /v1/emission_factor_settings/{emission_factor_setting_id}: + delete: Emissionfactorsettings_deleteEmissionFactorSetting + get: Emissionfactorsettings_showEmissionFactorSetting + /v1/ep_code_combinations: + get: Epcodecombinations_getAll + /v1/facilities: + get: Facilities_getAllWithinOrganisation + post: Facilities_createFacility + /v1/facilities/{facility_id}: + delete: Facilities_deleteFacility + get: Facilities_showFacility + put: Facilities_updateFacility + /v1/facility_types: + get: Facilitytypes_getAll + /v1/facility_types/facility_types_with_schema: + get: Facilitytypes_getAll + /v1/facility_types/{facility_type_id}: + get: Facilitytypes_showType + /v1/images: + post: Images_createImage + /v1/images/{image_id}: + delete: Images_markAsDeleted + put: Images_updateImage + /v1/imports: + get: Csvimports_getAllImports + post: Csvimports_createByFile + /v1/imports/{import_id}: + get: Csvimports_getInfo + put: Csvimports_updateImport + /v1/levels: + get: Levels_getAll + post: Levels_createNewLevel + /v1/levels/{level_id}: + delete: Levels_deleteLevel + get: Levels_showLevel + put: Levels_updateLevel + /v1/lots: + get: Lots_getAll + post: Lots_createNewLot + /v1/lots/{lot_id}: + delete: Lots_deleteLotWithinOrganisation + get: Lots_showLot + put: Lots_updateLot + /v1/manufacturers: + get: Manufacturers_getAll + post: Manufacturers_createNewManufacturer + /v1/manufacturers/{manufacturer_id}: + delete: Manufacturers_deleteManufacturer + put: Manufacturers_updateManufacturer + /v1/manufacturers/{manufacturer_id}/model_types: + get: Manufacturers_listModelTypes + post: Manufacturers_createModelType + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + delete: Manufacturers_deleteModelType + put: Manufacturers_updateModelType + /v1/organisation_configs: + post: Organisationconfigs_createConfigForUser + /v1/organisation_configs/{organisation_config_id}: + delete: Organisationconfigs_delete + get: Organisationconfigs_getConfig + put: Organisationconfigs_updateUserConfig + /v1/organisation_memberships: + get: Organisationmemberships_getAll + post: Organisationmemberships_createUserMembership + /v1/organisation_memberships/{organisations_membership_id}: + delete: Organisationmemberships_deleteMembership + put: Organisationmemberships_updateMembership + /v1/organisations: + get: Organisations_listMemberRoles + post: Organisations_createUserForCustomer + /v1/organisations/{organisation_id}: + delete: Organisations_deleteOrganisation + put: Organisations_updateOrganisation + /v1/people: + get: People_getAllWithinOrganisation + post: People_createPerson + /v1/people/{person_id}: + delete: People_deletePersonWithinOrganisation + get: People_showPerson + put: People_updatePerson + /v1/person_memberships: + get: Personmemberships_listWithinOrganisation + post: Personmemberships_createMembershipInPerson + /v1/person_memberships/{person_membership_id}: + delete: Personmemberships_destroyMembership + /v1/phases: + get: Phases_getBuildingPhases + post: Phases_createPhase + /v1/phases/{phase_id}: + put: Phases_updatePhase + /v1/plan_configs: + get: Planconfigs_getAllConfigs + /v1/plan_versions: + post: Planversions_createPlanVersion + /v1/plan_versions/{id}: + delete: Planversions_deleteWithinCurrentPlan + put: Planversions_updateVersion + /v1/plans: + get: Plans_getAllInBuilding + post: Plans_createNewPlan + /v1/plans/{plan_id}: + delete: Plans_deletePlanWithinBuilding + get: Plans_showPlan + put: Plans_updatePlan + /v1/platform_configs: + get: Platformconfigs_showAllConfigs + post: Platformconfigs_createNewConfig + /v1/platform_configs/{platform_config_id}: + delete: Platformconfigs_markAsDeleted + put: Platformconfigs_updateWithinOrganisation + /v1/properties: + get: Properties_listForOrganisation + post: Properties_createForOrganisation + /v1/properties/{property_id}: + delete: Properties_deletePropertyWithinOrganisation + get: Properties_getForOrganisation + put: Properties_updateForOrganisation + /v1/property_managers: + get: Propertymanagers_getAllWithinCustomer + post: Propertymanagers_createNewManager + /v1/property_managers/{property_manager_id}: + delete: Propertymanagers_deleteManagerWithinAccount + get: Propertymanagers_getCurrentManager + put: Propertymanagers_updateCurrentAccountUser + /v1/property_types: + get: Propertytypes_getAllAvailable + /v1/raw_data_catalogs: + get: Rawdatacatalogs_getAllRawdataCatalogs + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: Rawdatacatalogs_showDataCatalog + /v1/rent_increase_indices: + get: Rentincreaseindices_getIndexData + post: Rentincreaseindices_createIndex + /v1/rent_increase_indices/{rent_increase_index_id}: + delete: Rentincreaseindices_deleteRentIncreaseIndex + get: Rentincreaseindices_returnRentIncreaseIndex + put: Rentincreaseindices_updateRentIncreaseIndexById + /v1/rent_increase_types: + get: Rentincreasetypes_getAllTypes + post: Rentincreasetypes_createType + /v1/rent_increase_types/{rent_increase_type_id}: + delete: Rentincreasetypes_delete + get: Rentincreasetypes_getById + put: Rentincreasetypes_updateType + /v1/rent_increases: + get: Rentincreases_getIncreases + post: Rentincreases_createNewIncrease + /v1/rent_increases/{rent_increase_id}: + delete: Rentincreases_deleteRentIncrease + get: Rentincreases_returnIncrease + put: Rentincreases_updateRentIncrease + /v1/rent_increases/{rent_increase_id}/apply: + put: Rentincreases_applyRentIncrease + /v1/rent_trackers: + get: Renttrackers_getRentTrackers + post: Renttrackers_createRentTracker + /v1/rent_trackers/{rent_tracker_id}: + get: Renttrackers_getRentTracker + put: Renttrackers_updateRentTracker + /v1/report_account_schemas: + get: Reportaccountschemas_getAll + post: Reportaccountschemas_createNewReportAccountSchema + /v1/report_account_schemas/{report_account_schema_id}: + delete: Reportaccountschemas_deleteSchema + get: Reportaccountschemas_showReportAccountSchema + put: Reportaccountschemas_updateSchema + /v1/report_templates: + get: Reporttemplates_getAllTemplates + post: Reporttemplates_createNewTemplate + /v1/report_templates/{report_template_id}: + delete: Reporttemplates_deleteReportTemplate + get: Reporttemplates_showTemplate + put: Reporttemplates_updateTemplate + /v1/role_policies: + get: Rolepolicies_getAll + post: Rolepolicies_createPolicy + /v1/role_policies/{role_policy_id}: + delete: Rolepolicies_deletePolicy + get: Rolepolicies_showRolePolicy + put: Rolepolicies_updatePolicy + /v1/roles: + get: Roles_getAllRoles + post: Roles_createRole + /v1/roles/{role_id}: + delete: Roles_removeRole + get: Roles_showRole + put: Roles_updateRole + /v1/room_and_zone_types: + get: Roomandzonetypes_getAll + /v1/rooms: + get: Rooms_getAllWithinOrganisation + post: Rooms_createRoom + /v1/rooms/{room_id}: + delete: Rooms_deleteRoomWithinOrganisation + get: Rooms_showRoom + put: Rooms_updateRoom + /v1/scorecard_assigners: + get: Scorecardassigners_getAll + post: Scorecardassigners_createNewScorecardAssigner + /v1/scorecard_assigners/{scorecard_assigner_id}: + delete: Scorecardassigners_deleteScorecardAssigner + get: Scorecardassigners_show + /v1/scorecard_memberships: + get: Scorecardmemberships_listAllScorecardMemberships + post: Scorecardmemberships_createMembership + /v1/scorecard_memberships/calculated_costs: + post: Scorecardmemberships_calculateCosts + /v1/scorecard_memberships/count_buildings: + post: Scorecardmemberships_countBuildingsByScorecardIds + /v1/scorecard_memberships/de_assign: + post: Scorecardmemberships_deAssign + /v1/scorecard_memberships/refresh_all_by_parent: + post: Scorecardmemberships_refreshAllByParent + /v1/scorecard_memberships/refresh_by_scorecard: + post: Scorecardmemberships_refreshScores + /v1/scorecard_memberships/{scorecard_membership_id}: + delete: Scorecardmemberships_deleteMembership + get: Scorecardmemberships_showMembership + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: Scorecardmemberships_refreshMembership + /v1/scorecard_segments: + post: Scorecardsegments_createNewSegment + /v1/scorecard_segments/{scorecard_segment_id}: + delete: Scorecardsegments_deleteSegment + put: Scorecardsegments_updateSegment + /v1/scorecard_subtopics: + post: Scorecardsubtopics_createSubtopic + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + delete: Scorecardsubtopics_deleteSubtopic + put: Scorecardsubtopics_updateSubtopic + /v1/scorecard_topics: + post: Scorecardtopics_createNewTopic + /v1/scorecard_topics/{scorecard_topic_id}: + delete: Scorecardtopics_deleteTopic + put: Scorecardtopics_updateTopic + /v1/scorecards: + get: Scorecards_listAllScorecards + post: Scorecards_createNewScorecard + /v1/scorecards/{scorecard_id}: + delete: Scorecards_deleteWithinAccount + get: Scorecards_showDetails + put: Scorecards_updateScorecard + /v1/security_deposits: + post: Securitydeposits_createDeposit + /v1/security_deposits/{security_deposit_id}: + delete: Securitydeposits_deleteDeposit + put: Securitydeposits_updateSecurityDeposit + /v1/tags: + get: Tags_getAllTagsWithCounts + post: Tags_createTag + /v1/tags/assign_buildings: + put: Tags_assignBuildings + /v1/tags/merge: + post: Tags_mergeMasterTags + /v1/tags/{tag_id}: + delete: Tags_markAsDeleted + put: Tags_updateTag + /v1/task_memberships: + get: Taskmemberships_getAllTaskMemberships + post: Taskmemberships_createMembership + /v1/task_memberships/{task_membership_id}: + delete: Taskmemberships_deleteTaskMembership + put: Taskmemberships_updateMembership + /v1/tenants/{boarding_type}: + get: Tenants_listForBoardingType + /v1/time_dependent_attributes: + get: Timedependentattributes_getAllWithinParent + post: Timedependentattributes_createAttribute + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + delete: Timedependentattributes_deleteTimeDependentAttribute + put: Timedependentattributes_updateAttribute + /v1/users: + get: Users_getAll + post: Users_createNewUser + /v1/users/log_in: + post: Users_authenticateUser + /v1/users/log_out: + delete: Users_invalidateApiToken + /v1/users/refresh_token: + get: Users_refreshToken + /v1/users/reset_password_instructions: + put: Users_sendResetInstructions + /v1/users/send_invitation: + put: Users_sendInvitation + /v1/users/{user_id}: + delete: Users_deleteUser + put: Users_updateUser + /v1/webhooks: + get: Webhooks_getAll + post: Webhooks_createNewWebhook + /v1/webhooks/{webhook_id}: + delete: Webhooks_deleteWebhookById + get: Webhooks_showWebhook + put: Webhooks_updateWebhook + /v1/zones: + post: Zones_createZone + /v1/zones/{zone_id}: + delete: Zones_deleteZone + put: Zones_updateZone +operationTags: {} +renameTags: {} +requestSchemaNames: {} +responseDescriptions: {} +responseSchemaNames: + /v1/activities: + get: + '200': + application/json: ActivitiesListWithFiltersResponse + '401': + application/json: ActivitiesListWithFilters401Response + '403': + application/json: ActivitiesListWithFilters403Response + '422': + application/json: ActivitiesListWithFilters422Response + '500': + application/json: ActivitiesListWithFilters500Response + post: + '201': + application/json: ActivitiesCreateActivityResponse + '401': + application/json: ActivitiesCreateActivity401Response + '403': + application/json: ActivitiesCreateActivity403Response + '422': + application/json: ActivitiesCreateActivity422Response + '500': + application/json: ActivitiesCreateActivity500Response + /v1/activities/{activity_id}: + delete: + '401': + application/json: ActivitiesRemoveActivityResponse + '403': + application/json: ActivitiesRemoveActivity403Response + '422': + application/json: ActivitiesRemoveActivity422Response + '500': + application/json: ActivitiesRemoveActivity500Response + get: + '200': + application/json: ActivitiesShowActivityResponse + '401': + application/json: ActivitiesShowActivity401Response + '403': + application/json: ActivitiesShowActivity403Response + '404': + application/json: ActivitiesShowActivity404Response + '422': + application/json: ActivitiesShowActivity422Response + '500': + application/json: ActivitiesShowActivity500Response + put: + '401': + application/json: ActivitiesUpdateActivityResponse + '403': + application/json: ActivitiesUpdateActivity403Response + '422': + application/json: ActivitiesUpdateActivity422Response + '500': + application/json: ActivitiesUpdateActivity500Response + /v1/activities/{external_id}/reference: + get: + '200': + application/json: ActivitiesShowActivity200Response + '401': + application/json: ActivitiesShowActivity401Response + '403': + application/json: ActivitiesShowActivity403Response + '404': + application/json: ActivitiesShowActivity404Response + '422': + application/json: ActivitiesShowActivity422Response + '500': + application/json: ActivitiesShowActivity500Response + /v1/activity_types: + get: + '200': + application/json: ActivitytypesGetAllResponse + '401': + application/json: ActivitytypesGetAll401Response + '403': + application/json: ActivitytypesGetAll403Response + '422': + application/json: ActivitytypesGetAll422Response + '500': + application/json: ActivitytypesGetAll500Response + post: + '201': + application/json: ActivitytypesCreateActivityResponse + '401': + application/json: ActivitytypesCreateActivity401Response + '403': + application/json: ActivitytypesCreateActivity403Response + '422': + application/json: ActivitytypesCreateActivity422Response + '500': + application/json: ActivitytypesCreateActivity500Response + /v1/activity_types/{activity_type_id}: + delete: + '401': + application/json: ActivitytypesDeleteActivityTypeResponse + '403': + application/json: ActivitytypesDeleteActivityType403Response + '422': + application/json: ActivitytypesDeleteActivityType422Response + '500': + application/json: ActivitytypesDeleteActivityType500Response + get: + '200': + application/json: ActivitytypesShowActivityTypeResponse + '401': + application/json: ActivitytypesShowActivityType401Response + '403': + application/json: ActivitytypesShowActivityType403Response + '404': + application/json: ActivitytypesShowActivityType404Response + '422': + application/json: ActivitytypesShowActivityType422Response + '500': + application/json: ActivitytypesShowActivityType500Response + put: + '401': + application/json: ActivitytypesUpdateTypeResponse + '403': + application/json: ActivitytypesUpdateType403Response + '422': + application/json: ActivitytypesUpdateType422Response + '500': + application/json: ActivitytypesUpdateType500Response + /v1/addtl_building_ids: + get: + '200': + application/json: AddtlbuildingidsGetBuildingIdsResponse + '401': + application/json: AddtlbuildingidsGetBuildingIds401Response + '500': + application/json: AddtlbuildingidsGetBuildingIds500Response + post: + '201': + application/json: AddtlbuildingidsCreateIdResponse + '401': + application/json: AddtlbuildingidsCreateId401Response + '403': + application/json: AddtlbuildingidsCreateId403Response + '422': + application/json: AddtlbuildingidsCreateId422Response + '500': + application/json: AddtlbuildingidsCreateId500Response + /v1/addtl_building_ids/{addtl_building_id_id}: + put: + '401': + application/json: AddtlbuildingidsUpdateBuildingIdResponse + '403': + application/json: AddtlbuildingidsUpdateBuildingId403Response + '422': + application/json: AddtlbuildingidsUpdateBuildingId422Response + '500': + application/json: AddtlbuildingidsUpdateBuildingId500Response + /v1/app_categories: + get: + '200': + application/json: AppcategoriesGetAllCategoriesResponse + '401': + application/json: AppcategoriesGetAllCategories401Response + '403': + application/json: AppcategoriesGetAllCategories403Response + '422': + application/json: AppcategoriesGetAllCategories422Response + '500': + application/json: AppcategoriesGetAllCategories500Response + /v1/app_configs: + get: + '200': + application/json: AppconfigsGetAllConfigsResponse + '401': + application/json: AppconfigsGetAllConfigs401Response + '403': + application/json: AppconfigsGetAllConfigs403Response + '422': + application/json: AppconfigsGetAllConfigs422Response + '500': + application/json: AppconfigsGetAllConfigs500Response + post: + '201': + application/json: AppconfigsCreateConfigResponse + '401': + application/json: AppconfigsCreateConfig401Response + '403': + application/json: AppconfigsCreateConfig403Response + '422': + application/json: AppconfigsCreateConfig422Response + '500': + application/json: AppconfigsCreateConfig500Response + /v1/app_configs/{app_config_id}: + delete: + '200': + application/json: AppconfigsDeleteConfigResponse + '401': + application/json: AppconfigsDeleteConfig401Response + '403': + application/json: AppconfigsDeleteConfig403Response + '404': + application/json: AppconfigsDeleteConfig404Response + '422': + application/json: AppconfigsDeleteConfig422Response + '500': + application/json: AppconfigsDeleteConfig500Response + get: + '200': + application/json: AppconfigsShowConfigResponse + '401': + application/json: AppconfigsShowConfig401Response + '403': + application/json: AppconfigsShowConfig403Response + '404': + application/json: AppconfigsShowConfig404Response + '422': + application/json: AppconfigsShowConfig422Response + '500': + application/json: AppconfigsShowConfig500Response + put: + '200': + application/json: AppconfigsUpdateConfigResponse + '401': + application/json: AppconfigsUpdateConfig401Response + '403': + application/json: AppconfigsUpdateConfig403Response + '422': + application/json: AppconfigsUpdateConfig422Response + '500': + application/json: AppconfigsUpdateConfig500Response + /v1/app_data_repositories: + get: + '200': + application/json: AppdatarepositoriesGetAllDataRepositoriesResponse + '401': + application/json: AppdatarepositoriesGetAllDataRepositories401Response + '403': + application/json: AppdatarepositoriesGetAllDataRepositories403Response + '422': + application/json: AppdatarepositoriesGetAllDataRepositories422Response + '500': + application/json: AppdatarepositoriesGetAllDataRepositories500Response + post: + '201': + application/json: AppdatarepositoriesCreateNewRepositoryResponse + '401': + application/json: AppdatarepositoriesCreateNewRepository401Response + '403': + application/json: AppdatarepositoriesCreateNewRepository403Response + '422': + application/json: AppdatarepositoriesCreateNewRepository422Response + '500': + application/json: AppdatarepositoriesCreateNewRepository500Response + /v1/app_data_repositories/latest_version: + get: + '200': + application/json: AppdatarepositoriesShowRepositoryResponse + '401': + application/json: AppdatarepositoriesShowRepository401Response + '403': + application/json: AppdatarepositoriesShowRepository403Response + '404': + application/json: AppdatarepositoriesShowRepository404Response + '422': + application/json: AppdatarepositoriesShowRepository422Response + '500': + application/json: AppdatarepositoriesShowRepository500Response + /v1/app_data_repositories/{app_data_repository_id}: + delete: + '200': + application/json: AppdatarepositoriesDeleteRepositoryResponse + '401': + application/json: AppdatarepositoriesDeleteRepository401Response + '403': + application/json: AppdatarepositoriesDeleteRepository403Response + '404': + application/json: AppdatarepositoriesDeleteRepository404Response + '422': + application/json: AppdatarepositoriesDeleteRepository422Response + '500': + application/json: AppdatarepositoriesDeleteRepository500Response + put: + '200': + application/json: AppdatarepositoriesUpdateRepositoryResponse + '401': + application/json: AppdatarepositoriesUpdateRepository401Response + '403': + application/json: AppdatarepositoriesUpdateRepository403Response + '422': + application/json: AppdatarepositoriesUpdateRepository422Response + '500': + application/json: AppdatarepositoriesUpdateRepository500Response + /v1/app_subscriptions: + get: + '200': + application/json: AppsubscriptionsGetAllSubsResponse + '401': + application/json: AppsubscriptionsGetAllSubs401Response + '403': + application/json: AppsubscriptionsGetAllSubs403Response + '422': + application/json: AppsubscriptionsGetAllSubs422Response + '500': + application/json: AppsubscriptionsGetAllSubs500Response + post: + '201': + application/json: AppsubscriptionsCreateSubscriptionResponse + '401': + application/json: AppsubscriptionsCreateSubscription401Response + '403': + application/json: AppsubscriptionsCreateSubscription403Response + '422': + application/json: AppsubscriptionsCreateSubscription422Response + '500': + application/json: AppsubscriptionsCreateSubscription500Response + /v1/app_subscriptions/{app_subscription_id}: + delete: + '200': + application/json: AppsubscriptionsDeleteSubscriptionResponse + '401': + application/json: AppsubscriptionsDeleteSubscription401Response + '403': + application/json: AppsubscriptionsDeleteSubscription403Response + '404': + application/json: AppsubscriptionsDeleteSubscription404Response + '422': + application/json: AppsubscriptionsDeleteSubscription422Response + '500': + application/json: AppsubscriptionsDeleteSubscription500Response + get: + '200': + application/json: AppsubscriptionsShowSubscriptionResponse + '401': + application/json: AppsubscriptionsShowSubscription401Response + '403': + application/json: AppsubscriptionsShowSubscription403Response + '404': + application/json: AppsubscriptionsShowSubscription404Response + '422': + application/json: AppsubscriptionsShowSubscription422Response + '500': + application/json: AppsubscriptionsShowSubscription500Response + put: + '200': + application/json: AppsubscriptionsUpdateSubscriptionResponse + '401': + application/json: AppsubscriptionsUpdateSubscription401Response + '403': + application/json: AppsubscriptionsUpdateSubscription403Response + '422': + application/json: AppsubscriptionsUpdateSubscription422Response + '500': + application/json: AppsubscriptionsUpdateSubscription500Response + /v1/apps: + get: + '200': + application/json: AppsGetAllAppsResponse + '401': + application/json: AppsGetAllApps401Response + '403': + application/json: AppsGetAllApps403Response + '422': + application/json: AppsGetAllApps422Response + '500': + application/json: AppsGetAllApps500Response + post: + '201': + application/json: AppsCreateAppResponse + '401': + application/json: AppsCreateApp401Response + '403': + application/json: AppsCreateApp403Response + '422': + application/json: AppsCreateApp422Response + '500': + application/json: AppsCreateApp500Response + /v1/apps/{app_id}: + delete: + '200': + application/json: AppsDeleteAppResponse + '401': + application/json: AppsDeleteApp401Response + '403': + application/json: AppsDeleteApp403Response + '404': + application/json: AppsDeleteApp404Response + '422': + application/json: AppsDeleteApp422Response + '500': + application/json: AppsDeleteApp500Response + get: + '200': + application/json: AppsShowAppResponse + '401': + application/json: AppsShowApp401Response + '403': + application/json: AppsShowApp403Response + '404': + application/json: AppsShowApp404Response + '422': + application/json: AppsShowApp422Response + '500': + application/json: AppsShowApp500Response + put: + '200': + application/json: AppsUpdateAppResponse + '401': + application/json: AppsUpdateApp401Response + '403': + application/json: AppsUpdateApp403Response + '422': + application/json: AppsUpdateApp422Response + '500': + application/json: AppsUpdateApp500Response + /v1/apps/{app_id}/memberships: + delete: + '200': + application/json: AppsDeleteCategoryMembershipResponse + '401': + application/json: AppsDeleteCategoryMembership401Response + '403': + application/json: AppsDeleteCategoryMembership403Response + '404': + application/json: AppsDeleteCategoryMembership404Response + '422': + application/json: AppsDeleteCategoryMembership422Response + '500': + application/json: AppsDeleteCategoryMembership500Response + post: + '201': + application/json: AppsCreateMembershipToCategoryResponse + '401': + application/json: AppsCreateMembershipToCategory401Response + '403': + application/json: AppsCreateMembershipToCategory403Response + '422': + application/json: AppsCreateMembershipToCategory422Response + '500': + application/json: AppsCreateMembershipToCategory500Response + /v1/attachments: + post: + '201': + application/json: AttachmentsCreateNewAttachmentResponse + '401': + application/json: AttachmentsCreateNewAttachment401Response + '403': + application/json: AttachmentsCreateNewAttachment403Response + '422': + application/json: AttachmentsCreateNewAttachment422Response + '500': + application/json: AttachmentsCreateNewAttachment500Response + /v1/attachments/copy: + post: + '201': + application/json: AttachmentsDuplicateAttachmentResponse + '401': + application/json: AttachmentsDuplicateAttachment401Response + '403': + application/json: AttachmentsDuplicateAttachment403Response + '422': + application/json: AttachmentsDuplicateAttachment422Response + '500': + application/json: AttachmentsDuplicateAttachment500Response + /v1/attachments/{attachment_id}: + delete: + '200': + application/json: AttachmentsMarkAsDeletedResponse + '401': + application/json: AttachmentsMarkAsDeleted401Response + '403': + application/json: AttachmentsMarkAsDeleted403Response + '404': + application/json: AttachmentsMarkAsDeleted404Response + '422': + application/json: AttachmentsMarkAsDeleted422Response + '500': + application/json: AttachmentsMarkAsDeleted500Response + /v1/building_areas: + get: + '200': + application/json: BuildingareasGetBuildingAreasResponse + '401': + application/json: BuildingareasGetBuildingAreas401Response + '500': + application/json: BuildingareasGetBuildingAreas500Response + post: + '201': + application/json: BuildingareasCreateNewBuildingAreaResponse + '401': + application/json: BuildingareasCreateNewBuildingArea401Response + '403': + application/json: BuildingareasCreateNewBuildingArea403Response + '422': + application/json: BuildingareasCreateNewBuildingArea422Response + '500': + application/json: BuildingareasCreateNewBuildingArea500Response + /v1/building_areas/{building_area_id}: + put: + '401': + application/json: BuildingareasUpdateAreaResponse + '403': + application/json: BuildingareasUpdateArea403Response + '422': + application/json: BuildingareasUpdateArea422Response + '500': + application/json: BuildingareasUpdateArea500Response + /v1/building_energies: + get: + '200': + application/json: BuildingenergiesGetBuildingEnergiesResponse + '401': + application/json: BuildingenergiesGetBuildingEnergies401Response + '500': + application/json: BuildingenergiesGetBuildingEnergies500Response + post: + '201': + application/json: BuildingenergiesCreateEnergyResponse + '401': + application/json: BuildingenergiesCreateEnergy401Response + '403': + application/json: BuildingenergiesCreateEnergy403Response + '422': + application/json: BuildingenergiesCreateEnergy422Response + '500': + application/json: BuildingenergiesCreateEnergy500Response + /v1/building_energies/{building_energy_id}: + put: + '401': + application/json: BuildingenergiesUpdateEnergyResponse + '403': + application/json: BuildingenergiesUpdateEnergy403Response + '422': + application/json: BuildingenergiesUpdateEnergy422Response + '500': + application/json: BuildingenergiesUpdateEnergy500Response + /v1/building_filter_settings: + get: + '200': + application/json: BuildingfiltersettingsGetAllSettingsResponse + '401': + application/json: BuildingfiltersettingsGetAllSettings401Response + '403': + application/json: BuildingfiltersettingsGetAllSettings403Response + '422': + application/json: BuildingfiltersettingsGetAllSettings422Response + '500': + application/json: BuildingfiltersettingsGetAllSettings500Response + post: + '200': + application/json: BuildingfiltersettingsCreateSettingsResponse + '401': + application/json: BuildingfiltersettingsCreateSettings401Response + '403': + application/json: BuildingfiltersettingsCreateSettings403Response + '422': + application/json: BuildingfiltersettingsCreateSettings422Response + '500': + application/json: BuildingfiltersettingsCreateSettings500Response + /v1/building_filter_settings/filter_setting_fields: + get: + '200': + application/json: BuildingfiltersettingsGetAllFieldsResponse + '401': + application/json: BuildingfiltersettingsGetAllFields401Response + '403': + application/json: BuildingfiltersettingsGetAllFields403Response + '422': + application/json: BuildingfiltersettingsGetAllFields422Response + '500': + application/json: BuildingfiltersettingsGetAllFields500Response + /v1/building_filter_settings/{building_filter_setting_id}: + delete: + '200': + application/json: BuildingfiltersettingsDeleteSettingResponse + '401': + application/json: BuildingfiltersettingsDeleteSetting401Response + '403': + application/json: BuildingfiltersettingsDeleteSetting403Response + '404': + application/json: BuildingfiltersettingsDeleteSetting404Response + '422': + application/json: BuildingfiltersettingsDeleteSetting422Response + '500': + application/json: BuildingfiltersettingsDeleteSetting500Response + get: + '200': + application/json: BuildingfiltersettingsShowSettingResponse + '401': + application/json: BuildingfiltersettingsShowSetting401Response + '403': + application/json: BuildingfiltersettingsShowSetting403Response + '404': + application/json: BuildingfiltersettingsShowSetting404Response + '422': + application/json: BuildingfiltersettingsShowSetting422Response + '500': + application/json: BuildingfiltersettingsShowSetting500Response + put: + '200': + application/json: BuildingfiltersettingsUpdateSettingResponse + '401': + application/json: BuildingfiltersettingsUpdateSetting401Response + '403': + application/json: BuildingfiltersettingsUpdateSetting403Response + '404': + application/json: BuildingfiltersettingsUpdateSetting404Response + '422': + application/json: BuildingfiltersettingsUpdateSetting422Response + '500': + application/json: BuildingfiltersettingsUpdateSetting500Response + /v1/building_fms: + get: + '200': + application/json: BuildingfmsGetBuildingFmsResponse + '401': + application/json: BuildingfmsGetBuildingFms401Response + '500': + application/json: BuildingfmsGetBuildingFms500Response + post: + '201': + application/json: BuildingfmsCreateBuildingFmResponse + '401': + application/json: BuildingfmsCreateBuildingFm401Response + '403': + application/json: BuildingfmsCreateBuildingFm403Response + '422': + application/json: BuildingfmsCreateBuildingFm422Response + '500': + application/json: BuildingfmsCreateBuildingFm500Response + /v1/building_fms/{building_fm_id}: + put: + '401': + application/json: BuildingfmsUpdateBuildingFmResponse + '403': + application/json: BuildingfmsUpdateBuildingFm403Response + '422': + application/json: BuildingfmsUpdateBuildingFm422Response + '500': + application/json: BuildingfmsUpdateBuildingFm500Response + /v1/building_parkings: + get: + '200': + application/json: BuildingparkingsGetBuildingParkingsResponse + '401': + application/json: BuildingparkingsGetBuildingParkings401Response + '500': + application/json: BuildingparkingsGetBuildingParkings500Response + post: + '201': + application/json: BuildingparkingsCreateNewParkingResponse + '401': + application/json: BuildingparkingsCreateNewParking401Response + '403': + application/json: BuildingparkingsCreateNewParking403Response + '422': + application/json: BuildingparkingsCreateNewParking422Response + '500': + application/json: BuildingparkingsCreateNewParking500Response + /v1/building_parkings/{building_parking_id}: + put: + '401': + application/json: BuildingparkingsUpdateParkingResponse + '403': + application/json: BuildingparkingsUpdateParking403Response + '422': + application/json: BuildingparkingsUpdateParking422Response + '500': + application/json: BuildingparkingsUpdateParking500Response + /v1/building_save_filters: + get: + '200': + application/json: BuildingsavefiltersGetAllFiltersResponse + '401': + application/json: BuildingsavefiltersGetAllFilters401Response + '403': + application/json: BuildingsavefiltersGetAllFilters403Response + '422': + application/json: BuildingsavefiltersGetAllFilters422Response + '500': + application/json: BuildingsavefiltersGetAllFilters500Response + post: + '200': + application/json: BuildingsavefiltersCreateBuildingSaveFilterResponse + '401': + application/json: BuildingsavefiltersCreateBuildingSaveFilter401Response + '403': + application/json: BuildingsavefiltersCreateBuildingSaveFilter403Response + '422': + application/json: BuildingsavefiltersCreateBuildingSaveFilter422Response + '500': + application/json: BuildingsavefiltersCreateBuildingSaveFilter500Response + /v1/building_save_filters/{building_save_filter_id}: + delete: + '200': + application/json: BuildingsavefiltersDeleteSaveFilterResponse + '401': + application/json: BuildingsavefiltersDeleteSaveFilter401Response + '403': + application/json: BuildingsavefiltersDeleteSaveFilter403Response + '404': + application/json: BuildingsavefiltersDeleteSaveFilter404Response + '422': + application/json: BuildingsavefiltersDeleteSaveFilter422Response + '500': + application/json: BuildingsavefiltersDeleteSaveFilter500Response + get: + '200': + application/json: BuildingsavefiltersShowSaveFilterResponse + '401': + application/json: BuildingsavefiltersShowSaveFilter401Response + '403': + application/json: BuildingsavefiltersShowSaveFilter403Response + '404': + application/json: BuildingsavefiltersShowSaveFilter404Response + '422': + application/json: BuildingsavefiltersShowSaveFilter422Response + '500': + application/json: BuildingsavefiltersShowSaveFilter500Response + put: + '200': + application/json: BuildingsavefiltersUpdateSaveFilterResponse + '401': + application/json: BuildingsavefiltersUpdateSaveFilter401Response + '403': + application/json: BuildingsavefiltersUpdateSaveFilter403Response + '404': + application/json: BuildingsavefiltersUpdateSaveFilter404Response + '422': + application/json: BuildingsavefiltersUpdateSaveFilter422Response + '500': + application/json: BuildingsavefiltersUpdateSaveFilter500Response + /v1/building_types: + get: + '200': + application/json: BuildingtypesGetAllBuildingTypesResponse + '401': + application/json: BuildingtypesGetAllBuildingTypes401Response + '403': + application/json: BuildingtypesGetAllBuildingTypes403Response + '422': + application/json: BuildingtypesGetAllBuildingTypes422Response + '500': + application/json: BuildingtypesGetAllBuildingTypes500Response + /v1/building_unit_areas: + get: + '200': + application/json: BuildingunitareasGetBuildingAreasResponse + '401': + application/json: BuildingunitareasGetBuildingAreas401Response + '500': + application/json: BuildingunitareasGetBuildingAreas500Response + post: + '201': + application/json: BuildingunitareasCreateAreaResponse + '401': + application/json: BuildingunitareasCreateArea401Response + '403': + application/json: BuildingunitareasCreateArea403Response + '422': + application/json: BuildingunitareasCreateArea422Response + '500': + application/json: BuildingunitareasCreateArea500Response + /v1/building_unit_areas/{building_unit_area_id}: + put: + '401': + application/json: BuildingunitareasUpdateAreaResponse + '403': + application/json: BuildingunitareasUpdateArea403Response + '422': + application/json: BuildingunitareasUpdateArea422Response + '500': + application/json: BuildingunitareasUpdateArea500Response + /v1/building_unit_memberships: + post: + '201': + application/json: BuildingunitmembershipsCreateMembershipInUnitResponse + '401': + application/json: BuildingunitmembershipsCreateMembershipInUnit401Response + '403': + application/json: BuildingunitmembershipsCreateMembershipInUnit403Response + '422': + application/json: BuildingunitmembershipsCreateMembershipInUnit422Response + '500': + application/json: BuildingunitmembershipsCreateMembershipInUnit500Response + /v1/building_unit_memberships/{building_unit_membership_id}: + delete: + '200': + application/json: BuildingunitmembershipsDestroyOrganisationMembershipResponse + '401': + application/json: BuildingunitmembershipsDestroyOrganisationMembership401Response + '403': + application/json: BuildingunitmembershipsDestroyOrganisationMembership403Response + '404': + application/json: BuildingunitmembershipsDestroyOrganisationMembership404Response + '422': + application/json: BuildingunitmembershipsDestroyOrganisationMembership422Response + '500': + application/json: BuildingunitmembershipsDestroyOrganisationMembership500Response + /v1/building_unit_places: + get: + '200': + application/json: BuildingunitplacesGetUnitPlacesResponse + '401': + application/json: BuildingunitplacesGetUnitPlaces401Response + '500': + application/json: BuildingunitplacesGetUnitPlaces500Response + post: + '201': + application/json: BuildingunitplacesCreatePlaceResponse + '401': + application/json: BuildingunitplacesCreatePlace401Response + '403': + application/json: BuildingunitplacesCreatePlace403Response + '422': + application/json: BuildingunitplacesCreatePlace422Response + '500': + application/json: BuildingunitplacesCreatePlace500Response + /v1/building_unit_places/{building_unit_place_id}: + put: + '401': + application/json: BuildingunitplacesUpdatePlaceResponse + '403': + application/json: BuildingunitplacesUpdatePlace403Response + '422': + application/json: BuildingunitplacesUpdatePlace422Response + '500': + application/json: BuildingunitplacesUpdatePlace500Response + /v1/building_unit_places_properties: + get: + '200': + application/json: BuildingunitplacespropertiesReturnPropertiesResponse + '401': + application/json: BuildingunitplacespropertiesReturnProperties401Response + '500': + application/json: BuildingunitplacespropertiesReturnProperties500Response + post: + '201': + application/json: BuildingunitplacespropertiesCreateNewResponse + '401': + application/json: BuildingunitplacespropertiesCreateNew401Response + '403': + application/json: BuildingunitplacespropertiesCreateNew403Response + '422': + application/json: BuildingunitplacespropertiesCreateNew422Response + '500': + application/json: BuildingunitplacespropertiesCreateNew500Response + /v1/building_unit_places_properties/{building_unit_places_property_id}: + put: + '401': + application/json: BuildingunitplacespropertiesUpdatePropertyResponse + '403': + application/json: BuildingunitplacespropertiesUpdateProperty403Response + '422': + application/json: BuildingunitplacespropertiesUpdateProperty422Response + '500': + application/json: BuildingunitplacespropertiesUpdateProperty500Response + /v1/building_unit_places_timeboxeds: + get: + '200': + application/json: BuildingunitplacestimeboxedsGetBuildingEnergiesResponse + '401': + application/json: BuildingunitplacestimeboxedsGetBuildingEnergies401Response + '500': + application/json: BuildingunitplacestimeboxedsGetBuildingEnergies500Response + post: + '201': + application/json: BuildingunitplacestimeboxedsCreateTimeboxedResponse + '401': + application/json: BuildingunitplacestimeboxedsCreateTimeboxed401Response + '403': + application/json: BuildingunitplacestimeboxedsCreateTimeboxed403Response + '422': + application/json: BuildingunitplacestimeboxedsCreateTimeboxed422Response + '500': + application/json: BuildingunitplacestimeboxedsCreateTimeboxed500Response + /v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}: + put: + '401': + application/json: BuildingunitplacestimeboxedsUpdateTimeboxedResponse + '403': + application/json: BuildingunitplacestimeboxedsUpdateTimeboxed403Response + '422': + application/json: BuildingunitplacestimeboxedsUpdateTimeboxed422Response + '500': + application/json: BuildingunitplacestimeboxedsUpdateTimeboxed500Response + /v1/building_unit_retail_metrics: + get: + '200': + application/json: BuildingunitretailmetricsGetBuildingUnitRetailsResponse + '401': + application/json: BuildingunitretailmetricsGetBuildingUnitRetails401Response + '500': + application/json: BuildingunitretailmetricsGetBuildingUnitRetails500Response + post: + '201': + application/json: BuildingunitretailmetricsCreateMetricResponse + '401': + application/json: BuildingunitretailmetricsCreateMetric401Response + '403': + application/json: BuildingunitretailmetricsCreateMetric403Response + '422': + application/json: BuildingunitretailmetricsCreateMetric422Response + '500': + application/json: BuildingunitretailmetricsCreateMetric500Response + /v1/building_unit_retail_metrics/{building_unit_retail_metric_id}: + put: + '401': + application/json: BuildingunitretailmetricsUpdateRetailBuildingUnitResponse + '403': + application/json: BuildingunitretailmetricsUpdateRetailBuildingUnit403Response + '422': + application/json: BuildingunitretailmetricsUpdateRetailBuildingUnit422Response + '500': + application/json: BuildingunitretailmetricsUpdateRetailBuildingUnit500Response + /v1/building_unit_retails: + get: + '200': + application/json: BuildingunitretailsListResponse + '401': + application/json: BuildingunitretailsList401Response + '500': + application/json: BuildingunitretailsList500Response + post: + '201': + application/json: BuildingunitretailsCreateRetailUnitResponse + '401': + application/json: BuildingunitretailsCreateRetailUnit401Response + '403': + application/json: BuildingunitretailsCreateRetailUnit403Response + '422': + application/json: BuildingunitretailsCreateRetailUnit422Response + '500': + application/json: BuildingunitretailsCreateRetailUnit500Response + /v1/building_unit_retails/{building_unit_retail_id}: + put: + '401': + application/json: BuildingunitretailsUpdateUnitRetailResponse + '403': + application/json: BuildingunitretailsUpdateUnitRetail403Response + '422': + application/json: BuildingunitretailsUpdateUnitRetail422Response + '500': + application/json: BuildingunitretailsUpdateUnitRetail500Response + /v1/building_unit_types: + get: + '200': + application/json: BuildingunittypesGetAllResponse + '401': + application/json: BuildingunittypesGetAll401Response + '403': + application/json: BuildingunittypesGetAll403Response + '422': + application/json: BuildingunittypesGetAll422Response + '500': + application/json: BuildingunittypesGetAll500Response + post: + '200': + application/json: BuildingunittypesCreateTypeResponse + '401': + application/json: BuildingunittypesCreateType401Response + '403': + application/json: BuildingunittypesCreateType403Response + '422': + application/json: BuildingunittypesCreateType422Response + '500': + application/json: BuildingunittypesCreateType500Response + /v1/building_unit_types/{building_unit_type_id}: + delete: + '200': + application/json: BuildingunittypesDeleteResponse + '401': + application/json: BuildingunittypesDelete401Response + '403': + application/json: BuildingunittypesDelete403Response + '404': + application/json: BuildingunittypesDelete404Response + '422': + application/json: BuildingunittypesDelete422Response + '500': + application/json: BuildingunittypesDelete500Response + get: + '200': + application/json: BuildingunittypesShowTypeResponse + '401': + application/json: BuildingunittypesShowType401Response + '403': + application/json: BuildingunittypesShowType403Response + '404': + application/json: BuildingunittypesShowType404Response + '422': + application/json: BuildingunittypesShowType422Response + '500': + application/json: BuildingunittypesShowType500Response + put: + '200': + application/json: BuildingunittypesUpdateBuildingUnitTypeResponse + '401': + application/json: BuildingunittypesUpdateBuildingUnitType401Response + '403': + application/json: BuildingunittypesUpdateBuildingUnitType403Response + '404': + application/json: BuildingunittypesUpdateBuildingUnitType404Response + '422': + application/json: BuildingunittypesUpdateBuildingUnitType422Response + '500': + application/json: BuildingunittypesUpdateBuildingUnitType500Response + /v1/building_units: + get: + '200': + application/json: BuildingunitsGetAllWithinOrganisationResponse + '401': + application/json: BuildingunitsGetAllWithinOrganisation401Response + '403': + application/json: BuildingunitsGetAllWithinOrganisation403Response + '422': + application/json: BuildingunitsGetAllWithinOrganisation422Response + '500': + application/json: BuildingunitsGetAllWithinOrganisation500Response + post: + '201': + application/json: BuildingunitsCreateUnitResponse + '401': + application/json: BuildingunitsCreateUnit401Response + '403': + application/json: BuildingunitsCreateUnit403Response + '422': + application/json: BuildingunitsCreateUnit422Response + '500': + application/json: BuildingunitsCreateUnit500Response + /v1/building_units/{building_unit_id}: + delete: + '200': + application/json: BuildingunitsDestroyUnitAndMembershipsResponse + '401': + application/json: BuildingunitsDestroyUnitAndMemberships401Response + '403': + application/json: BuildingunitsDestroyUnitAndMemberships403Response + '404': + application/json: BuildingunitsDestroyUnitAndMemberships404Response + '422': + application/json: BuildingunitsDestroyUnitAndMemberships422Response + '500': + application/json: BuildingunitsDestroyUnitAndMemberships500Response + get: + '200': + application/json: BuildingunitsShowUnitMembershipsResponse + '401': + application/json: BuildingunitsShowUnitMemberships401Response + '403': + application/json: BuildingunitsShowUnitMemberships403Response + '404': + application/json: BuildingunitsShowUnitMemberships404Response + '422': + application/json: BuildingunitsShowUnitMemberships422Response + '500': + application/json: BuildingunitsShowUnitMemberships500Response + put: + '200': + application/json: BuildingunitsUpdateUnitResponse + '401': + application/json: BuildingunitsUpdateUnit401Response + '403': + application/json: BuildingunitsUpdateUnit403Response + '404': + application/json: BuildingunitsUpdateUnit404Response + '422': + application/json: BuildingunitsUpdateUnit422Response + '500': + application/json: BuildingunitsUpdateUnit500Response + /v1/building_units_finances: + post: + '201': + application/json: BuildingunitsfinancesCreateFinanceResponse + '401': + application/json: BuildingunitsfinancesCreateFinance401Response + '403': + application/json: BuildingunitsfinancesCreateFinance403Response + '422': + application/json: BuildingunitsfinancesCreateFinance422Response + '500': + application/json: BuildingunitsfinancesCreateFinance500Response + /v1/building_units_finances/{building_units_finance_id}: + put: + '401': + application/json: BuildingunitsfinancesUpdateFinanceResponse + '403': + application/json: BuildingunitsfinancesUpdateFinance403Response + '422': + application/json: BuildingunitsfinancesUpdateFinance422Response + '500': + application/json: BuildingunitsfinancesUpdateFinance500Response + /v1/building_waters: + get: + '200': + application/json: BuildingwatersGetBuildingWatersResponse + '401': + application/json: BuildingwatersGetBuildingWaters401Response + '500': + application/json: BuildingwatersGetBuildingWaters500Response + post: + '201': + application/json: BuildingwatersCreateBuildingWaterResponse + '401': + application/json: BuildingwatersCreateBuildingWater401Response + '403': + application/json: BuildingwatersCreateBuildingWater403Response + '422': + application/json: BuildingwatersCreateBuildingWater422Response + '500': + application/json: BuildingwatersCreateBuildingWater500Response + /v1/building_waters/{building_water_id}: + put: + '401': + application/json: BuildingwatersUpdateBuildingWaterResponse + '403': + application/json: BuildingwatersUpdateBuildingWater403Response + '422': + application/json: BuildingwatersUpdateBuildingWater422Response + '500': + application/json: BuildingwatersUpdateBuildingWater500Response + /v1/buildings: + get: + '200': + application/json: BuildingsGetAllWithinOrganisationResponse + '401': + application/json: BuildingsGetAllWithinOrganisation401Response + '403': + application/json: BuildingsGetAllWithinOrganisation403Response + '422': + application/json: BuildingsGetAllWithinOrganisation422Response + '500': + application/json: BuildingsGetAllWithinOrganisation500Response + post: + '201': + application/json: BuildingsCreateNewBuildingResponse + '401': + application/json: BuildingsCreateNewBuilding401Response + '403': + application/json: BuildingsCreateNewBuilding403Response + '422': + application/json: BuildingsCreateNewBuilding422Response + '500': + application/json: BuildingsCreateNewBuilding500Response + /v1/buildings/{building_id}: + delete: + '200': + application/json: BuildingsDeleteBuildingResponse + '401': + application/json: BuildingsDeleteBuilding401Response + '403': + application/json: BuildingsDeleteBuilding403Response + '404': + application/json: BuildingsDeleteBuilding404Response + '422': + application/json: BuildingsDeleteBuilding422Response + '500': + application/json: BuildingsDeleteBuilding500Response + get: + '200': + application/json: BuildingsShowBuildingResponse + '401': + application/json: BuildingsShowBuilding401Response + '403': + application/json: BuildingsShowBuilding403Response + '404': + application/json: BuildingsShowBuilding404Response + '422': + application/json: BuildingsShowBuilding422Response + '500': + application/json: BuildingsShowBuilding500Response + put: + '200': + application/json: BuildingsUpdateBuildingTimeDependentAttributesResponse + '401': + application/json: BuildingsUpdateBuildingTimeDependentAttributes401Response + '403': + application/json: BuildingsUpdateBuildingTimeDependentAttributes403Response + '404': + application/json: BuildingsUpdateBuildingTimeDependentAttributes404Response + '422': + application/json: BuildingsUpdateBuildingTimeDependentAttributes422Response + '500': + application/json: BuildingsUpdateBuildingTimeDependentAttributes500Response + /v1/buildings/{building_id}/scorecard_memberships: + get: + '200': + application/json: BuildingsListScorecardMembershipsResponse + '401': + application/json: BuildingsListScorecardMemberships401Response + '403': + application/json: BuildingsListScorecardMemberships403Response + '404': + application/json: BuildingsListScorecardMemberships404Response + '422': + application/json: BuildingsListScorecardMemberships422Response + '500': + application/json: BuildingsListScorecardMemberships500Response + /v1/buildings_finances: + get: + '200': + application/json: BuildingsfinancesReturnBuildingFinancesResponse + '401': + application/json: BuildingsfinancesReturnBuildingFinances401Response + '500': + application/json: BuildingsfinancesReturnBuildingFinances500Response + post: + '201': + application/json: BuildingsfinancesCreateFinanceResponse + '401': + application/json: BuildingsfinancesCreateFinance401Response + '403': + application/json: BuildingsfinancesCreateFinance403Response + '422': + application/json: BuildingsfinancesCreateFinance422Response + '500': + application/json: BuildingsfinancesCreateFinance500Response + /v1/buildings_finances/{buildings_finance_id}: + put: + '401': + application/json: BuildingsfinancesUpdateFinanceResponse + '403': + application/json: BuildingsfinancesUpdateFinance403Response + '422': + application/json: BuildingsfinancesUpdateFinance422Response + '500': + application/json: BuildingsfinancesUpdateFinance500Response + /v1/contract_additions: + get: + '200': + application/json: ContractadditionsGetAllForCurrentContractResponse + '401': + application/json: ContractadditionsGetAllForCurrentContract401Response + '403': + application/json: ContractadditionsGetAllForCurrentContract403Response + '422': + application/json: ContractadditionsGetAllForCurrentContract422Response + '500': + application/json: ContractadditionsGetAllForCurrentContract500Response + post: + '200': + application/json: ContractadditionsCreateNewAdditionResponse + '401': + application/json: ContractadditionsCreateNewAddition401Response + '403': + application/json: ContractadditionsCreateNewAddition403Response + '422': + application/json: ContractadditionsCreateNewAddition422Response + '500': + application/json: ContractadditionsCreateNewAddition500Response + /v1/contract_additions/{contract_addition_id}: + delete: + '200': + application/json: ContractadditionsDeleteContractAdditionResponse + '401': + application/json: ContractadditionsDeleteContractAddition401Response + '403': + application/json: ContractadditionsDeleteContractAddition403Response + '404': + application/json: ContractadditionsDeleteContractAddition404Response + '422': + application/json: ContractadditionsDeleteContractAddition422Response + '500': + application/json: ContractadditionsDeleteContractAddition500Response + get: + '200': + application/json: ContractadditionsShowDetailResponse + '401': + application/json: ContractadditionsShowDetail401Response + '403': + application/json: ContractadditionsShowDetail403Response + '404': + application/json: ContractadditionsShowDetail404Response + '422': + application/json: ContractadditionsShowDetail422Response + '500': + application/json: ContractadditionsShowDetail500Response + put: + '200': + application/json: ContractadditionsUpdateContractAdditionResponse + '401': + application/json: ContractadditionsUpdateContractAddition401Response + '403': + application/json: ContractadditionsUpdateContractAddition403Response + '404': + application/json: ContractadditionsUpdateContractAddition404Response + '422': + application/json: ContractadditionsUpdateContractAddition422Response + '500': + application/json: ContractadditionsUpdateContractAddition500Response + /v1/contract_grants: + get: + '200': + application/json: ContractgrantsGetAllForCurrentContractResponse + '401': + application/json: ContractgrantsGetAllForCurrentContract401Response + '403': + application/json: ContractgrantsGetAllForCurrentContract403Response + '422': + application/json: ContractgrantsGetAllForCurrentContract422Response + '500': + application/json: ContractgrantsGetAllForCurrentContract500Response + post: + '200': + application/json: ContractgrantsCreateGrantResponse + '401': + application/json: ContractgrantsCreateGrant401Response + '403': + application/json: ContractgrantsCreateGrant403Response + '422': + application/json: ContractgrantsCreateGrant422Response + '500': + application/json: ContractgrantsCreateGrant500Response + /v1/contract_grants/{contract_grant_id}: + delete: + '200': + application/json: ContractgrantsDeleteGrantResponse + '401': + application/json: ContractgrantsDeleteGrant401Response + '403': + application/json: ContractgrantsDeleteGrant403Response + '404': + application/json: ContractgrantsDeleteGrant404Response + '422': + application/json: ContractgrantsDeleteGrant422Response + '500': + application/json: ContractgrantsDeleteGrant500Response + get: + '200': + application/json: ContractgrantsShowGrantResponse + '401': + application/json: ContractgrantsShowGrant401Response + '403': + application/json: ContractgrantsShowGrant403Response + '404': + application/json: ContractgrantsShowGrant404Response + '422': + application/json: ContractgrantsShowGrant422Response + '500': + application/json: ContractgrantsShowGrant500Response + put: + '200': + application/json: ContractgrantsUpdateGrantResponse + '401': + application/json: ContractgrantsUpdateGrant401Response + '403': + application/json: ContractgrantsUpdateGrant403Response + '404': + application/json: ContractgrantsUpdateGrant404Response + '422': + application/json: ContractgrantsUpdateGrant422Response + '500': + application/json: ContractgrantsUpdateGrant500Response + /v1/contract_membership_costs: + get: + '200': + application/json: ContractmembershipcostsGetAllForMemberResponse + '401': + application/json: ContractmembershipcostsGetAllForMember401Response + '403': + application/json: ContractmembershipcostsGetAllForMember403Response + '422': + application/json: ContractmembershipcostsGetAllForMember422Response + '500': + application/json: ContractmembershipcostsGetAllForMember500Response + post: + '200': + application/json: ContractmembershipcostsCreateNewMembershipCostResponse + '401': + application/json: ContractmembershipcostsCreateNewMembershipCost401Response + '403': + application/json: ContractmembershipcostsCreateNewMembershipCost403Response + '422': + application/json: ContractmembershipcostsCreateNewMembershipCost422Response + '500': + application/json: ContractmembershipcostsCreateNewMembershipCost500Response + /v1/contract_membership_costs/{contract_membership_cost_id}: + delete: + '200': + application/json: ContractmembershipcostsDeleteMembershipCostResponse + '401': + application/json: ContractmembershipcostsDeleteMembershipCost401Response + '403': + application/json: ContractmembershipcostsDeleteMembershipCost403Response + '404': + application/json: ContractmembershipcostsDeleteMembershipCost404Response + '422': + application/json: ContractmembershipcostsDeleteMembershipCost422Response + '500': + application/json: ContractmembershipcostsDeleteMembershipCost500Response + get: + '200': + application/json: ContractmembershipcostsShowMembershipCostResponse + '401': + application/json: ContractmembershipcostsShowMembershipCost401Response + '403': + application/json: ContractmembershipcostsShowMembershipCost403Response + '404': + application/json: ContractmembershipcostsShowMembershipCost404Response + '422': + application/json: ContractmembershipcostsShowMembershipCost422Response + '500': + application/json: ContractmembershipcostsShowMembershipCost500Response + put: + '200': + application/json: ContractmembershipcostsUpdateMembershipCostResponse + '401': + application/json: ContractmembershipcostsUpdateMembershipCost401Response + '403': + application/json: ContractmembershipcostsUpdateMembershipCost403Response + '404': + application/json: ContractmembershipcostsUpdateMembershipCost404Response + '422': + application/json: ContractmembershipcostsUpdateMembershipCost422Response + '500': + application/json: ContractmembershipcostsUpdateMembershipCost500Response + /v1/contract_memberships: + post: + '201': + application/json: ContractmembershipsCreateMembershipInResponse + '401': + application/json: ContractmembershipsCreateMembershipIn401Response + '403': + application/json: ContractmembershipsCreateMembershipIn403Response + '422': + application/json: ContractmembershipsCreateMembershipIn422Response + '500': + application/json: ContractmembershipsCreateMembershipIn500Response + /v1/contract_memberships/{contract_membership_id}: + delete: + '200': + application/json: ContractmembershipsDestroyMembershipResponse + '401': + application/json: ContractmembershipsDestroyMembership401Response + '403': + application/json: ContractmembershipsDestroyMembership403Response + '404': + application/json: ContractmembershipsDestroyMembership404Response + '422': + application/json: ContractmembershipsDestroyMembership422Response + '500': + application/json: ContractmembershipsDestroyMembership500Response + /v1/contracts: + get: + '200': + application/json: ContractsGetAllContractsResponse + '401': + application/json: ContractsGetAllContracts401Response + '403': + application/json: ContractsGetAllContracts403Response + '422': + application/json: ContractsGetAllContracts422Response + '500': + application/json: ContractsGetAllContracts500Response + post: + '201': + application/json: ContractsCreateNewContractResponse + '401': + application/json: ContractsCreateNewContract401Response + '403': + application/json: ContractsCreateNewContract403Response + '422': + application/json: ContractsCreateNewContract422Response + '500': + application/json: ContractsCreateNewContract500Response + /v1/contracts/{contract_id}: + delete: + '200': + application/json: ContractsDeleteContractResponse + '401': + application/json: ContractsDeleteContract401Response + '403': + application/json: ContractsDeleteContract403Response + '404': + application/json: ContractsDeleteContract404Response + '422': + application/json: ContractsDeleteContract422Response + '500': + application/json: ContractsDeleteContract500Response + get: + '200': + application/json: ContractsShowContractResponse + '401': + application/json: ContractsShowContract401Response + '403': + application/json: ContractsShowContract403Response + '404': + application/json: ContractsShowContract404Response + '422': + application/json: ContractsShowContract422Response + '500': + application/json: ContractsShowContract500Response + put: + '200': + application/json: ContractsUpdateContractResponse + '401': + application/json: ContractsUpdateContract401Response + '403': + application/json: ContractsUpdateContract403Response + '404': + application/json: ContractsUpdateContract404Response + '422': + application/json: ContractsUpdateContract422Response + '500': + application/json: ContractsUpdateContract500Response + /v1/cost_types: + get: + '200': + application/json: CosttypesGetAllResponse + '401': + application/json: CosttypesGetAll401Response + '403': + application/json: CosttypesGetAll403Response + '422': + application/json: CosttypesGetAll422Response + '500': + application/json: CosttypesGetAll500Response + post: + '201': + application/json: CosttypesCreateTypeOfCostResponse + '401': + application/json: CosttypesCreateTypeOfCost401Response + '403': + application/json: CosttypesCreateTypeOfCost403Response + '422': + application/json: CosttypesCreateTypeOfCost422Response + '500': + application/json: CosttypesCreateTypeOfCost500Response + /v1/cost_types/{id}: + delete: + '200': + application/json: CosttypesDeleteCostTypeResponse + '401': + application/json: CosttypesDeleteCostType401Response + '403': + application/json: CosttypesDeleteCostType403Response + '404': + application/json: CosttypesDeleteCostType404Response + '422': + application/json: CosttypesDeleteCostType422Response + '500': + application/json: CosttypesDeleteCostType500Response + get: + '200': + application/json: CosttypesShowTypeResponse + '401': + application/json: CosttypesShowType401Response + '403': + application/json: CosttypesShowType403Response + '404': + application/json: CosttypesShowType404Response + '422': + application/json: CosttypesShowType422Response + '500': + application/json: CosttypesShowType500Response + put: + '200': + application/json: CosttypesUpdateCostTypeResponse + '401': + application/json: CosttypesUpdateCostType401Response + '403': + application/json: CosttypesUpdateCostType403Response + '404': + application/json: CosttypesUpdateCostType404Response + '422': + application/json: CosttypesUpdateCostType422Response + '500': + application/json: CosttypesUpdateCostType500Response + /v1/credentials/auth: + post: + '200': + application/json: CredentialsReturnTokenResponse + '401': + application/json: CredentialsReturnToken401Response + '403': + application/json: CredentialsReturnToken403Response + '422': + application/json: CredentialsReturnToken422Response + '500': + application/json: CredentialsReturnToken500Response + /v1/credentials/me: + get: + '200': + application/json: CredentialsGetUserByOAuthResponse + '401': + application/json: CredentialsGetUserByOAuth401Response + '403': + application/json: CredentialsGetUserByOAuth403Response + '422': + application/json: CredentialsGetUserByOAuth422Response + '500': + application/json: CredentialsGetUserByOAuth500Response + /v1/customer_account_attribute_groups: + get: + '200': + application/json: CustomeraccountattributegroupsGetAllTranslationsResponse + '401': + application/json: CustomeraccountattributegroupsGetAllTranslations401Response + '403': + application/json: CustomeraccountattributegroupsGetAllTranslations403Response + '422': + application/json: CustomeraccountattributegroupsGetAllTranslations422Response + '500': + application/json: CustomeraccountattributegroupsGetAllTranslations500Response + post: + '201': + application/json: CustomeraccountattributegroupsCreateGroupResponse + '401': + application/json: CustomeraccountattributegroupsCreateGroup401Response + '403': + application/json: CustomeraccountattributegroupsCreateGroup403Response + '422': + application/json: CustomeraccountattributegroupsCreateGroup422Response + '500': + application/json: CustomeraccountattributegroupsCreateGroup500Response + /v1/customer_account_attribute_groups/{customer_account_attribute_group_id}: + delete: + '200': + application/json: CustomeraccountattributegroupsDeleteGroupResponse + '401': + application/json: CustomeraccountattributegroupsDeleteGroup401Response + '403': + application/json: CustomeraccountattributegroupsDeleteGroup403Response + '404': + application/json: CustomeraccountattributegroupsDeleteGroup404Response + '422': + application/json: CustomeraccountattributegroupsDeleteGroup422Response + '500': + application/json: CustomeraccountattributegroupsDeleteGroup500Response + get: + '200': + application/json: CustomeraccountattributegroupsShowGroupResponse + '401': + application/json: CustomeraccountattributegroupsShowGroup401Response + '403': + application/json: CustomeraccountattributegroupsShowGroup403Response + '404': + application/json: CustomeraccountattributegroupsShowGroup404Response + '422': + application/json: CustomeraccountattributegroupsShowGroup422Response + '500': + application/json: CustomeraccountattributegroupsShowGroup500Response + put: + '200': + application/json: CustomeraccountattributegroupsUpdateResponse + '401': + application/json: CustomeraccountattributegroupsUpdate401Response + '403': + application/json: CustomeraccountattributegroupsUpdate403Response + '404': + application/json: CustomeraccountattributegroupsUpdate404Response + '422': + application/json: CustomeraccountattributegroupsUpdate422Response + '500': + application/json: CustomeraccountattributegroupsUpdate500Response + /v1/customer_account_categories: + get: + '200': + application/json: CustomeraccountcategoriesGetCategoriesResponse + '401': + application/json: CustomeraccountcategoriesGetCategories401Response + '500': + application/json: CustomeraccountcategoriesGetCategories500Response + post: + '201': + application/json: CustomeraccountcategoriesCreateAccountCategoryResponse + '401': + application/json: CustomeraccountcategoriesCreateAccountCategory401Response + '403': + application/json: CustomeraccountcategoriesCreateAccountCategory403Response + '422': + application/json: CustomeraccountcategoriesCreateAccountCategory422Response + '500': + application/json: CustomeraccountcategoriesCreateAccountCategory500Response + /v1/customer_account_categories/{customer_account_category_id}: + delete: + '401': + application/json: CustomeraccountcategoriesDeleteCategoryResponse + '403': + application/json: CustomeraccountcategoriesDeleteCategory403Response + '422': + application/json: CustomeraccountcategoriesDeleteCategory422Response + '500': + application/json: CustomeraccountcategoriesDeleteCategory500Response + put: + '401': + application/json: CustomeraccountcategoriesUpdateCategoryResponse + '403': + application/json: CustomeraccountcategoriesUpdateCategory403Response + '422': + application/json: CustomeraccountcategoriesUpdateCategory422Response + '500': + application/json: CustomeraccountcategoriesUpdateCategory500Response + /v1/customer_account_category_configs: + post: + '201': + application/json: CustomeraccountcategoryconfigsCreateConfigResponse + '401': + application/json: CustomeraccountcategoryconfigsCreateConfig401Response + '403': + application/json: CustomeraccountcategoryconfigsCreateConfig403Response + '422': + application/json: CustomeraccountcategoryconfigsCreateConfig422Response + '500': + application/json: CustomeraccountcategoryconfigsCreateConfig500Response + /v1/customer_account_category_configs/{customer_account_category_config_id}: + delete: + '401': + application/json: CustomeraccountcategoryconfigsDeleteConfigResponse + '403': + application/json: CustomeraccountcategoryconfigsDeleteConfig403Response + '422': + application/json: CustomeraccountcategoryconfigsDeleteConfig422Response + '500': + application/json: CustomeraccountcategoryconfigsDeleteConfig500Response + put: + '401': + application/json: CustomeraccountcategoryconfigsUpdateConfigResponse + '403': + application/json: CustomeraccountcategoryconfigsUpdateConfig403Response + '422': + application/json: CustomeraccountcategoryconfigsUpdateConfig422Response + '500': + application/json: CustomeraccountcategoryconfigsUpdateConfig500Response + /v1/customer_account_configs: + get: + '200': + application/json: CustomeraccountconfigsGetConfigurationResponse + '401': + application/json: CustomeraccountconfigsGetConfiguration401Response + '500': + application/json: CustomeraccountconfigsGetConfiguration500Response + post: + '200': + application/json: CustomeraccountconfigsCreateConfigurationResponse + '401': + application/json: CustomeraccountconfigsCreateConfiguration401Response + '403': + application/json: CustomeraccountconfigsCreateConfiguration403Response + '500': + application/json: CustomeraccountconfigsCreateConfiguration500Response + /v1/customer_account_configs/{customer_account_config_id}: + put: + '200': + application/json: CustomeraccountconfigsUpdateConfigurationResponse + '401': + application/json: CustomeraccountconfigsUpdateConfiguration401Response + '403': + application/json: CustomeraccountconfigsUpdateConfiguration403Response + '404': + application/json: CustomeraccountconfigsUpdateConfiguration404Response + '500': + application/json: CustomeraccountconfigsUpdateConfiguration500Response + /v1/customer_account_schemas: + get: + '200': + application/json: CustomeraccountschemasGetAllResponse + '401': + application/json: CustomeraccountschemasGetAll401Response + '403': + application/json: CustomeraccountschemasGetAll403Response + '422': + application/json: CustomeraccountschemasGetAll422Response + '500': + application/json: CustomeraccountschemasGetAll500Response + post: + '201': + application/json: CustomeraccountschemasCreateNewSchemaResponse + '401': + application/json: CustomeraccountschemasCreateNewSchema401Response + '403': + application/json: CustomeraccountschemasCreateNewSchema403Response + '422': + application/json: CustomeraccountschemasCreateNewSchema422Response + '500': + application/json: CustomeraccountschemasCreateNewSchema500Response + /v1/customer_account_schemas/{customer_account_schema_id}: + get: + '200': + application/json: CustomeraccountschemasShowSchemaResponse + '401': + application/json: CustomeraccountschemasShowSchema401Response + '403': + application/json: CustomeraccountschemasShowSchema403Response + '404': + application/json: CustomeraccountschemasShowSchema404Response + '422': + application/json: CustomeraccountschemasShowSchema422Response + '500': + application/json: CustomeraccountschemasShowSchema500Response + put: + '200': + application/json: CustomeraccountschemasUpdateSchemaResponse + '401': + application/json: CustomeraccountschemasUpdateSchema401Response + '403': + application/json: CustomeraccountschemasUpdateSchema403Response + '404': + application/json: CustomeraccountschemasUpdateSchema404Response + '422': + application/json: CustomeraccountschemasUpdateSchema422Response + '500': + application/json: CustomeraccountschemasUpdateSchema500Response + /v1/customer_account_translations: + get: + '200': + application/json: CustomeraccounttranslationsGetAllTranslationsResponse + '401': + application/json: CustomeraccounttranslationsGetAllTranslations401Response + '403': + application/json: CustomeraccounttranslationsGetAllTranslations403Response + '422': + application/json: CustomeraccounttranslationsGetAllTranslations422Response + '500': + application/json: CustomeraccounttranslationsGetAllTranslations500Response + post: + '201': + application/json: CustomeraccounttranslationsCreateTranslationResponse + '401': + application/json: CustomeraccounttranslationsCreateTranslation401Response + '403': + application/json: CustomeraccounttranslationsCreateTranslation403Response + '422': + application/json: CustomeraccounttranslationsCreateTranslation422Response + '500': + application/json: CustomeraccounttranslationsCreateTranslation500Response + /v1/customer_account_translations/{customer_account_translation_id}: + delete: + '200': + application/json: CustomeraccounttranslationsDeleteTranslationResponse + '401': + application/json: CustomeraccounttranslationsDeleteTranslation401Response + '403': + application/json: CustomeraccounttranslationsDeleteTranslation403Response + '404': + application/json: CustomeraccounttranslationsDeleteTranslation404Response + '422': + application/json: CustomeraccounttranslationsDeleteTranslation422Response + '500': + application/json: CustomeraccounttranslationsDeleteTranslation500Response + get: + '200': + application/json: CustomeraccounttranslationsShowTranslationResponse + '401': + application/json: CustomeraccounttranslationsShowTranslation401Response + '403': + application/json: CustomeraccounttranslationsShowTranslation403Response + '404': + application/json: CustomeraccounttranslationsShowTranslation404Response + '422': + application/json: CustomeraccounttranslationsShowTranslation422Response + '500': + application/json: CustomeraccounttranslationsShowTranslation500Response + put: + '200': + application/json: CustomeraccounttranslationsUpdateTranslationResponse + '401': + application/json: CustomeraccounttranslationsUpdateTranslation401Response + '403': + application/json: CustomeraccounttranslationsUpdateTranslation403Response + '404': + application/json: CustomeraccounttranslationsUpdateTranslation404Response + '422': + application/json: CustomeraccounttranslationsUpdateTranslation422Response + '500': + application/json: CustomeraccounttranslationsUpdateTranslation500Response + /v1/customer_accounts: + get: + '200': + application/json: CustomeraccountsGetAllUserAccountsResponse + '401': + application/json: CustomeraccountsGetAllUserAccounts401Response + '403': + application/json: CustomeraccountsGetAllUserAccounts403Response + '404': + application/json: CustomeraccountsGetAllUserAccounts404Response + '500': + application/json: CustomeraccountsGetAllUserAccounts500Response + /v1/customer_accounts/{id}: + get: + '200': + application/json: CustomeraccountsGetCustomerAccountResponse + '401': + application/json: CustomeraccountsGetCustomerAccount401Response + '403': + application/json: CustomeraccountsGetCustomerAccount403Response + '404': + application/json: CustomeraccountsGetCustomerAccount404Response + '500': + application/json: CustomeraccountsGetCustomerAccount500Response + /v1/customer_accounts/{id}/time_attribute_schema: + put: + '200': + application/json: CustomeraccountsUpdateTimeAttributeSchemaResponse + '401': + application/json: CustomeraccountsUpdateTimeAttributeSchema401Response + '403': + application/json: CustomeraccountsUpdateTimeAttributeSchema403Response + '404': + application/json: CustomeraccountsUpdateTimeAttributeSchema404Response + '500': + application/json: CustomeraccountsUpdateTimeAttributeSchema500Response + /v1/customer_attributes_schema_memberships: + get: + '200': + application/json: CustomerattributesschemamembershipsGetAllResponse + '401': + application/json: CustomerattributesschemamembershipsGetAll401Response + '403': + application/json: CustomerattributesschemamembershipsGetAll403Response + '422': + application/json: CustomerattributesschemamembershipsGetAll422Response + '500': + application/json: CustomerattributesschemamembershipsGetAll500Response + post: + '201': + application/json: CustomerattributesschemamembershipsCreateMembershipResponse + '401': + application/json: CustomerattributesschemamembershipsCreateMembership401Response + '403': + application/json: CustomerattributesschemamembershipsCreateMembership403Response + '422': + application/json: CustomerattributesschemamembershipsCreateMembership422Response + '500': + application/json: CustomerattributesschemamembershipsCreateMembership500Response + /v1/customer_attributes_schemas: + get: + '200': + application/json: CustomerattributesschemasGetAllResponse + '401': + application/json: CustomerattributesschemasGetAll401Response + '403': + application/json: CustomerattributesschemasGetAll403Response + '422': + application/json: CustomerattributesschemasGetAll422Response + '500': + application/json: CustomerattributesschemasGetAll500Response + post: + '201': + application/json: CustomerattributesschemasCreateSchemaResponse + '401': + application/json: CustomerattributesschemasCreateSchema401Response + '403': + application/json: CustomerattributesschemasCreateSchema403Response + '422': + application/json: CustomerattributesschemasCreateSchema422Response + '500': + application/json: CustomerattributesschemasCreateSchema500Response + /v1/customer_attributes_schemas/{customer_attributes_schema_id}: + get: + '200': + application/json: CustomerattributesschemasShowSchemaResponse + '401': + application/json: CustomerattributesschemasShowSchema401Response + '403': + application/json: CustomerattributesschemasShowSchema403Response + '404': + application/json: CustomerattributesschemasShowSchema404Response + '422': + application/json: CustomerattributesschemasShowSchema422Response + '500': + application/json: CustomerattributesschemasShowSchema500Response + /v1/dashboard_configs: + post: + '201': + application/json: DashboardconfigsCreateNewConfigResponse + '401': + application/json: DashboardconfigsCreateNewConfig401Response + '403': + application/json: DashboardconfigsCreateNewConfig403Response + '422': + application/json: DashboardconfigsCreateNewConfig422Response + '500': + application/json: DashboardconfigsCreateNewConfig500Response + /v1/dashboard_configs/{customer_account_id}: + delete: + '200': + application/json: DashboardconfigsMarkAsDeletedResponse + '401': + application/json: DashboardconfigsMarkAsDeleted401Response + '403': + application/json: DashboardconfigsMarkAsDeleted403Response + '404': + application/json: DashboardconfigsMarkAsDeleted404Response + '422': + application/json: DashboardconfigsMarkAsDeleted422Response + '500': + application/json: DashboardconfigsMarkAsDeleted500Response + get: + '200': + application/json: DashboardconfigsShowResponse + '401': + application/json: DashboardconfigsShow401Response + '403': + application/json: DashboardconfigsShow403Response + '404': + application/json: DashboardconfigsShow404Response + '422': + application/json: DashboardconfigsShow422Response + '500': + application/json: DashboardconfigsShow500Response + put: + '200': + application/json: DashboardconfigsUpdateWithinOrganisationResponse + '401': + application/json: DashboardconfigsUpdateWithinOrganisation401Response + '403': + application/json: DashboardconfigsUpdateWithinOrganisation403Response + '404': + application/json: DashboardconfigsUpdateWithinOrganisation404Response + '422': + application/json: DashboardconfigsUpdateWithinOrganisation422Response + '500': + application/json: DashboardconfigsUpdateWithinOrganisation500Response + /v1/dashboards: + get: + '200': + application/json: DashboardsGetCustomerAccountResponse + '401': + application/json: DashboardsGetCustomerAccount401Response + '500': + application/json: DashboardsGetCustomerAccount500Response + /v1/dashboards/explore: + get: + '200': + application/json: DashboardsReturnCustomerAccountExploreWithUrlResponse + '401': + application/json: DashboardsReturnCustomerAccountExploreWithUrl401Response + '500': + application/json: DashboardsReturnCustomerAccountExploreWithUrl500Response + /v1/dashboards/order: + put: + '200': + application/json: DashboardsOrderDashboardsResponse + '401': + application/json: DashboardsOrderDashboards401Response + '403': + application/json: DashboardsOrderDashboards403Response + '404': + application/json: DashboardsOrderDashboards404Response + '422': + application/json: DashboardsOrderDashboards422Response + '500': + application/json: DashboardsOrderDashboards500Response + /v1/dashboards/session_expire: + get: + '401': + application/json: DashboardsExpireSessionsResponse + '403': + application/json: DashboardsExpireSessions403Response + '404': + application/json: DashboardsExpireSessions404Response + '422': + application/json: DashboardsExpireSessions422Response + '500': + application/json: DashboardsExpireSessions500Response + /v1/dashboards/synchronise: + get: + '401': + application/json: DashboardsSynchroniseResponse + '403': + application/json: DashboardsSynchronise403Response + '404': + application/json: DashboardsSynchronise404Response + '422': + application/json: DashboardsSynchronise422Response + '500': + application/json: DashboardsSynchronise500Response + /v1/dashboards/{dashboard_id}: + get: + '200': + application/json: DashboardsShowDashboardResponse + '401': + application/json: DashboardsShowDashboard401Response + '403': + application/json: DashboardsShowDashboard403Response + '422': + application/json: DashboardsShowDashboard422Response + '500': + application/json: DashboardsShowDashboard500Response + put: + '200': + application/json: DashboardsUpdateDashboardResponse + '401': + application/json: DashboardsUpdateDashboard401Response + '403': + application/json: DashboardsUpdateDashboard403Response + '422': + application/json: DashboardsUpdateDashboard422Response + '500': + application/json: DashboardsUpdateDashboard500Response + /v1/dashboards/{dashboard_id}/copy: + put: + '200': + application/json: DashboardsCopyOnFolderResponse + '401': + application/json: DashboardsCopyOnFolder401Response + '403': + application/json: DashboardsCopyOnFolder403Response + '422': + application/json: DashboardsCopyOnFolder422Response + '500': + application/json: DashboardsCopyOnFolder500Response + /v1/data_catalogs: + get: + '200': + application/json: DatacatalogsGetAllResponse + '401': + application/json: DatacatalogsGetAll401Response + '403': + application/json: DatacatalogsGetAll403Response + '422': + application/json: DatacatalogsGetAll422Response + '500': + application/json: DatacatalogsGetAll500Response + post: + '201': + application/json: DatacatalogsCreateNewCatalogResponse + '401': + application/json: DatacatalogsCreateNewCatalog401Response + '403': + application/json: DatacatalogsCreateNewCatalog403Response + '422': + application/json: DatacatalogsCreateNewCatalog422Response + '500': + application/json: DatacatalogsCreateNewCatalog500Response + /v1/data_catalogs/{data_catalog_id}: + delete: + '200': + application/json: DatacatalogsDeleteCatalogResponse + '401': + application/json: DatacatalogsDeleteCatalog401Response + '403': + application/json: DatacatalogsDeleteCatalog403Response + '404': + application/json: DatacatalogsDeleteCatalog404Response + '422': + application/json: DatacatalogsDeleteCatalog422Response + '500': + application/json: DatacatalogsDeleteCatalog500Response + get: + '200': + application/json: DatacatalogsShowDataCatalogResponse + '401': + application/json: DatacatalogsShowDataCatalog401Response + '403': + application/json: DatacatalogsShowDataCatalog403Response + '404': + application/json: DatacatalogsShowDataCatalog404Response + '422': + application/json: DatacatalogsShowDataCatalog422Response + '500': + application/json: DatacatalogsShowDataCatalog500Response + put: + '200': + application/json: DatacatalogsUpdateCatalogResponse + '401': + application/json: DatacatalogsUpdateCatalog401Response + '403': + application/json: DatacatalogsUpdateCatalog403Response + '422': + application/json: DatacatalogsUpdateCatalog422Response + '500': + application/json: DatacatalogsUpdateCatalog500Response + /v1/departments: + get: + '200': + application/json: DepartmentsGetAllResponse + '401': + application/json: DepartmentsGetAll401Response + '403': + application/json: DepartmentsGetAll403Response + '422': + application/json: DepartmentsGetAll422Response + '500': + application/json: DepartmentsGetAll500Response + post: + '201': + application/json: DepartmentsCreateNewDepartmentResponse + '401': + application/json: DepartmentsCreateNewDepartment401Response + '403': + application/json: DepartmentsCreateNewDepartment403Response + '422': + application/json: DepartmentsCreateNewDepartment422Response + '500': + application/json: DepartmentsCreateNewDepartment500Response + /v1/departments/{department_id}: + delete: + '200': + application/json: DepartmentsMarkAsDeletedResponse + '401': + application/json: DepartmentsMarkAsDeleted401Response + '403': + application/json: DepartmentsMarkAsDeleted403Response + '404': + application/json: DepartmentsMarkAsDeleted404Response + '422': + application/json: DepartmentsMarkAsDeleted422Response + '500': + application/json: DepartmentsMarkAsDeleted500Response + put: + '200': + application/json: DepartmentsUpdateDepartmentResponse + '401': + application/json: DepartmentsUpdateDepartment401Response + '403': + application/json: DepartmentsUpdateDepartment403Response + '404': + application/json: DepartmentsUpdateDepartment404Response + '422': + application/json: DepartmentsUpdateDepartment422Response + '500': + application/json: DepartmentsUpdateDepartment500Response + /v1/emission_factor_settings: + get: + '200': + application/json: EmissionfactorsettingsGetAllWithinAccountResponse + '401': + application/json: EmissionfactorsettingsGetAllWithinAccount401Response + '403': + application/json: EmissionfactorsettingsGetAllWithinAccount403Response + '422': + application/json: EmissionfactorsettingsGetAllWithinAccount422Response + '500': + application/json: EmissionfactorsettingsGetAllWithinAccount500Response + post: + '201': + application/json: EmissionfactorsettingsCreateEmissionFactorSettingResponse + '401': + application/json: EmissionfactorsettingsCreateEmissionFactorSetting401Response + '403': + application/json: EmissionfactorsettingsCreateEmissionFactorSetting403Response + '422': + application/json: EmissionfactorsettingsCreateEmissionFactorSetting422Response + '500': + application/json: EmissionfactorsettingsCreateEmissionFactorSetting500Response + /v1/emission_factor_settings/update: + post: + '200': + application/json: EmissionfactorsettingsUpdateEmissionFactorSettingResponse + '401': + application/json: EmissionfactorsettingsUpdateEmissionFactorSetting401Response + '403': + application/json: EmissionfactorsettingsUpdateEmissionFactorSetting403Response + '404': + application/json: EmissionfactorsettingsUpdateEmissionFactorSetting404Response + '422': + application/json: EmissionfactorsettingsUpdateEmissionFactorSetting422Response + '500': + application/json: EmissionfactorsettingsUpdateEmissionFactorSetting500Response + /v1/emission_factor_settings/{emission_factor_setting_id}: + delete: + '200': + application/json: EmissionfactorsettingsDeleteEmissionFactorSettingResponse + '401': + application/json: EmissionfactorsettingsDeleteEmissionFactorSetting401Response + '403': + application/json: EmissionfactorsettingsDeleteEmissionFactorSetting403Response + '404': + application/json: EmissionfactorsettingsDeleteEmissionFactorSetting404Response + '422': + application/json: EmissionfactorsettingsDeleteEmissionFactorSetting422Response + '500': + application/json: EmissionfactorsettingsDeleteEmissionFactorSetting500Response + get: + '200': + application/json: EmissionfactorsettingsShowEmissionFactorSettingResponse + '401': + application/json: EmissionfactorsettingsShowEmissionFactorSetting401Response + '403': + application/json: EmissionfactorsettingsShowEmissionFactorSetting403Response + '404': + application/json: EmissionfactorsettingsShowEmissionFactorSetting404Response + '422': + application/json: EmissionfactorsettingsShowEmissionFactorSetting422Response + '500': + application/json: EmissionfactorsettingsShowEmissionFactorSetting500Response + /v1/ep_code_combinations: + get: + '200': + application/json: EpcodecombinationsGetAllResponse + '401': + application/json: EpcodecombinationsGetAll401Response + '403': + application/json: EpcodecombinationsGetAll403Response + '422': + application/json: EpcodecombinationsGetAll422Response + '500': + application/json: EpcodecombinationsGetAll500Response + /v1/facilities: + get: + '200': + application/json: FacilitiesGetAllWithinOrganisationResponse + '401': + application/json: FacilitiesGetAllWithinOrganisation401Response + '403': + application/json: FacilitiesGetAllWithinOrganisation403Response + '422': + application/json: FacilitiesGetAllWithinOrganisation422Response + '500': + application/json: FacilitiesGetAllWithinOrganisation500Response + post: + '201': + application/json: FacilitiesCreateFacilityResponse + '401': + application/json: FacilitiesCreateFacility401Response + '403': + application/json: FacilitiesCreateFacility403Response + '422': + application/json: FacilitiesCreateFacility422Response + '500': + application/json: FacilitiesCreateFacility500Response + /v1/facilities/{facility_id}: + delete: + '200': + application/json: FacilitiesDeleteFacilityResponse + '401': + application/json: FacilitiesDeleteFacility401Response + '403': + application/json: FacilitiesDeleteFacility403Response + '404': + application/json: FacilitiesDeleteFacility404Response + '422': + application/json: FacilitiesDeleteFacility422Response + '500': + application/json: FacilitiesDeleteFacility500Response + get: + '200': + application/json: FacilitiesShowFacilityResponse + '401': + application/json: FacilitiesShowFacility401Response + '403': + application/json: FacilitiesShowFacility403Response + '404': + application/json: FacilitiesShowFacility404Response + '422': + application/json: FacilitiesShowFacility422Response + '500': + application/json: FacilitiesShowFacility500Response + put: + '200': + application/json: FacilitiesUpdateFacilityResponse + '401': + application/json: FacilitiesUpdateFacility401Response + '403': + application/json: FacilitiesUpdateFacility403Response + '404': + application/json: FacilitiesUpdateFacility404Response + '422': + application/json: FacilitiesUpdateFacility422Response + '500': + application/json: FacilitiesUpdateFacility500Response + /v1/facility_types: + get: + '200': + application/json: FacilitytypesGetAllResponse + '401': + application/json: FacilitytypesGetAll401Response + '403': + application/json: FacilitytypesGetAll403Response + '422': + application/json: FacilitytypesGetAll422Response + '500': + application/json: FacilitytypesGetAll500Response + /v1/facility_types/facility_types_with_schema: + get: + '200': + application/json: FacilitytypesGetAll200Response + '401': + application/json: FacilitytypesGetAll401Response + '403': + application/json: FacilitytypesGetAll403Response + '422': + application/json: FacilitytypesGetAll422Response + '500': + application/json: FacilitytypesGetAll500Response + /v1/facility_types/{facility_type_id}: + get: + '200': + application/json: FacilitytypesShowTypeResponse + '401': + application/json: FacilitytypesShowType401Response + '403': + application/json: FacilitytypesShowType403Response + '404': + application/json: FacilitytypesShowType404Response + '422': + application/json: FacilitytypesShowType422Response + '500': + application/json: FacilitytypesShowType500Response + /v1/images: + post: + '201': + application/json: ImagesCreateImageResponse + '401': + application/json: ImagesCreateImage401Response + '403': + application/json: ImagesCreateImage403Response + '422': + application/json: ImagesCreateImage422Response + '500': + application/json: ImagesCreateImage500Response + /v1/images/{image_id}: + delete: + '200': + application/json: ImagesMarkAsDeletedResponse + '401': + application/json: ImagesMarkAsDeleted401Response + '403': + application/json: ImagesMarkAsDeleted403Response + '404': + application/json: ImagesMarkAsDeleted404Response + '422': + application/json: ImagesMarkAsDeleted422Response + '500': + application/json: ImagesMarkAsDeleted500Response + put: + '200': + application/json: ImagesUpdateImageResponse + '401': + application/json: ImagesUpdateImage401Response + '403': + application/json: ImagesUpdateImage403Response + '404': + application/json: ImagesUpdateImage404Response + '422': + application/json: ImagesUpdateImage422Response + '500': + application/json: ImagesUpdateImage500Response + /v1/imports: + get: + '200': + application/json: CsvimportsGetAllImportsResponse + '401': + application/json: CsvimportsGetAllImports401Response + '500': + application/json: CsvimportsGetAllImports500Response + post: + '401': + application/json: CsvimportsCreateByFileResponse + '403': + application/json: CsvimportsCreateByFile403Response + '422': + application/json: CsvimportsCreateByFile422Response + '500': + application/json: CsvimportsCreateByFile500Response + /v1/imports/{import_id}: + get: + '200': + application/json: CsvimportsGetInfoResponse + '401': + application/json: CsvimportsGetInfo401Response + '403': + application/json: CsvimportsGetInfo403Response + '404': + application/json: CsvimportsGetInfo404Response + '422': + application/json: CsvimportsGetInfo422Response + '500': + application/json: CsvimportsGetInfo500Response + put: + '401': + application/json: CsvimportsUpdateImportResponse + '403': + application/json: CsvimportsUpdateImport403Response + '422': + application/json: CsvimportsUpdateImport422Response + '500': + application/json: CsvimportsUpdateImport500Response + /v1/levels: + get: + '200': + application/json: LevelsGetAllResponse + '401': + application/json: LevelsGetAll401Response + '403': + application/json: LevelsGetAll403Response + '422': + application/json: LevelsGetAll422Response + '500': + application/json: LevelsGetAll500Response + post: + '201': + application/json: LevelsCreateNewLevelResponse + '401': + application/json: LevelsCreateNewLevel401Response + '403': + application/json: LevelsCreateNewLevel403Response + '422': + application/json: LevelsCreateNewLevel422Response + '500': + application/json: LevelsCreateNewLevel500Response + /v1/levels/{level_id}: + delete: + '200': + application/json: LevelsDeleteLevelResponse + '401': + application/json: LevelsDeleteLevel401Response + '403': + application/json: LevelsDeleteLevel403Response + '404': + application/json: LevelsDeleteLevel404Response + '422': + application/json: LevelsDeleteLevel422Response + '500': + application/json: LevelsDeleteLevel500Response + get: + '200': + application/json: LevelsShowLevelResponse + '401': + application/json: LevelsShowLevel401Response + '403': + application/json: LevelsShowLevel403Response + '404': + application/json: LevelsShowLevel404Response + '422': + application/json: LevelsShowLevel422Response + '500': + application/json: LevelsShowLevel500Response + put: + '200': + application/json: LevelsUpdateLevelResponse + '401': + application/json: LevelsUpdateLevel401Response + '403': + application/json: LevelsUpdateLevel403Response + '404': + application/json: LevelsUpdateLevel404Response + '422': + application/json: LevelsUpdateLevel422Response + '500': + application/json: LevelsUpdateLevel500Response + /v1/lots: + get: + '200': + application/json: LotsGetAllResponse + '401': + application/json: LotsGetAll401Response + '403': + application/json: LotsGetAll403Response + '422': + application/json: LotsGetAll422Response + '500': + application/json: LotsGetAll500Response + post: + '201': + application/json: LotsCreateNewLotResponse + '401': + application/json: LotsCreateNewLot401Response + '403': + application/json: LotsCreateNewLot403Response + '422': + application/json: LotsCreateNewLot422Response + '500': + application/json: LotsCreateNewLot500Response + /v1/lots/{lot_id}: + delete: + '200': + application/json: LotsDeleteLotWithinOrganisationResponse + '401': + application/json: LotsDeleteLotWithinOrganisation401Response + '403': + application/json: LotsDeleteLotWithinOrganisation403Response + '404': + application/json: LotsDeleteLotWithinOrganisation404Response + '422': + application/json: LotsDeleteLotWithinOrganisation422Response + '500': + application/json: LotsDeleteLotWithinOrganisation500Response + get: + '200': + application/json: LotsShowLotResponse + '401': + application/json: LotsShowLot401Response + '403': + application/json: LotsShowLot403Response + '404': + application/json: LotsShowLot404Response + '422': + application/json: LotsShowLot422Response + '500': + application/json: LotsShowLot500Response + put: + '200': + application/json: LotsUpdateLotResponse + '401': + application/json: LotsUpdateLot401Response + '403': + application/json: LotsUpdateLot403Response + '422': + application/json: LotsUpdateLot422Response + '500': + application/json: LotsUpdateLot500Response + /v1/manufacturers: + get: + '200': + application/json: ManufacturersGetAllResponse + '401': + application/json: ManufacturersGetAll401Response + '403': + application/json: ManufacturersGetAll403Response + '422': + application/json: ManufacturersGetAll422Response + '500': + application/json: ManufacturersGetAll500Response + post: + '201': + application/json: ManufacturersCreateNewManufacturerResponse + '401': + application/json: ManufacturersCreateNewManufacturer401Response + '403': + application/json: ManufacturersCreateNewManufacturer403Response + '422': + application/json: ManufacturersCreateNewManufacturer422Response + '500': + application/json: ManufacturersCreateNewManufacturer500Response + /v1/manufacturers/{manufacturer_id}: + delete: + '200': + application/json: ManufacturersDeleteManufacturerResponse + '401': + application/json: ManufacturersDeleteManufacturer401Response + '403': + application/json: ManufacturersDeleteManufacturer403Response + '404': + application/json: ManufacturersDeleteManufacturer404Response + '422': + application/json: ManufacturersDeleteManufacturer422Response + '500': + application/json: ManufacturersDeleteManufacturer500Response + put: + '200': + application/json: ManufacturersUpdateManufacturerResponse + '401': + application/json: ManufacturersUpdateManufacturer401Response + '403': + application/json: ManufacturersUpdateManufacturer403Response + '404': + application/json: ManufacturersUpdateManufacturer404Response + '422': + application/json: ManufacturersUpdateManufacturer422Response + '500': + application/json: ManufacturersUpdateManufacturer500Response + /v1/manufacturers/{manufacturer_id}/model_types: + get: + '200': + application/json: ManufacturersListModelTypesResponse + '401': + application/json: ManufacturersListModelTypes401Response + '403': + application/json: ManufacturersListModelTypes403Response + '422': + application/json: ManufacturersListModelTypes422Response + '500': + application/json: ManufacturersListModelTypes500Response + post: + '201': + application/json: ManufacturersCreateModelTypeResponse + '401': + application/json: ManufacturersCreateModelType401Response + '403': + application/json: ManufacturersCreateModelType403Response + '422': + application/json: ManufacturersCreateModelType422Response + '500': + application/json: ManufacturersCreateModelType500Response + /v1/manufacturers/{manufacturer_id}/model_types/{id}: + delete: + '200': + application/json: ManufacturersDeleteModelTypeResponse + '401': + application/json: ManufacturersDeleteModelType401Response + '403': + application/json: ManufacturersDeleteModelType403Response + '404': + application/json: ManufacturersDeleteModelType404Response + '422': + application/json: ManufacturersDeleteModelType422Response + '500': + application/json: ManufacturersDeleteModelType500Response + put: + '200': + application/json: ManufacturersUpdateModelTypeResponse + '401': + application/json: ManufacturersUpdateModelType401Response + '403': + application/json: ManufacturersUpdateModelType403Response + '404': + application/json: ManufacturersUpdateModelType404Response + '422': + application/json: ManufacturersUpdateModelType422Response + '500': + application/json: ManufacturersUpdateModelType500Response + /v1/organisation_configs: + post: + '201': + application/json: OrganisationconfigsCreateConfigForUserResponse + '401': + application/json: OrganisationconfigsCreateConfigForUser401Response + '403': + application/json: OrganisationconfigsCreateConfigForUser403Response + '422': + application/json: OrganisationconfigsCreateConfigForUser422Response + '500': + application/json: OrganisationconfigsCreateConfigForUser500Response + /v1/organisation_configs/{organisation_config_id}: + delete: + '200': + application/json: OrganisationconfigsDeleteResponse + '401': + application/json: OrganisationconfigsDelete401Response + '403': + application/json: OrganisationconfigsDelete403Response + '404': + application/json: OrganisationconfigsDelete404Response + '422': + application/json: OrganisationconfigsDelete422Response + '500': + application/json: OrganisationconfigsDelete500Response + get: + '200': + application/json: OrganisationconfigsGetConfigResponse + '401': + application/json: OrganisationconfigsGetConfig401Response + '403': + application/json: OrganisationconfigsGetConfig403Response + '422': + application/json: OrganisationconfigsGetConfig422Response + '500': + application/json: OrganisationconfigsGetConfig500Response + put: + '201': + application/json: OrganisationconfigsUpdateUserConfigResponse + '401': + application/json: OrganisationconfigsUpdateUserConfig401Response + '403': + application/json: OrganisationconfigsUpdateUserConfig403Response + '422': + application/json: OrganisationconfigsUpdateUserConfig422Response + '500': + application/json: OrganisationconfigsUpdateUserConfig500Response + /v1/organisation_memberships: + get: + '200': + application/json: OrganisationmembershipsGetAllResponse + '401': + application/json: OrganisationmembershipsGetAll401Response + '403': + application/json: OrganisationmembershipsGetAll403Response + '422': + application/json: OrganisationmembershipsGetAll422Response + '500': + application/json: OrganisationmembershipsGetAll500Response + post: + '201': + application/json: OrganisationmembershipsCreateUserMembershipResponse + '401': + application/json: OrganisationmembershipsCreateUserMembership401Response + '403': + application/json: OrganisationmembershipsCreateUserMembership403Response + '422': + application/json: OrganisationmembershipsCreateUserMembership422Response + '500': + application/json: OrganisationmembershipsCreateUserMembership500Response + /v1/organisation_memberships/{organisations_membership_id}: + delete: + '200': + application/json: OrganisationmembershipsDeleteMembershipResponse + '401': + application/json: OrganisationmembershipsDeleteMembership401Response + '403': + application/json: OrganisationmembershipsDeleteMembership403Response + '404': + application/json: OrganisationmembershipsDeleteMembership404Response + '422': + application/json: OrganisationmembershipsDeleteMembership422Response + '500': + application/json: OrganisationmembershipsDeleteMembership500Response + put: + '401': + application/json: OrganisationmembershipsUpdateMembershipResponse + '403': + application/json: OrganisationmembershipsUpdateMembership403Response + '422': + application/json: OrganisationmembershipsUpdateMembership422Response + '500': + application/json: OrganisationmembershipsUpdateMembership500Response + /v1/organisations: + get: + '200': + application/json: OrganisationsListMemberRolesResponse + '401': + application/json: OrganisationsListMemberRoles401Response + '403': + application/json: OrganisationsListMemberRoles403Response + '422': + application/json: OrganisationsListMemberRoles422Response + '500': + application/json: OrganisationsListMemberRoles500Response + post: + '200': + application/json: OrganisationsCreateUserForCustomerResponse + '401': + application/json: OrganisationsCreateUserForCustomer401Response + '403': + application/json: OrganisationsCreateUserForCustomer403Response + '422': + application/json: OrganisationsCreateUserForCustomer422Response + '500': + application/json: OrganisationsCreateUserForCustomer500Response + /v1/organisations/{organisation_id}: + delete: + '200': + application/json: OrganisationsDeleteOrganisationResponse + '401': + application/json: OrganisationsDeleteOrganisation401Response + '403': + application/json: OrganisationsDeleteOrganisation403Response + '404': + application/json: OrganisationsDeleteOrganisation404Response + '422': + application/json: OrganisationsDeleteOrganisation422Response + '500': + application/json: OrganisationsDeleteOrganisation500Response + put: + '200': + application/json: OrganisationsUpdateOrganisationResponse + '401': + application/json: OrganisationsUpdateOrganisation401Response + '403': + application/json: OrganisationsUpdateOrganisation403Response + '404': + application/json: OrganisationsUpdateOrganisation404Response + '422': + application/json: OrganisationsUpdateOrganisation422Response + '500': + application/json: OrganisationsUpdateOrganisation500Response + /v1/people: + get: + '200': + application/json: PeopleGetAllWithinOrganisationResponse + '401': + application/json: PeopleGetAllWithinOrganisation401Response + '403': + application/json: PeopleGetAllWithinOrganisation403Response + '422': + application/json: PeopleGetAllWithinOrganisation422Response + '500': + application/json: PeopleGetAllWithinOrganisation500Response + post: + '201': + application/json: PeopleCreatePersonResponse + '401': + application/json: PeopleCreatePerson401Response + '403': + application/json: PeopleCreatePerson403Response + '422': + application/json: PeopleCreatePerson422Response + '500': + application/json: PeopleCreatePerson500Response + /v1/people/{person_id}: + delete: + '200': + application/json: PeopleDeletePersonWithinOrganisationResponse + '401': + application/json: PeopleDeletePersonWithinOrganisation401Response + '403': + application/json: PeopleDeletePersonWithinOrganisation403Response + '404': + application/json: PeopleDeletePersonWithinOrganisation404Response + '422': + application/json: PeopleDeletePersonWithinOrganisation422Response + '500': + application/json: PeopleDeletePersonWithinOrganisation500Response + get: + '200': + application/json: PeopleShowPersonResponse + '401': + application/json: PeopleShowPerson401Response + '403': + application/json: PeopleShowPerson403Response + '404': + application/json: PeopleShowPerson404Response + '422': + application/json: PeopleShowPerson422Response + '500': + application/json: PeopleShowPerson500Response + put: + '200': + application/json: PeopleUpdatePersonResponse + '401': + application/json: PeopleUpdatePerson401Response + '403': + application/json: PeopleUpdatePerson403Response + '422': + application/json: PeopleUpdatePerson422Response + '500': + application/json: PeopleUpdatePerson500Response + /v1/person_memberships: + get: + '200': + application/json: PersonmembershipsListWithinOrganisationResponse + '401': + application/json: PersonmembershipsListWithinOrganisation401Response + '403': + application/json: PersonmembershipsListWithinOrganisation403Response + '422': + application/json: PersonmembershipsListWithinOrganisation422Response + '500': + application/json: PersonmembershipsListWithinOrganisation500Response + post: + '201': + application/json: PersonmembershipsCreateMembershipInPersonResponse + '401': + application/json: PersonmembershipsCreateMembershipInPerson401Response + '403': + application/json: PersonmembershipsCreateMembershipInPerson403Response + '422': + application/json: PersonmembershipsCreateMembershipInPerson422Response + '500': + application/json: PersonmembershipsCreateMembershipInPerson500Response + /v1/person_memberships/{person_membership_id}: + delete: + '200': + application/json: PersonmembershipsDestroyMembershipResponse + '401': + application/json: PersonmembershipsDestroyMembership401Response + '403': + application/json: PersonmembershipsDestroyMembership403Response + '404': + application/json: PersonmembershipsDestroyMembership404Response + '422': + application/json: PersonmembershipsDestroyMembership422Response + '500': + application/json: PersonmembershipsDestroyMembership500Response + /v1/phases: + get: + '200': + application/json: PhasesGetBuildingPhasesResponse + '401': + application/json: PhasesGetBuildingPhases401Response + '500': + application/json: PhasesGetBuildingPhases500Response + post: + '201': + application/json: PhasesCreatePhaseResponse + '401': + application/json: PhasesCreatePhase401Response + '403': + application/json: PhasesCreatePhase403Response + '422': + application/json: PhasesCreatePhase422Response + '500': + application/json: PhasesCreatePhase500Response + /v1/phases/{phase_id}: + put: + '401': + application/json: PhasesUpdatePhaseResponse + '403': + application/json: PhasesUpdatePhase403Response + '422': + application/json: PhasesUpdatePhase422Response + '500': + application/json: PhasesUpdatePhase500Response + /v1/plan_configs: + get: + '200': + application/json: PlanconfigsGetAllConfigsResponse + '401': + application/json: PlanconfigsGetAllConfigs401Response + '403': + application/json: PlanconfigsGetAllConfigs403Response + '422': + application/json: PlanconfigsGetAllConfigs422Response + '500': + application/json: PlanconfigsGetAllConfigs500Response + /v1/plan_versions: + post: + '201': + application/json: PlanversionsCreatePlanVersionResponse + '401': + application/json: PlanversionsCreatePlanVersion401Response + '403': + application/json: PlanversionsCreatePlanVersion403Response + '422': + application/json: PlanversionsCreatePlanVersion422Response + '500': + application/json: PlanversionsCreatePlanVersion500Response + /v1/plan_versions/{id}: + delete: + '200': + application/json: PlanversionsDeleteWithinCurrentPlanResponse + '401': + application/json: PlanversionsDeleteWithinCurrentPlan401Response + '403': + application/json: PlanversionsDeleteWithinCurrentPlan403Response + '404': + application/json: PlanversionsDeleteWithinCurrentPlan404Response + '422': + application/json: PlanversionsDeleteWithinCurrentPlan422Response + '500': + application/json: PlanversionsDeleteWithinCurrentPlan500Response + put: + '200': + application/json: PlanversionsUpdateVersionResponse + '401': + application/json: PlanversionsUpdateVersion401Response + '403': + application/json: PlanversionsUpdateVersion403Response + '422': + application/json: PlanversionsUpdateVersion422Response + '500': + application/json: PlanversionsUpdateVersion500Response + /v1/plans: + get: + '200': + application/json: PlansGetAllInBuildingResponse + '401': + application/json: PlansGetAllInBuilding401Response + '403': + application/json: PlansGetAllInBuilding403Response + '422': + application/json: PlansGetAllInBuilding422Response + '500': + application/json: PlansGetAllInBuilding500Response + post: + '201': + application/json: PlansCreateNewPlanResponse + '401': + application/json: PlansCreateNewPlan401Response + '403': + application/json: PlansCreateNewPlan403Response + '422': + application/json: PlansCreateNewPlan422Response + '500': + application/json: PlansCreateNewPlan500Response + /v1/plans/{plan_id}: + delete: + '200': + application/json: PlansDeletePlanWithinBuildingResponse + '401': + application/json: PlansDeletePlanWithinBuilding401Response + '403': + application/json: PlansDeletePlanWithinBuilding403Response + '404': + application/json: PlansDeletePlanWithinBuilding404Response + '422': + application/json: PlansDeletePlanWithinBuilding422Response + '500': + application/json: PlansDeletePlanWithinBuilding500Response + get: + '200': + application/json: PlansShowPlanResponse + '401': + application/json: PlansShowPlan401Response + '403': + application/json: PlansShowPlan403Response + '404': + application/json: PlansShowPlan404Response + '422': + application/json: PlansShowPlan422Response + '500': + application/json: PlansShowPlan500Response + put: + '200': + application/json: PlansUpdatePlanResponse + '401': + application/json: PlansUpdatePlan401Response + '403': + application/json: PlansUpdatePlan403Response + '422': + application/json: PlansUpdatePlan422Response + '500': + application/json: PlansUpdatePlan500Response + /v1/platform_configs: + get: + '200': + application/json: PlatformconfigsShowAllConfigsResponse + '401': + application/json: PlatformconfigsShowAllConfigs401Response + '403': + application/json: PlatformconfigsShowAllConfigs403Response + '404': + application/json: PlatformconfigsShowAllConfigs404Response + '422': + application/json: PlatformconfigsShowAllConfigs422Response + '500': + application/json: PlatformconfigsShowAllConfigs500Response + post: + '201': + application/json: PlatformconfigsCreateNewConfigResponse + '401': + application/json: PlatformconfigsCreateNewConfig401Response + '403': + application/json: PlatformconfigsCreateNewConfig403Response + '422': + application/json: PlatformconfigsCreateNewConfig422Response + '500': + application/json: PlatformconfigsCreateNewConfig500Response + /v1/platform_configs/{platform_config_id}: + delete: + '200': + application/json: PlatformconfigsMarkAsDeletedResponse + '401': + application/json: PlatformconfigsMarkAsDeleted401Response + '403': + application/json: PlatformconfigsMarkAsDeleted403Response + '404': + application/json: PlatformconfigsMarkAsDeleted404Response + '422': + application/json: PlatformconfigsMarkAsDeleted422Response + '500': + application/json: PlatformconfigsMarkAsDeleted500Response + put: + '200': + application/json: PlatformconfigsUpdateWithinOrganisationResponse + '401': + application/json: PlatformconfigsUpdateWithinOrganisation401Response + '403': + application/json: PlatformconfigsUpdateWithinOrganisation403Response + '404': + application/json: PlatformconfigsUpdateWithinOrganisation404Response + '422': + application/json: PlatformconfigsUpdateWithinOrganisation422Response + '500': + application/json: PlatformconfigsUpdateWithinOrganisation500Response + /v1/properties: + get: + '200': + application/json: PropertiesListForOrganisationResponse + '401': + application/json: PropertiesListForOrganisation401Response + '403': + application/json: PropertiesListForOrganisation403Response + '422': + application/json: PropertiesListForOrganisation422Response + '500': + application/json: PropertiesListForOrganisation500Response + post: + '401': + application/json: PropertiesCreateForOrganisationResponse + '403': + application/json: PropertiesCreateForOrganisation403Response + '422': + application/json: PropertiesCreateForOrganisation422Response + '500': + application/json: PropertiesCreateForOrganisation500Response + /v1/properties/{property_id}: + delete: + '401': + application/json: PropertiesDeletePropertyWithinOrganisationResponse + '403': + application/json: PropertiesDeletePropertyWithinOrganisation403Response + '422': + application/json: PropertiesDeletePropertyWithinOrganisation422Response + '500': + application/json: PropertiesDeletePropertyWithinOrganisation500Response + get: + '401': + application/json: PropertiesGetForOrganisationResponse + '403': + application/json: PropertiesGetForOrganisation403Response + '422': + application/json: PropertiesGetForOrganisation422Response + '500': + application/json: PropertiesGetForOrganisation500Response + put: + '401': + application/json: PropertiesUpdateForOrganisationResponse + '403': + application/json: PropertiesUpdateForOrganisation403Response + '422': + application/json: PropertiesUpdateForOrganisation422Response + '500': + application/json: PropertiesUpdateForOrganisation500Response + /v1/property_managers: + get: + '200': + application/json: PropertymanagersGetAllWithinCustomerResponse + '401': + application/json: PropertymanagersGetAllWithinCustomer401Response + '403': + application/json: PropertymanagersGetAllWithinCustomer403Response + '422': + application/json: PropertymanagersGetAllWithinCustomer422Response + '500': + application/json: PropertymanagersGetAllWithinCustomer500Response + post: + '401': + application/json: PropertymanagersCreateNewManagerResponse + '403': + application/json: PropertymanagersCreateNewManager403Response + '422': + application/json: PropertymanagersCreateNewManager422Response + '500': + application/json: PropertymanagersCreateNewManager500Response + /v1/property_managers/{property_manager_id}: + delete: + '401': + application/json: PropertymanagersDeleteManagerWithinAccountResponse + '403': + application/json: PropertymanagersDeleteManagerWithinAccount403Response + '422': + application/json: PropertymanagersDeleteManagerWithinAccount422Response + '500': + application/json: PropertymanagersDeleteManagerWithinAccount500Response + get: + '401': + application/json: PropertymanagersGetCurrentManagerResponse + '403': + application/json: PropertymanagersGetCurrentManager403Response + '422': + application/json: PropertymanagersGetCurrentManager422Response + '500': + application/json: PropertymanagersGetCurrentManager500Response + put: + '401': + application/json: PropertymanagersUpdateCurrentAccountUserResponse + '403': + application/json: PropertymanagersUpdateCurrentAccountUser403Response + '422': + application/json: PropertymanagersUpdateCurrentAccountUser422Response + '500': + application/json: PropertymanagersUpdateCurrentAccountUser500Response + /v1/property_types: + get: + '200': + application/json: PropertytypesGetAllAvailableResponse + '401': + application/json: PropertytypesGetAllAvailable401Response + '403': + application/json: PropertytypesGetAllAvailable403Response + '422': + application/json: PropertytypesGetAllAvailable422Response + '500': + application/json: PropertytypesGetAllAvailable500Response + /v1/raw_data_catalogs: + get: + '200': + application/json: RawdatacatalogsGetAllRawdataCatalogsResponse + '401': + application/json: RawdatacatalogsGetAllRawdataCatalogs401Response + '403': + application/json: RawdatacatalogsGetAllRawdataCatalogs403Response + '422': + application/json: RawdatacatalogsGetAllRawdataCatalogs422Response + '500': + application/json: RawdatacatalogsGetAllRawdataCatalogs500Response + /v1/raw_data_catalogs/{raw_data_catalog_id}: + get: + '200': + application/json: RawdatacatalogsShowDataCatalogResponse + '401': + application/json: RawdatacatalogsShowDataCatalog401Response + '403': + application/json: RawdatacatalogsShowDataCatalog403Response + '404': + application/json: RawdatacatalogsShowDataCatalog404Response + '422': + application/json: RawdatacatalogsShowDataCatalog422Response + '500': + application/json: RawdatacatalogsShowDataCatalog500Response + /v1/rent_increase_indices: + get: + '200': + application/json: RentincreaseindicesGetIndexDataResponse + '401': + application/json: RentincreaseindicesGetIndexData401Response + '500': + application/json: RentincreaseindicesGetIndexData500Response + post: + '201': + application/json: RentincreaseindicesCreateIndexResponse + '401': + application/json: RentincreaseindicesCreateIndex401Response + '403': + application/json: RentincreaseindicesCreateIndex403Response + '422': + application/json: RentincreaseindicesCreateIndex422Response + '500': + application/json: RentincreaseindicesCreateIndex500Response + /v1/rent_increase_indices/{rent_increase_index_id}: + delete: + '200': + application/json: RentincreaseindicesDeleteRentIncreaseIndexResponse + '401': + application/json: RentincreaseindicesDeleteRentIncreaseIndex401Response + '403': + application/json: RentincreaseindicesDeleteRentIncreaseIndex403Response + '404': + application/json: RentincreaseindicesDeleteRentIncreaseIndex404Response + '422': + application/json: RentincreaseindicesDeleteRentIncreaseIndex422Response + '500': + application/json: RentincreaseindicesDeleteRentIncreaseIndex500Response + get: + '200': + application/json: RentincreaseindicesReturnRentIncreaseIndexResponse + '401': + application/json: RentincreaseindicesReturnRentIncreaseIndex401Response + '403': + application/json: RentincreaseindicesReturnRentIncreaseIndex403Response + '404': + application/json: RentincreaseindicesReturnRentIncreaseIndex404Response + '422': + application/json: RentincreaseindicesReturnRentIncreaseIndex422Response + '500': + application/json: RentincreaseindicesReturnRentIncreaseIndex500Response + put: + '401': + application/json: RentincreaseindicesUpdateRentIncreaseIndexByIdResponse + '403': + application/json: RentincreaseindicesUpdateRentIncreaseIndexById403Response + '422': + application/json: RentincreaseindicesUpdateRentIncreaseIndexById422Response + '500': + application/json: RentincreaseindicesUpdateRentIncreaseIndexById500Response + /v1/rent_increase_types: + get: + '200': + application/json: RentincreasetypesGetAllTypesResponse + '401': + application/json: RentincreasetypesGetAllTypes401Response + '500': + application/json: RentincreasetypesGetAllTypes500Response + post: + '201': + application/json: RentincreasetypesCreateTypeResponse + '401': + application/json: RentincreasetypesCreateType401Response + '403': + application/json: RentincreasetypesCreateType403Response + '422': + application/json: RentincreasetypesCreateType422Response + '500': + application/json: RentincreasetypesCreateType500Response + /v1/rent_increase_types/{rent_increase_type_id}: + delete: + '200': + application/json: RentincreasetypesDeleteResponse + '401': + application/json: RentincreasetypesDelete401Response + '403': + application/json: RentincreasetypesDelete403Response + '404': + application/json: RentincreasetypesDelete404Response + '422': + application/json: RentincreasetypesDelete422Response + '500': + application/json: RentincreasetypesDelete500Response + get: + '200': + application/json: RentincreasetypesGetByIdResponse + '401': + application/json: RentincreasetypesGetById401Response + '403': + application/json: RentincreasetypesGetById403Response + '404': + application/json: RentincreasetypesGetById404Response + '422': + application/json: RentincreasetypesGetById422Response + '500': + application/json: RentincreasetypesGetById500Response + put: + '401': + application/json: RentincreasetypesUpdateTypeResponse + '403': + application/json: RentincreasetypesUpdateType403Response + '422': + application/json: RentincreasetypesUpdateType422Response + '500': + application/json: RentincreasetypesUpdateType500Response + /v1/rent_increases: + get: + '200': + application/json: RentincreasesGetIncreasesResponse + '401': + application/json: RentincreasesGetIncreases401Response + '500': + application/json: RentincreasesGetIncreases500Response + post: + '201': + application/json: RentincreasesCreateNewIncreaseResponse + '401': + application/json: RentincreasesCreateNewIncrease401Response + '403': + application/json: RentincreasesCreateNewIncrease403Response + '422': + application/json: RentincreasesCreateNewIncrease422Response + '500': + application/json: RentincreasesCreateNewIncrease500Response + /v1/rent_increases/{rent_increase_id}: + delete: + '200': + application/json: RentincreasesDeleteRentIncreaseResponse + '401': + application/json: RentincreasesDeleteRentIncrease401Response + '403': + application/json: RentincreasesDeleteRentIncrease403Response + '404': + application/json: RentincreasesDeleteRentIncrease404Response + '422': + application/json: RentincreasesDeleteRentIncrease422Response + '500': + application/json: RentincreasesDeleteRentIncrease500Response + get: + '200': + application/json: RentincreasesReturnIncreaseResponse + '401': + application/json: RentincreasesReturnIncrease401Response + '403': + application/json: RentincreasesReturnIncrease403Response + '404': + application/json: RentincreasesReturnIncrease404Response + '422': + application/json: RentincreasesReturnIncrease422Response + '500': + application/json: RentincreasesReturnIncrease500Response + put: + '401': + application/json: RentincreasesUpdateRentIncreaseResponse + '403': + application/json: RentincreasesUpdateRentIncrease403Response + '422': + application/json: RentincreasesUpdateRentIncrease422Response + '500': + application/json: RentincreasesUpdateRentIncrease500Response + /v1/rent_increases/{rent_increase_id}/apply: + put: + '401': + application/json: RentincreasesApplyRentIncreaseResponse + '403': + application/json: RentincreasesApplyRentIncrease403Response + '422': + application/json: RentincreasesApplyRentIncrease422Response + '500': + application/json: RentincreasesApplyRentIncrease500Response + /v1/rent_trackers: + get: + '200': + application/json: RenttrackersGetRentTrackersResponse + '401': + application/json: RenttrackersGetRentTrackers401Response + '500': + application/json: RenttrackersGetRentTrackers500Response + post: + '201': + application/json: RenttrackersCreateRentTrackerResponse + '401': + application/json: RenttrackersCreateRentTracker401Response + '403': + application/json: RenttrackersCreateRentTracker403Response + '422': + application/json: RenttrackersCreateRentTracker422Response + '500': + application/json: RenttrackersCreateRentTracker500Response + /v1/rent_trackers/{rent_tracker_id}: + get: + '200': + application/json: RenttrackersGetRentTrackerResponse + '401': + application/json: RenttrackersGetRentTracker401Response + '403': + application/json: RenttrackersGetRentTracker403Response + '404': + application/json: RenttrackersGetRentTracker404Response + '422': + application/json: RenttrackersGetRentTracker422Response + '500': + application/json: RenttrackersGetRentTracker500Response + put: + '401': + application/json: RenttrackersUpdateRentTrackerResponse + '403': + application/json: RenttrackersUpdateRentTracker403Response + '422': + application/json: RenttrackersUpdateRentTracker422Response + '500': + application/json: RenttrackersUpdateRentTracker500Response + /v1/report_account_schemas: + get: + '200': + application/json: ReportaccountschemasGetAllResponse + '401': + application/json: ReportaccountschemasGetAll401Response + '403': + application/json: ReportaccountschemasGetAll403Response + '422': + application/json: ReportaccountschemasGetAll422Response + '500': + application/json: ReportaccountschemasGetAll500Response + post: + '200': + application/json: ReportaccountschemasCreateNewReportAccountSchemaResponse + '401': + application/json: ReportaccountschemasCreateNewReportAccountSchema401Response + '403': + application/json: ReportaccountschemasCreateNewReportAccountSchema403Response + '422': + application/json: ReportaccountschemasCreateNewReportAccountSchema422Response + '500': + application/json: ReportaccountschemasCreateNewReportAccountSchema500Response + /v1/report_account_schemas/{report_account_schema_id}: + delete: + '200': + application/json: ReportaccountschemasDeleteSchemaResponse + '401': + application/json: ReportaccountschemasDeleteSchema401Response + '403': + application/json: ReportaccountschemasDeleteSchema403Response + '404': + application/json: ReportaccountschemasDeleteSchema404Response + '422': + application/json: ReportaccountschemasDeleteSchema422Response + '500': + application/json: ReportaccountschemasDeleteSchema500Response + get: + '200': + application/json: ReportaccountschemasShowReportAccountSchemaResponse + '401': + application/json: ReportaccountschemasShowReportAccountSchema401Response + '403': + application/json: ReportaccountschemasShowReportAccountSchema403Response + '404': + application/json: ReportaccountschemasShowReportAccountSchema404Response + '422': + application/json: ReportaccountschemasShowReportAccountSchema422Response + '500': + application/json: ReportaccountschemasShowReportAccountSchema500Response + put: + '200': + application/json: ReportaccountschemasUpdateSchemaResponse + '401': + application/json: ReportaccountschemasUpdateSchema401Response + '403': + application/json: ReportaccountschemasUpdateSchema403Response + '404': + application/json: ReportaccountschemasUpdateSchema404Response + '422': + application/json: ReportaccountschemasUpdateSchema422Response + '500': + application/json: ReportaccountschemasUpdateSchema500Response + /v1/report_templates: + get: + '200': + application/json: ReporttemplatesGetAllTemplatesResponse + '401': + application/json: ReporttemplatesGetAllTemplates401Response + '403': + application/json: ReporttemplatesGetAllTemplates403Response + '422': + application/json: ReporttemplatesGetAllTemplates422Response + '500': + application/json: ReporttemplatesGetAllTemplates500Response + post: + '200': + application/json: ReporttemplatesCreateNewTemplateResponse + '401': + application/json: ReporttemplatesCreateNewTemplate401Response + '403': + application/json: ReporttemplatesCreateNewTemplate403Response + '422': + application/json: ReporttemplatesCreateNewTemplate422Response + '500': + application/json: ReporttemplatesCreateNewTemplate500Response + /v1/report_templates/{report_template_id}: + delete: + '200': + application/json: ReporttemplatesDeleteReportTemplateResponse + '401': + application/json: ReporttemplatesDeleteReportTemplate401Response + '403': + application/json: ReporttemplatesDeleteReportTemplate403Response + '404': + application/json: ReporttemplatesDeleteReportTemplate404Response + '422': + application/json: ReporttemplatesDeleteReportTemplate422Response + '500': + application/json: ReporttemplatesDeleteReportTemplate500Response + get: + '200': + application/json: ReporttemplatesShowTemplateResponse + '401': + application/json: ReporttemplatesShowTemplate401Response + '403': + application/json: ReporttemplatesShowTemplate403Response + '404': + application/json: ReporttemplatesShowTemplate404Response + '422': + application/json: ReporttemplatesShowTemplate422Response + '500': + application/json: ReporttemplatesShowTemplate500Response + put: + '200': + application/json: ReporttemplatesUpdateTemplateResponse + '401': + application/json: ReporttemplatesUpdateTemplate401Response + '403': + application/json: ReporttemplatesUpdateTemplate403Response + '404': + application/json: ReporttemplatesUpdateTemplate404Response + '422': + application/json: ReporttemplatesUpdateTemplate422Response + '500': + application/json: ReporttemplatesUpdateTemplate500Response + /v1/role_policies: + get: + '200': + application/json: RolepoliciesGetAllResponse + '401': + application/json: RolepoliciesGetAll401Response + '403': + application/json: RolepoliciesGetAll403Response + '422': + application/json: RolepoliciesGetAll422Response + '500': + application/json: RolepoliciesGetAll500Response + post: + '201': + application/json: RolepoliciesCreatePolicyResponse + '401': + application/json: RolepoliciesCreatePolicy401Response + '403': + application/json: RolepoliciesCreatePolicy403Response + '422': + application/json: RolepoliciesCreatePolicy422Response + '500': + application/json: RolepoliciesCreatePolicy500Response + /v1/role_policies/{role_policy_id}: + delete: + '200': + application/json: RolepoliciesDeletePolicyResponse + '401': + application/json: RolepoliciesDeletePolicy401Response + '403': + application/json: RolepoliciesDeletePolicy403Response + '404': + application/json: RolepoliciesDeletePolicy404Response + '422': + application/json: RolepoliciesDeletePolicy422Response + '500': + application/json: RolepoliciesDeletePolicy500Response + get: + '200': + application/json: RolepoliciesShowRolePolicyResponse + '401': + application/json: RolepoliciesShowRolePolicy401Response + '403': + application/json: RolepoliciesShowRolePolicy403Response + '404': + application/json: RolepoliciesShowRolePolicy404Response + '422': + application/json: RolepoliciesShowRolePolicy422Response + '500': + application/json: RolepoliciesShowRolePolicy500Response + put: + '200': + application/json: RolepoliciesUpdatePolicyResponse + '401': + application/json: RolepoliciesUpdatePolicy401Response + '403': + application/json: RolepoliciesUpdatePolicy403Response + '422': + application/json: RolepoliciesUpdatePolicy422Response + '500': + application/json: RolepoliciesUpdatePolicy500Response + /v1/roles: + get: + '200': + application/json: RolesGetAllRolesResponse + '401': + application/json: RolesGetAllRoles401Response + '403': + application/json: RolesGetAllRoles403Response + '422': + application/json: RolesGetAllRoles422Response + '500': + application/json: RolesGetAllRoles500Response + post: + '201': + application/json: RolesCreateRoleResponse + '401': + application/json: RolesCreateRole401Response + '403': + application/json: RolesCreateRole403Response + '422': + application/json: RolesCreateRole422Response + '500': + application/json: RolesCreateRole500Response + /v1/roles/{role_id}: + delete: + '200': + application/json: RolesRemoveRoleResponse + '401': + application/json: RolesRemoveRole401Response + '403': + application/json: RolesRemoveRole403Response + '404': + application/json: RolesRemoveRole404Response + '422': + application/json: RolesRemoveRole422Response + '500': + application/json: RolesRemoveRole500Response + get: + '200': + application/json: RolesShowRoleResponse + '401': + application/json: RolesShowRole401Response + '403': + application/json: RolesShowRole403Response + '404': + application/json: RolesShowRole404Response + '422': + application/json: RolesShowRole422Response + '500': + application/json: RolesShowRole500Response + put: + '200': + application/json: RolesUpdateRoleResponse + '401': + application/json: RolesUpdateRole401Response + '403': + application/json: RolesUpdateRole403Response + '422': + application/json: RolesUpdateRole422Response + '500': + application/json: RolesUpdateRole500Response + /v1/room_and_zone_types: + get: + '200': + application/json: RoomandzonetypesGetAllResponse + '401': + application/json: RoomandzonetypesGetAll401Response + '403': + application/json: RoomandzonetypesGetAll403Response + '422': + application/json: RoomandzonetypesGetAll422Response + '500': + application/json: RoomandzonetypesGetAll500Response + /v1/rooms: + get: + '200': + application/json: RoomsGetAllWithinOrganisationResponse + '401': + application/json: RoomsGetAllWithinOrganisation401Response + '403': + application/json: RoomsGetAllWithinOrganisation403Response + '422': + application/json: RoomsGetAllWithinOrganisation422Response + '500': + application/json: RoomsGetAllWithinOrganisation500Response + post: + '201': + application/json: RoomsCreateRoomResponse + '401': + application/json: RoomsCreateRoom401Response + '403': + application/json: RoomsCreateRoom403Response + '422': + application/json: RoomsCreateRoom422Response + '500': + application/json: RoomsCreateRoom500Response + /v1/rooms/{room_id}: + delete: + '200': + application/json: RoomsDeleteRoomWithinOrganisationResponse + '401': + application/json: RoomsDeleteRoomWithinOrganisation401Response + '403': + application/json: RoomsDeleteRoomWithinOrganisation403Response + '404': + application/json: RoomsDeleteRoomWithinOrganisation404Response + '422': + application/json: RoomsDeleteRoomWithinOrganisation422Response + '500': + application/json: RoomsDeleteRoomWithinOrganisation500Response + get: + '200': + application/json: RoomsShowRoomResponse + '401': + application/json: RoomsShowRoom401Response + '403': + application/json: RoomsShowRoom403Response + '404': + application/json: RoomsShowRoom404Response + '422': + application/json: RoomsShowRoom422Response + '500': + application/json: RoomsShowRoom500Response + put: + '200': + application/json: RoomsUpdateRoomResponse + '401': + application/json: RoomsUpdateRoom401Response + '403': + application/json: RoomsUpdateRoom403Response + '404': + application/json: RoomsUpdateRoom404Response + '422': + application/json: RoomsUpdateRoom422Response + '500': + application/json: RoomsUpdateRoom500Response + /v1/scorecard_assigners: + get: + '200': + application/json: ScorecardassignersGetAllResponse + '401': + application/json: ScorecardassignersGetAll401Response + '403': + application/json: ScorecardassignersGetAll403Response + '422': + application/json: ScorecardassignersGetAll422Response + '500': + application/json: ScorecardassignersGetAll500Response + post: + '201': + application/json: ScorecardassignersCreateNewScorecardAssignerResponse + '401': + application/json: ScorecardassignersCreateNewScorecardAssigner401Response + '403': + application/json: ScorecardassignersCreateNewScorecardAssigner403Response + '422': + application/json: ScorecardassignersCreateNewScorecardAssigner422Response + '500': + application/json: ScorecardassignersCreateNewScorecardAssigner500Response + /v1/scorecard_assigners/{scorecard_assigner_id}: + delete: + '201': + application/json: ScorecardassignersDeleteScorecardAssignerResponse + '401': + application/json: ScorecardassignersDeleteScorecardAssigner401Response + '403': + application/json: ScorecardassignersDeleteScorecardAssigner403Response + '404': + application/json: ScorecardassignersDeleteScorecardAssigner404Response + '422': + application/json: ScorecardassignersDeleteScorecardAssigner422Response + '500': + application/json: ScorecardassignersDeleteScorecardAssigner500Response + get: + '200': + application/json: ScorecardassignersShowResponse + '401': + application/json: ScorecardassignersShow401Response + '403': + application/json: ScorecardassignersShow403Response + '404': + application/json: ScorecardassignersShow404Response + '422': + application/json: ScorecardassignersShow422Response + '500': + application/json: ScorecardassignersShow500Response + /v1/scorecard_memberships: + get: + '200': + application/json: ScorecardmembershipsListAllScorecardMembershipsResponse + '401': + application/json: ScorecardmembershipsListAllScorecardMemberships401Response + '403': + application/json: ScorecardmembershipsListAllScorecardMemberships403Response + '422': + application/json: ScorecardmembershipsListAllScorecardMemberships422Response + '500': + application/json: ScorecardmembershipsListAllScorecardMemberships500Response + post: + '201': + application/json: ScorecardmembershipsCreateMembershipResponse + '401': + application/json: ScorecardmembershipsCreateMembership401Response + '403': + application/json: ScorecardmembershipsCreateMembership403Response + '422': + application/json: ScorecardmembershipsCreateMembership422Response + '500': + application/json: ScorecardmembershipsCreateMembership500Response + /v1/scorecard_memberships/calculated_costs: + post: + '200': + application/json: ScorecardmembershipsCalculateCostsResponse + '401': + application/json: ScorecardmembershipsCalculateCosts401Response + '403': + application/json: ScorecardmembershipsCalculateCosts403Response + '404': + application/json: ScorecardmembershipsCalculateCosts404Response + '422': + application/json: ScorecardmembershipsCalculateCosts422Response + '500': + application/json: ScorecardmembershipsCalculateCosts500Response + /v1/scorecard_memberships/count_buildings: + post: + '200': + application/json: ScorecardmembershipsCountBuildingsByScorecardIdsResponse + '401': + application/json: ScorecardmembershipsCountBuildingsByScorecardIds401Response + '403': + application/json: ScorecardmembershipsCountBuildingsByScorecardIds403Response + '404': + application/json: ScorecardmembershipsCountBuildingsByScorecardIds404Response + '422': + application/json: ScorecardmembershipsCountBuildingsByScorecardIds422Response + '500': + application/json: ScorecardmembershipsCountBuildingsByScorecardIds500Response + /v1/scorecard_memberships/de_assign: + post: + '201': + application/json: ScorecardmembershipsDeAssignResponse + '401': + application/json: ScorecardmembershipsDeAssign401Response + '403': + application/json: ScorecardmembershipsDeAssign403Response + '422': + application/json: ScorecardmembershipsDeAssign422Response + '500': + application/json: ScorecardmembershipsDeAssign500Response + /v1/scorecard_memberships/refresh_all_by_parent: + post: + '200': + application/json: ScorecardmembershipsRefreshAllByParentResponse + '401': + application/json: ScorecardmembershipsRefreshAllByParent401Response + '403': + application/json: ScorecardmembershipsRefreshAllByParent403Response + '404': + application/json: ScorecardmembershipsRefreshAllByParent404Response + '422': + application/json: ScorecardmembershipsRefreshAllByParent422Response + '500': + application/json: ScorecardmembershipsRefreshAllByParent500Response + /v1/scorecard_memberships/refresh_by_scorecard: + post: + '200': + application/json: ScorecardmembershipsRefreshScoresResponse + '401': + application/json: ScorecardmembershipsRefreshScores401Response + '403': + application/json: ScorecardmembershipsRefreshScores403Response + '404': + application/json: ScorecardmembershipsRefreshScores404Response + '422': + application/json: ScorecardmembershipsRefreshScores422Response + '500': + application/json: ScorecardmembershipsRefreshScores500Response + /v1/scorecard_memberships/{scorecard_membership_id}: + delete: + '201': + application/json: ScorecardmembershipsDeleteMembershipResponse + '401': + application/json: ScorecardmembershipsDeleteMembership401Response + '403': + application/json: ScorecardmembershipsDeleteMembership403Response + '404': + application/json: ScorecardmembershipsDeleteMembership404Response + '422': + application/json: ScorecardmembershipsDeleteMembership422Response + '500': + application/json: ScorecardmembershipsDeleteMembership500Response + get: + '200': + application/json: ScorecardmembershipsShowMembershipResponse + '401': + application/json: ScorecardmembershipsShowMembership401Response + '403': + application/json: ScorecardmembershipsShowMembership403Response + '404': + application/json: ScorecardmembershipsShowMembership404Response + '422': + application/json: ScorecardmembershipsShowMembership422Response + '500': + application/json: ScorecardmembershipsShowMembership500Response + /v1/scorecard_memberships/{scorecard_membership_id}/refresh: + get: + '200': + application/json: ScorecardmembershipsRefreshMembershipResponse + '401': + application/json: ScorecardmembershipsRefreshMembership401Response + '403': + application/json: ScorecardmembershipsRefreshMembership403Response + '404': + application/json: ScorecardmembershipsRefreshMembership404Response + '422': + application/json: ScorecardmembershipsRefreshMembership422Response + '500': + application/json: ScorecardmembershipsRefreshMembership500Response + /v1/scorecard_segments: + post: + '201': + application/json: ScorecardsegmentsCreateNewSegmentResponse + '401': + application/json: ScorecardsegmentsCreateNewSegment401Response + '403': + application/json: ScorecardsegmentsCreateNewSegment403Response + '422': + application/json: ScorecardsegmentsCreateNewSegment422Response + '500': + application/json: ScorecardsegmentsCreateNewSegment500Response + /v1/scorecard_segments/{scorecard_segment_id}: + delete: + '201': + application/json: ScorecardsegmentsDeleteSegmentResponse + '401': + application/json: ScorecardsegmentsDeleteSegment401Response + '403': + application/json: ScorecardsegmentsDeleteSegment403Response + '404': + application/json: ScorecardsegmentsDeleteSegment404Response + '422': + application/json: ScorecardsegmentsDeleteSegment422Response + '500': + application/json: ScorecardsegmentsDeleteSegment500Response + put: + '200': + application/json: ScorecardsegmentsUpdateSegmentResponse + '401': + application/json: ScorecardsegmentsUpdateSegment401Response + '403': + application/json: ScorecardsegmentsUpdateSegment403Response + '422': + application/json: ScorecardsegmentsUpdateSegment422Response + '500': + application/json: ScorecardsegmentsUpdateSegment500Response + /v1/scorecard_subtopics: + post: + '201': + application/json: ScorecardsubtopicsCreateSubtopicResponse + '401': + application/json: ScorecardsubtopicsCreateSubtopic401Response + '403': + application/json: ScorecardsubtopicsCreateSubtopic403Response + '422': + application/json: ScorecardsubtopicsCreateSubtopic422Response + '500': + application/json: ScorecardsubtopicsCreateSubtopic500Response + /v1/scorecard_subtopics/{scorecard_subtopic_id}: + delete: + '201': + application/json: ScorecardsubtopicsDeleteSubtopicResponse + '401': + application/json: ScorecardsubtopicsDeleteSubtopic401Response + '403': + application/json: ScorecardsubtopicsDeleteSubtopic403Response + '404': + application/json: ScorecardsubtopicsDeleteSubtopic404Response + '422': + application/json: ScorecardsubtopicsDeleteSubtopic422Response + '500': + application/json: ScorecardsubtopicsDeleteSubtopic500Response + put: + '200': + application/json: ScorecardsubtopicsUpdateSubtopicResponse + '401': + application/json: ScorecardsubtopicsUpdateSubtopic401Response + '403': + application/json: ScorecardsubtopicsUpdateSubtopic403Response + '422': + application/json: ScorecardsubtopicsUpdateSubtopic422Response + '500': + application/json: ScorecardsubtopicsUpdateSubtopic500Response + /v1/scorecard_topics: + post: + '201': + application/json: ScorecardtopicsCreateNewTopicResponse + '401': + application/json: ScorecardtopicsCreateNewTopic401Response + '403': + application/json: ScorecardtopicsCreateNewTopic403Response + '422': + application/json: ScorecardtopicsCreateNewTopic422Response + '500': + application/json: ScorecardtopicsCreateNewTopic500Response + /v1/scorecard_topics/{scorecard_topic_id}: + delete: + '201': + application/json: ScorecardtopicsDeleteTopicResponse + '401': + application/json: ScorecardtopicsDeleteTopic401Response + '403': + application/json: ScorecardtopicsDeleteTopic403Response + '404': + application/json: ScorecardtopicsDeleteTopic404Response + '422': + application/json: ScorecardtopicsDeleteTopic422Response + '500': + application/json: ScorecardtopicsDeleteTopic500Response + put: + '200': + application/json: ScorecardtopicsUpdateTopicResponse + '401': + application/json: ScorecardtopicsUpdateTopic401Response + '403': + application/json: ScorecardtopicsUpdateTopic403Response + '422': + application/json: ScorecardtopicsUpdateTopic422Response + '500': + application/json: ScorecardtopicsUpdateTopic500Response + /v1/scorecards: + get: + '200': + application/json: ScorecardsListAllScorecardsResponse + '401': + application/json: ScorecardsListAllScorecards401Response + '403': + application/json: ScorecardsListAllScorecards403Response + '422': + application/json: ScorecardsListAllScorecards422Response + '500': + application/json: ScorecardsListAllScorecards500Response + post: + '201': + application/json: ScorecardsCreateNewScorecardResponse + '401': + application/json: ScorecardsCreateNewScorecard401Response + '403': + application/json: ScorecardsCreateNewScorecard403Response + '422': + application/json: ScorecardsCreateNewScorecard422Response + '500': + application/json: ScorecardsCreateNewScorecard500Response + /v1/scorecards/{scorecard_id}: + delete: + '201': + application/json: ScorecardsDeleteWithinAccountResponse + '401': + application/json: ScorecardsDeleteWithinAccount401Response + '403': + application/json: ScorecardsDeleteWithinAccount403Response + '404': + application/json: ScorecardsDeleteWithinAccount404Response + '422': + application/json: ScorecardsDeleteWithinAccount422Response + '500': + application/json: ScorecardsDeleteWithinAccount500Response + get: + '200': + application/json: ScorecardsShowDetailsResponse + '401': + application/json: ScorecardsShowDetails401Response + '403': + application/json: ScorecardsShowDetails403Response + '404': + application/json: ScorecardsShowDetails404Response + '422': + application/json: ScorecardsShowDetails422Response + '500': + application/json: ScorecardsShowDetails500Response + put: + '200': + application/json: ScorecardsUpdateScorecardResponse + '401': + application/json: ScorecardsUpdateScorecard401Response + '403': + application/json: ScorecardsUpdateScorecard403Response + '422': + application/json: ScorecardsUpdateScorecard422Response + '500': + application/json: ScorecardsUpdateScorecard500Response + /v1/security_deposits: + post: + '201': + application/json: SecuritydepositsCreateDepositResponse + '401': + application/json: SecuritydepositsCreateDeposit401Response + '403': + application/json: SecuritydepositsCreateDeposit403Response + '422': + application/json: SecuritydepositsCreateDeposit422Response + '500': + application/json: SecuritydepositsCreateDeposit500Response + /v1/security_deposits/{security_deposit_id}: + delete: + '200': + application/json: SecuritydepositsDeleteDepositResponse + '401': + application/json: SecuritydepositsDeleteDeposit401Response + '403': + application/json: SecuritydepositsDeleteDeposit403Response + '404': + application/json: SecuritydepositsDeleteDeposit404Response + '422': + application/json: SecuritydepositsDeleteDeposit422Response + '500': + application/json: SecuritydepositsDeleteDeposit500Response + put: + '200': + application/json: SecuritydepositsUpdateSecurityDepositResponse + '401': + application/json: SecuritydepositsUpdateSecurityDeposit401Response + '403': + application/json: SecuritydepositsUpdateSecurityDeposit403Response + '404': + application/json: SecuritydepositsUpdateSecurityDeposit404Response + '422': + application/json: SecuritydepositsUpdateSecurityDeposit422Response + '500': + application/json: SecuritydepositsUpdateSecurityDeposit500Response + /v1/tags: + get: + '200': + application/json: TagsGetAllTagsWithCountsResponse + '401': + application/json: TagsGetAllTagsWithCounts401Response + '403': + application/json: TagsGetAllTagsWithCounts403Response + '422': + application/json: TagsGetAllTagsWithCounts422Response + '500': + application/json: TagsGetAllTagsWithCounts500Response + post: + '201': + application/json: TagsCreateTagResponse + '401': + application/json: TagsCreateTag401Response + '403': + application/json: TagsCreateTag403Response + '422': + application/json: TagsCreateTag422Response + '500': + application/json: TagsCreateTag500Response + /v1/tags/assign_buildings: + put: + '200': + application/json: TagsAssignBuildingsResponse + '401': + application/json: TagsAssignBuildings401Response + '403': + application/json: TagsAssignBuildings403Response + '422': + application/json: TagsAssignBuildings422Response + '500': + application/json: TagsAssignBuildings500Response + /v1/tags/merge: + post: + '201': + application/json: TagsMergeMasterTagsResponse + '401': + application/json: TagsMergeMasterTags401Response + '403': + application/json: TagsMergeMasterTags403Response + '422': + application/json: TagsMergeMasterTags422Response + '500': + application/json: TagsMergeMasterTags500Response + /v1/tags/{tag_id}: + delete: + '200': + application/json: TagsMarkAsDeletedResponse + '401': + application/json: TagsMarkAsDeleted401Response + '403': + application/json: TagsMarkAsDeleted403Response + '404': + application/json: TagsMarkAsDeleted404Response + '422': + application/json: TagsMarkAsDeleted422Response + '500': + application/json: TagsMarkAsDeleted500Response + put: + '401': + application/json: TagsUpdateTagResponse + '403': + application/json: TagsUpdateTag403Response + '422': + application/json: TagsUpdateTag422Response + '500': + application/json: TagsUpdateTag500Response + /v1/task_memberships: + get: + '200': + application/json: TaskmembershipsGetAllTaskMembershipsResponse + '401': + application/json: TaskmembershipsGetAllTaskMemberships401Response + '500': + application/json: TaskmembershipsGetAllTaskMemberships500Response + post: + '201': + application/json: TaskmembershipsCreateMembershipResponse + '401': + application/json: TaskmembershipsCreateMembership401Response + '403': + application/json: TaskmembershipsCreateMembership403Response + '422': + application/json: TaskmembershipsCreateMembership422Response + '500': + application/json: TaskmembershipsCreateMembership500Response + /v1/task_memberships/{task_membership_id}: + delete: + '401': + application/json: TaskmembershipsDeleteTaskMembershipResponse + '403': + application/json: TaskmembershipsDeleteTaskMembership403Response + '422': + application/json: TaskmembershipsDeleteTaskMembership422Response + '500': + application/json: TaskmembershipsDeleteTaskMembership500Response + put: + '401': + application/json: TaskmembershipsUpdateMembershipResponse + '403': + application/json: TaskmembershipsUpdateMembership403Response + '422': + application/json: TaskmembershipsUpdateMembership422Response + '500': + application/json: TaskmembershipsUpdateMembership500Response + /v1/tenants/{boarding_type}: + get: + '200': + application/json: TenantsListForBoardingTypeResponse + '401': + application/json: TenantsListForBoardingType401Response + '403': + application/json: TenantsListForBoardingType403Response + '404': + application/json: TenantsListForBoardingType404Response + '422': + application/json: TenantsListForBoardingType422Response + '500': + application/json: TenantsListForBoardingType500Response + /v1/time_dependent_attributes: + get: + '200': + application/json: TimedependentattributesGetAllWithinParentResponse + '401': + application/json: TimedependentattributesGetAllWithinParent401Response + '403': + application/json: TimedependentattributesGetAllWithinParent403Response + '422': + application/json: TimedependentattributesGetAllWithinParent422Response + '500': + application/json: TimedependentattributesGetAllWithinParent500Response + post: + '201': + application/json: TimedependentattributesCreateAttributeResponse + '401': + application/json: TimedependentattributesCreateAttribute401Response + '403': + application/json: TimedependentattributesCreateAttribute403Response + '422': + application/json: TimedependentattributesCreateAttribute422Response + '500': + application/json: TimedependentattributesCreateAttribute500Response + /v1/time_dependent_attributes/{time_dependent_attribute_id}: + delete: + '200': + application/json: TimedependentattributesDeleteTimeDependentAttributeResponse + '401': + application/json: TimedependentattributesDeleteTimeDependentAttribute401Response + '403': + application/json: TimedependentattributesDeleteTimeDependentAttribute403Response + '404': + application/json: TimedependentattributesDeleteTimeDependentAttribute404Response + '422': + application/json: TimedependentattributesDeleteTimeDependentAttribute422Response + '500': + application/json: TimedependentattributesDeleteTimeDependentAttribute500Response + put: + '200': + application/json: TimedependentattributesUpdateAttributeResponse + '401': + application/json: TimedependentattributesUpdateAttribute401Response + '403': + application/json: TimedependentattributesUpdateAttribute403Response + '404': + application/json: TimedependentattributesUpdateAttribute404Response + '422': + application/json: TimedependentattributesUpdateAttribute422Response + '500': + application/json: TimedependentattributesUpdateAttribute500Response + /v1/users: + get: + '200': + application/json: UsersGetAllResponse + '401': + application/json: UsersGetAll401Response + '403': + application/json: UsersGetAll403Response + '422': + application/json: UsersGetAll422Response + '500': + application/json: UsersGetAll500Response + post: + '201': + application/json: UsersCreateNewUserResponse + '422': + application/json: UsersCreateNewUser422Response + '500': + application/json: UsersCreateNewUser500Response + /v1/users/log_in: + post: + '200': + application/json: UsersAuthenticateUserResponse + '401': + application/json: UsersAuthenticateUser401Response + '422': + application/json: UsersAuthenticateUser422Response + '500': + application/json: UsersAuthenticateUser500Response + /v1/users/log_out: + delete: + '200': + application/json: UsersInvalidateApiTokenResponse + '401': + application/json: UsersInvalidateApiToken401Response + '422': + application/json: UsersInvalidateApiToken422Response + '500': + application/json: UsersInvalidateApiToken500Response + /v1/users/refresh_token: + get: + '200': + application/json: UsersRefreshTokenResponse + '401': + application/json: UsersRefreshToken401Response + '422': + application/json: UsersRefreshToken422Response + '500': + application/json: UsersRefreshToken500Response + /v1/users/reset_password_instructions: + put: + '200': + application/json: UsersSendResetInstructionsResponse + '404': + application/json: UsersSendResetInstructions404Response + '500': + application/json: UsersSendResetInstructions500Response + /v1/users/send_invitation: + put: + '200': + application/json: UsersSendInvitationResponse + '404': + application/json: UsersSendInvitation404Response + '500': + application/json: UsersSendInvitation500Response + /v1/users/{user_id}: + delete: + '200': + application/json: UsersDeleteUserResponse + '401': + application/json: UsersDeleteUser401Response + '403': + application/json: UsersDeleteUser403Response + '404': + application/json: UsersDeleteUser404Response + '422': + application/json: UsersDeleteUser422Response + '500': + application/json: UsersDeleteUser500Response + put: + '200': + application/json: UsersUpdateUserResponse + '401': + application/json: UsersUpdateUser401Response + '403': + application/json: UsersUpdateUser403Response + '404': + application/json: UsersUpdateUser404Response + '422': + application/json: UsersUpdateUser422Response + '500': + application/json: UsersUpdateUser500Response + /v1/webhooks: + get: + '200': + application/json: WebhooksGetAllResponse + '401': + application/json: WebhooksGetAll401Response + '403': + application/json: WebhooksGetAll403Response + '422': + application/json: WebhooksGetAll422Response + '500': + application/json: WebhooksGetAll500Response + post: + '201': + application/json: WebhooksCreateNewWebhookResponse + '401': + application/json: WebhooksCreateNewWebhook401Response + '403': + application/json: WebhooksCreateNewWebhook403Response + '422': + application/json: WebhooksCreateNewWebhook422Response + '500': + application/json: WebhooksCreateNewWebhook500Response + /v1/webhooks/{webhook_id}: + delete: + '200': + application/json: WebhooksDeleteWebhookByIdResponse + '401': + application/json: WebhooksDeleteWebhookById401Response + '403': + application/json: WebhooksDeleteWebhookById403Response + '404': + application/json: WebhooksDeleteWebhookById404Response + '422': + application/json: WebhooksDeleteWebhookById422Response + '500': + application/json: WebhooksDeleteWebhookById500Response + get: + '200': + application/json: WebhooksShowWebhookResponse + '401': + application/json: WebhooksShowWebhook401Response + '403': + application/json: WebhooksShowWebhook403Response + '404': + application/json: WebhooksShowWebhook404Response + '422': + application/json: WebhooksShowWebhook422Response + '500': + application/json: WebhooksShowWebhook500Response + put: + '200': + application/json: WebhooksUpdateWebhookResponse + '401': + application/json: WebhooksUpdateWebhook401Response + '403': + application/json: WebhooksUpdateWebhook403Response + '422': + application/json: WebhooksUpdateWebhook422Response + '500': + application/json: WebhooksUpdateWebhook500Response + /v1/zones: + post: + '201': + application/json: ZonesCreateZoneResponse + '401': + application/json: ZonesCreateZone401Response + '403': + application/json: ZonesCreateZone403Response + '422': + application/json: ZonesCreateZone422Response + '500': + application/json: ZonesCreateZone500Response + /v1/zones/{zone_id}: + delete: + '200': + application/json: ZonesDeleteZoneResponse + '401': + application/json: ZonesDeleteZone401Response + '403': + application/json: ZonesDeleteZone403Response + '404': + application/json: ZonesDeleteZone404Response + '422': + application/json: ZonesDeleteZone422Response + '500': + application/json: ZonesDeleteZone500Response + put: + '200': + application/json: ZonesUpdateZoneResponse + '401': + application/json: ZonesUpdateZone401Response + '403': + application/json: ZonesUpdateZone403Response + '404': + application/json: ZonesUpdateZone404Response + '422': + application/json: ZonesUpdateZone422Response + '500': + application/json: ZonesUpdateZone500Response +securityParameters: + app_subscription_id: + query: false + apply: + query: false + attribute_key: + query: false + building_id: + query: false + building_ids: + query: false + building_unit_id: + query: false + building_unit_place_id: + query: false + building_unit_places_timeboxed_id: + query: false + building_unit_retail_id: + query: false + categories: + query: false + category_id: + query: false + contact: + query: false + contract_id: + query: false + contract_ids: + query: false + contract_membership_id: + query: false + current_organisation_id: + query: false + custom_id: + query: false + customer_account_id: + query: false + date: + query: false + department_id: + query: false + end_date: + query: false + external_id: + query: false + facility_type_id: + query: false + filters: + query: false + id: + query: false + ids: + query: false + inventory_number: + query: false + is_demo: + query: false + item_id: + query: false + label: + query: false + level_id: + query: false + limit: + query: false + locale: + query: false + location_type: + query: false + lot_id: + query: false + manufacturer_id: + query: false + member_id: + query: false + member_type: + query: false + name: + query: false + order_by: + query: false + organisation_id: + query: false + organisation_ids: + query: false + page: + query: false + parent_id: + query: false + parent_type: + query: false + per_page: + query: false + plan_id: + query: false + presets_customer_attributes: + query: false + presets_standard_fields: + query: false + property_id: + query: false + rent_increase_type_id: + query: false + reset_password_token: + query: false + room_id: + query: false + scorecard_id: + query: false + search_by: + query: false + search_field: + query: false + serial_number: + query: false + skip_type_dependent_attribute: + query: false + source_system: + query: false + start_date: + query: false + subtype: + query: false + tags: + query: false + task_ids: + query: false + unit_id: + query: false + unit_ids: + query: false + user_id: + query: false + year_of_construction: + query: false + zone_id: + query: false +validServerUrls: + api.realcube.com/api: + url: api.realcube.com/api diff --git a/sdks/db/published/from-custom-request_griffin.com.json b/sdks/db/published/from-custom-request_griffin.com.json index 209539de3..ce26665c1 100644 --- a/sdks/db/published/from-custom-request_griffin.com.json +++ b/sdks/db/published/from-custom-request_griffin.com.json @@ -21,7 +21,7 @@ }, "customRequestSpecFilename": "griffin.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium", + "difficulty": "Easy", "company": "Griffin", "sdkName": "griffin-{language}-sdk", "clientName": "Griffin", @@ -3250,7 +3250,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/griffin/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/griffin/favicon.png", "clientNameCamelCase": "griffin", - "lastUpdated": "2024-03-29T22:42:59.082Z", + "lastUpdated": "2024-03-29T22:55:31.557Z", "typescriptSdkUsageCode": "import { Griffin } from 'griffin-typescript-sdk';\n\nconst griffin = new Griffin({\n /*\n * API token authentication.\n * It should follow the format: `GriffinAPIKey g-test-MyKey-XXXXXXX`\n */\n apiKeyAuth: \"AUTHORIZATION\"\n})", "typescriptSdkFirstRequestCode": "// Index\nconst globalPathsFetchResponse = griffin.navigation.globalPathsFetch()", "fixedSpecFileName": "griffin-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_measureone.com.json b/sdks/db/published/from-custom-request_measureone.com.json index 97db77235..01e971d1a 100644 --- a/sdks/db/published/from-custom-request_measureone.com.json +++ b/sdks/db/published/from-custom-request_measureone.com.json @@ -37,7 +37,7 @@ }, "customRequestSpecFilename": "measureone.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium", + "difficulty": "Easy", "company": "MeasureOne", "sdkName": "measure-one-{language}-sdk", "clientName": "MeasureOne", @@ -2553,7 +2553,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/measureone/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/measureone/favicon.png", "clientNameCamelCase": "measureOne", - "lastUpdated": "2024-03-29T22:42:59.082Z", + "lastUpdated": "2024-03-29T22:55:31.557Z", "typescriptSdkUsageCode": "import { MeasureOne } from 'measure-one-typescript-sdk';\n\nconst measureOne = new MeasureOne({\n // Enter the token with the `Bearer: ` prefix, e.g. \"Bearer \\<\\\\>\".\n bearer: \"AUTHORIZATION\",\n // Provide the Base64 representation of your `client_id:secret` e.g. \"Basic \\<\\\\>\".\n username: \"USERNAME\",\n password: \"PASSWORD\",\n // Provide the application ID.\n internal: \"APPLICATION_ID\",\n // No authorization is required\n none: \"NONE\"\n})", "typescriptSdkFirstRequestCode": "// Create a new Invitation\nconst invitationResponse = measureOne.invitations.invitation({\n individual_id: \"idv_Cevp4Jw9CIsEeNjpgAAjy2EZt3R\"\n validity: 259200\n requester_name: \"string value\"\n additional_message: \"Please use this invitation for University of Michigan Ann Arbor\"\n institution_name: \"University of Michigan Ann Arbor\"\n requestor_name: \"string value\"\n})", "fixedSpecFileName": "measure-one-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_packetfabric.com.json b/sdks/db/published/from-custom-request_packetfabric.com.json new file mode 100644 index 000000000..14ef55d9c --- /dev/null +++ b/sdks/db/published/from-custom-request_packetfabric.com.json @@ -0,0 +1,13971 @@ +{ + "securitySchemes": { + "BearerAuth": { + "type": "http", + "scheme": "bearer" + } + }, + "apiBaseUrl": "https://api.packetfabric.com", + "apiVersion": "2.0.0", + "apiDescription": "Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the token.\n\n\nUse that token and \"Authorize\" button to authenticate your requests.\n\n\nYou can also use that token to authorize your `curl` request:\n\n```\ncurl -X GET \"https://api.packetfabric.com/v2/activity-logs\" -H \"accept: */*\" -H \"Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094\"\n```\n\nPython code to authenticate and utilize the\n[Bearer token](https://swagger.io/docs/specification/authentication/bearer-authentication/):\n\n```\nimport requests\nlogin_url = 'https://api.packetfabric.com/v2/auth/login'\nlogin_payload = {\n 'login': 'admin',\n 'password': 'p4ssw0rd'\n}\nr = requests.post(login_url, json=login_payload)\nauth_token = r.json()['token']\nrequest_header = {\n 'Authorization': f'Bearer {auth_token}'\n}\ncontacts_url = 'https://api.packetfabric.com/v2/contacts'\nr = requests.get(contacts_url, headers=request_header)\n```\n\n*For resellers only*:\n\nTo make the request on behalf of reseller's customer - add `On-Behalf: customer UUID` header to the request:\n\n```\ncurl -X GET \"https://api.packetfabric.com/v2/activity-logs\" -H \"accept: */*\" -H \"Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094\" -H \"On-Behalf: 11111111-2222-3333-4444-eb1424631094\"\n```\n\n*For API Key Authentication*\nTo utilize an API Key instead of login/password, you will need to generate a key and save the token.\nUsing that token, as the Bearer token, you can then login.\n\n```\napi_key = \nrequest_header = {\n 'Authorization': f'Bearer {api_key}'\n}\ncontacts_url = 'https://api.packetfabric.com/v2/contacts'\nr = requests.get(contacts_url, headers=request_header)\n```\n", + "apiTitle": "PacketFabric API", + "endpoints": 261, + "sdkMethods": 341, + "schemas": 452, + "parameters": 1267, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.packetfabric.com/openapi/specification/swagger.yaml" + }, + "customRequestSpecFilename": "packetfabric.com.yaml", + "difficultyScore": 657.75, + "difficulty": "Very Hard", + "company": "PacketFabric", + "sdkName": "packet-fabric-{language}-sdk", + "clientName": "PacketFabric", + "metaDescription": "PacketFabric is the Connectivity Cloud, designed from the ground up for scale, performance, programmability, elasticity, and security without compromise, enabling enterprises to build an agile cloud core that delivers optimal digital business outcomes. PacketFabric's Network-as-a-Service (NaaS) platform leverages a massively scalable private optical network, the latest in packet switching technology, and end-to-end automation. PacketFabric delivers on-demand, private, and secure connectivity services between hundreds of premier colocation facilities and cloud providers across the globe. IT, network, and DevOps teams can deploy cloud-scale connectivity in minutes via an advanced Application Program Interface (API) and web portal. PacketFabric was recognized as the \"2020 Fierce Telecom Innovation Award for Cloud Services,\" named one of the \"10 Hottest Networking Startups of 2020\" by CRN, a Futuriom 40 Top Private Company, and a \"2020 Cool Vendor in Enhanced Internet Services and Cloud Connectivity\" by Gartner. PacketFabric investors include NantWorks and Digital Alpha Advisors. For more information, visit packetfabric.com.", + "apiStatusUrls": "inherit", + "homepage": "packetfabric.com", + "developerDocumentation": "docs.packetfabric.com/api/v2/", + "categories": [ + "network" + ], + "category": "AI Tools", + "methods": [ + { + "url": "/v2/activity-logs/{log_uuid}", + "method": "getEntry", + "httpMethod": "get", + "tag": "Activity Logs", + "typeScriptTag": "activityLogs", + "description": "Get activity log entry", + "parameters": [ + { + "name": "logUuid", + "schema": "string", + "required": true, + "description": "UUID of Activity Log entry", + "example": "LOG_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Holds an information about important events" + } + ] + }, + { + "url": "/v2/activity-logs", + "method": "getActivityLogList", + "httpMethod": "get", + "tag": "Activity Logs", + "typeScriptTag": "activityLogs", + "description": "Get activity log entries", + "parameters": [ + { + "name": "level", + "schema": "integer", + "required": false, + "description": "Filter by [the level](https://tools.ietf.org/html/rfc5424#page-11)", + "example": 3 + }, + { + "name": "category", + "schema": "string", + "required": false, + "description": "Filter by category" + }, + { + "name": "circuitId", + "schema": "string", + "required": false, + "description": "Unified circuit_id filter, supports filtering by:\n- Port - port_circuit_id (eg. PF-AP-SFO1-58)\n- VirtualCircuit - vc_circuit_id (eg. PF-BC-NYC-NYC-12345)\n- Cloud - cloud_circuit_id (eg. PF-CC-GOG-GOG-12345)\n- Point to Point - ptp_circuit_id (eg. PF-PD-LAX-NYC-12345)\n- Cloud Router - cloud_router_circuit_id (eg. PF-L3-CUST-12345)\n- Cloud Router Connection - connection_circuit_id (eg. PF-L3-CON-12345)\n- High Performance Internet - hpi_circuit_id (eg. PF-L3-TRAN-12345)\n", + "example": "PF-BC-NYC-NYC-12345" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "The description of the port to be queried", + "example": "The user description" + }, + { + "name": "event", + "schema": "string", + "required": false, + "description": "Filter by event", + "example": "login" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "Number of records to skip", + "example": 20 + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "Number of records to show", + "example": 10 + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on", + "example": "time_created" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Sort order" + }, + { + "name": "timeFrom", + "schema": "string", + "required": false, + "description": "Filter by time_created greater than (https://docs.packetfabric.com/api/v2/ or equal to this time.", + "example": "2020-04-01T19:14:42.642Z" + }, + { + "name": "timeTo", + "schema": "string", + "required": false, + "description": "Filter by time_created less than (https://docs.packetfabric.com/api/v2/ or equal to this time.", + "example": "2020-04-30T19:14:42.642Z" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/api-keys", + "method": "getUserList", + "httpMethod": "get", + "tag": "API keys", + "typeScriptTag": "apiKeys", + "description": "Get the list of user's API keys", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/api-keys", + "method": "createNewKey", + "httpMethod": "post", + "tag": "API keys", + "typeScriptTag": "apiKeys", + "description": "Add the new API key", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Silver key" + }, + { + "name": "expiration", + "schema": "integer", + "required": false, + "description": "", + "example": 100500 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Information about API key" + } + ] + }, + { + "url": "/v2/api-keys/{uuid}", + "method": "deleteByKey", + "httpMethod": "delete", + "tag": "API keys", + "typeScriptTag": "apiKeys", + "description": "Deletes API key by UUID", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": true, + "description": "Target API key UUID", + "example": "UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/auth/login", + "method": "login", + "httpMethod": "get", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Login", + "parameters": [ + { + "name": "sessionToken", + "schema": "string", + "required": true, + "description": "A valid session_token for the user", + "example": "SESSION_TOKEN" + }, + { + "name": "timeout", + "schema": "integer", + "required": false, + "description": "Timeout in minutes to set the session expiration" + } + ], + "responses": [ + { + "statusCode": "default", + "description": "Redirect to the PacketFabric Portal dashboard" + } + ] + }, + { + "url": "/v2/auth/login", + "method": "startSession", + "httpMethod": "post", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Login", + "parameters": [ + { + "name": "login", + "schema": "string", + "required": true, + "description": "", + "example": "LOGIN" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "PASSWORD" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "User session information" + } + ] + }, + { + "url": "/v2/auth/login/mfa", + "method": "mfa", + "httpMethod": "post", + "tag": "Multi-Factor Authentication", + "typeScriptTag": "multiFactorAuthentication", + "description": "Login into the application using a multi-factor authentication code", + "parameters": [ + { + "name": "authentication_code", + "schema": "string", + "required": true, + "description": "", + "example": "AUTHENTICATION_CODE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/auth/logout", + "method": "invalidateSession", + "httpMethod": "get", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Logout", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/auth/sessions", + "method": "removeAllSessions", + "httpMethod": "delete", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Deletes all user sessions", + "parameters": [ + { + "name": "userUuid", + "schema": "string", + "description": "User UUID to delete sessions for (for Admin only)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/auth/sessions", + "method": "getAllActiveUserSessions", + "httpMethod": "get", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Get all active user sessions", + "parameters": [ + { + "name": "userUuid", + "schema": "string", + "description": "User UUID to get sessions for (for Admin only)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/bgp-settings", + "method": "getList", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Returns a list of BGP settings instances associated with the current account.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/bgp-settings/{bgp_settings_uuid}/prefixes", + "method": "listPrefixes", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Returns a list of prefixes associated with a BGP settings instance.", + "parameters": [ + { + "name": "bgpSettingsUuid", + "schema": "string", + "required": true, + "description": "UUID of BGP settings to fetch prefixes for.", + "example": "BGP_SETTINGS_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/bgp-settings/{bgp_settings_uuid}/l3", + "method": "getL3IflData", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Returns the L3 IFL data associated with a BGP Session.", + "parameters": [ + { + "name": "bgpSettingsUuid", + "schema": "string", + "required": true, + "description": "UUID of BGP settings to fetch prefixes for.", + "example": "BGP_SETTINGS_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/services/{circuit_id}", + "method": "order", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns billing details for the given circuit (Port, Cloud, or Virtual Circuit)", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "ID of Port, Cloud, or Virtual Circuit to fetch billing data for", + "example": "CIRCUIT_ID" + }, + { + "name": "serviceType", + "schema": "string", + "required": false, + "description": "(https://docs.packetfabric.com/api/v2/ You can specify the type of the product to fetch the order for", + "example": "cross-connect" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/services/{circuit_id}/modify", + "method": "order", + "httpMethod": "post", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Modify an existing order", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the order to modify", + "example": "CIRCUIT_ID" + }, + { + "name": "subscription_term", + "schema": "integer", + "description": "" + }, + { + "name": "speed", + "schema": "string", + "description": "", + "example": "100Gbps" + }, + { + "name": "billing_product_type", + "schema": "string", + "description": "" + }, + { + "name": "service_class", + "schema": "string", + "description": "", + "example": "longhaul" + }, + { + "name": "capacity", + "schema": "string", + "description": "", + "example": "100Gbps" + }, + { + "name": "regions", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/billing/services/{circuit_id}/modify/preview", + "method": "modifyOrderPreview", + "httpMethod": "post", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Preview the price of modifying an existing order. Currently only supports renewals without speed upgrades.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the order to modify", + "example": "CIRCUIT_ID" + }, + { + "name": "subscription_term", + "schema": "integer", + "description": "" + }, + { + "name": "speed", + "schema": "string", + "description": "", + "example": "100Gbps" + }, + { + "name": "billing_product_type", + "schema": "string", + "description": "" + }, + { + "name": "service_class", + "schema": "string", + "description": "", + "example": "longhaul" + }, + { + "name": "capacity", + "schema": "string", + "description": "", + "example": "100Gbps" + }, + { + "name": "regions", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/services/{account_uuid}", + "method": "accountOrdersGet", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns all orders for the given billing account", + "parameters": [ + { + "name": "accountUuid", + "schema": "string", + "required": true, + "description": "UUID of the billing account", + "example": "ACCOUNT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/pricing", + "method": "pricing", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Get pricing for specific services", + "parameters": [ + { + "name": "productType", + "schema": "string", + "required": true, + "description": "", + "example": "PRODUCT_TYPE" + }, + { + "name": "subscriptionTerm", + "schema": "integer", + "required": false, + "description": "The subscription term, in months, to retrieve pricing for" + }, + { + "name": "locationType", + "schema": "string", + "required": true, + "description": "Filter pricing info by location type. If no pricing is found, the service will attempt to search by a broader location type. eg. site -> pop", + "example": "pop" + }, + { + "name": "sideA", + "schema": "string", + "required": false, + "description": "Code for the a-side location eg. SFO1. When using this paramater to filter results, ensure location_type is also set.", + "example": "SFO1" + }, + { + "name": "sideZ", + "schema": "string", + "required": false, + "description": "Code for the z-side location eg. NYC1. When using this paramater to filter results, ensure location_type is also set.", + "example": "NYC1" + }, + { + "name": "networkProviderA", + "schema": "string", + "required": false, + "description": "Limit results to pricing for a specific network provider on the a side. Valid for location_type of market or region." + }, + { + "name": "networkProviderZ", + "schema": "string", + "required": false, + "description": "Limit results to pricing for a specific network provider on the z side. Valid for location_type of market or region." + }, + { + "name": "media", + "schema": "string", + "required": false, + "description": "Optic media type", + "example": "LX" + }, + { + "name": "provider", + "schema": "string", + "required": false, + "description": "Filter pricing by provider type", + "example": "aws" + }, + { + "name": "bandwidthType", + "schema": "string", + "required": false, + "description": "Filter by dedicated or usage-base pricing", + "example": "usage" + }, + { + "name": "serviceClass", + "schema": "string", + "required": false, + "description": "Filter by metro or longhaul connections", + "example": "metro" + }, + { + "name": "speed", + "schema": "string", + "required": false, + "description": "Filter by connection speed" + }, + { + "name": "accountUuid", + "schema": "string", + "required": false, + "description": "Filter for account specific pricing", + "example": "c25e0c64-6da7-487e-8f47-f5e744813976" + }, + { + "name": "addOnFeeKey", + "schema": "string", + "required": false, + "description": "Filter by the add-on fee key - this is only used for add_on_fee product types" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/services/early-termination-liability/{circuit_id}", + "method": "earlyTerminationCost", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns cost for stopping service on a circuit with a subscription term early", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "ID of circuit to get early termination liability for", + "example": "CIRCUIT_ID" + }, + { + "name": "terminationDate", + "schema": "string", + "required": false, + "description": "Datetime (ISO-8601 format) for which to fetch the early termination liability. Defaults to right now. User's timezone will be used if timestamp is not timezone aware. Examples: `2020-04-01T19:14:42.642+00:00`, `2020-04-01T19:14:42.642`", + "example": "2020-04-01T19:14:42" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/accounts/{account_uuid}/invoices", + "method": "invoices", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns list of invoices", + "parameters": [ + { + "name": "accountUuid", + "schema": "string", + "required": true, + "description": "uuid of the billing account to get the list of invoices for", + "example": "ACCOUNT_UUID" + }, + { + "name": "startDate", + "schema": "string", + "required": false, + "description": "Filter invoices which created after the start_date (https://docs.packetfabric.com/api/v2/", + "example": "2020-04-01" + }, + { + "name": "endDate", + "schema": "string", + "required": false, + "description": "Filter invoices which created before the end_date (https://docs.packetfabric.com/api/v2/", + "example": "2020-04-01" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.pdf", + "method": "pdf", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns invoice as PDF", + "parameters": [ + { + "name": "accountUuid", + "schema": "string", + "required": true, + "description": "uuid of the billing account to get the list of invoices for", + "example": "ACCOUNT_UUID" + }, + { + "name": "invoiceId", + "schema": "integer", + "required": true, + "description": "Filter invoices which created after the start_date", + "example": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/accounts/{account_uuid}/invoices/{invoice_id}.csv", + "method": "csv", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns invoice as CSV", + "parameters": [ + { + "name": "accountUuid", + "schema": "string", + "required": true, + "description": "uuid of the billing account to get the list of invoices for", + "example": "ACCOUNT_UUID" + }, + { + "name": "invoiceId", + "schema": "integer", + "required": true, + "description": "Filter invoices which created after the start_date", + "example": 1 + }, + { + "name": "condensed", + "schema": "boolean", + "required": false, + "description": "Get condensed CSV output", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/billing/stripe/{account_uuid}/stripe_customer_session", + "method": "getStripeCustomerSessionUrl", + "httpMethod": "get", + "tag": "Billing", + "typeScriptTag": "billing", + "description": "Returns stripe customer portal session url", + "parameters": [ + { + "name": "accountUuid", + "schema": "string", + "required": true, + "description": "uuid of the billing account to get the stripe customer portal session for", + "example": "ACCOUNT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts", + "method": "getCurrentCustomerList", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get the contacts associated with the current customer", + "parameters": [ + { + "name": "billing", + "schema": "boolean", + "required": false, + "description": "Filter for billing contacts (`true`) or non-billing contacts (`false`)" + }, + { + "name": "contactUuid", + "schema": "string", + "required": false, + "description": "Filter contact by UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts", + "method": "post", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Add the contact for the current customer", + "parameters": [ + { + "name": "first_name", + "schema": "string", + "required": false, + "description": "", + "example": "James" + }, + { + "name": "last_name", + "schema": "string", + "required": false, + "description": "", + "example": "Bond" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "email@example.com" + }, + { + "name": "phone", + "schema": "string", + "required": true, + "description": "", + "example": "111-111-1111" + }, + { + "name": "address_1", + "schema": "string", + "required": false, + "description": "", + "example": "1 Fake Road" + }, + { + "name": "address_2", + "schema": "string", + "required": false, + "description": "", + "example": "Suite 112" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "", + "example": "Chicago" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "", + "example": "IL" + }, + { + "name": "postal", + "schema": "string", + "required": false, + "description": "", + "example": "12345" + }, + { + "name": "country", + "schema": "string", + "required": false, + "description": "", + "example": "US" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "admin", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "billing", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "tech", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "default_billing", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "automatic_payments_enabled", + "schema": "boolean", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/{contact_uuid}", + "method": "delete", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete a single contact", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "UUID of the contact to delete", + "example": "CONTACT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/{contact_uuid}", + "method": "get", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get a single contact", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "UUID of the contact to fetch", + "example": "CONTACT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/{contact_uuid}", + "method": "update", + "httpMethod": "patch", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update contact", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "UUID of the contact to update", + "example": "CONTACT_UUID" + }, + { + "name": "first_name", + "schema": "string", + "description": "", + "example": "James" + }, + { + "name": "last_name", + "schema": "string", + "description": "", + "example": "Bond" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "user@example.com" + }, + { + "name": "phone", + "schema": "string", + "description": "", + "example": "111-111-1111" + }, + { + "name": "address_1", + "schema": "string", + "description": "", + "example": "1 Fake Road" + }, + { + "name": "address_2", + "schema": "string", + "description": "", + "example": "Suite 112" + }, + { + "name": "city", + "schema": "string", + "description": "", + "example": "Chicago" + }, + { + "name": "state", + "schema": "string", + "description": "", + "example": "IL" + }, + { + "name": "postal", + "schema": "string", + "description": "", + "example": "12345" + }, + { + "name": "country", + "schema": "string", + "description": "", + "example": "US" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + }, + { + "name": "admin", + "schema": "boolean", + "description": "" + }, + { + "name": "billing", + "schema": "boolean", + "description": "" + }, + { + "name": "tech", + "schema": "boolean", + "description": "" + }, + { + "name": "default_billing", + "schema": "boolean", + "description": "" + }, + { + "name": "automatic_payments_enabled", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/{contact_uuid}/links/{circuit_id}", + "method": "deleteLink", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete a link between a technical contact and a circuit", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "UUID of the contact to unlink.", + "example": "CONTACT_UUID" + }, + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit to unlink.", + "example": "PF-AP-WDC1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/{contact_uuid}/links/{circuit_id}", + "method": "linkCircuit", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Link a technical contact to a circuit", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "UUID of the contact to link. Must be a technical contact.", + "example": "CONTACT_UUID" + }, + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit to link.", + "example": "PF-AP-WDC1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/contacts/links", + "method": "getContactCircuitLinks", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Retrieve list of contact-circuit links", + "parameters": [ + { + "name": "contactUuid", + "schema": "string", + "required": false, + "description": "Only retrieve links associated with this contact" + }, + { + "name": "circuitId", + "schema": "string", + "required": false, + "description": "Only retrieve links associated with this circuit", + "example": "PF-AP-WDC1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/company-types", + "method": "getCompanyTypes", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get list of company types", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current", + "method": "get", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get current customer data", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current", + "method": "update", + "httpMethod": "patch", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Update current customer data", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "Importer/exporter" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Vandelay Industries" + }, + { + "name": "website", + "schema": "string", + "description": "", + "example": "vandelayindustries.com" + }, + { + "name": "aliases", + "schema": "string", + "description": "", + "example": "DM Scranton" + }, + { + "name": "notes", + "schema": "string", + "description": "", + "example": "Cloud services via Amazon Direct Connect" + }, + { + "name": "searchable", + "schema": "boolean", + "description": "" + }, + { + "name": "customer_wide_mfa", + "schema": "boolean", + "description": "" + }, + { + "name": "password", + "schema": "string", + "description": "", + "example": "password111" + }, + { + "name": "company_type_code", + "schema": "string", + "description": "", + "example": "LLC" + }, + { + "name": "service_provider_types", + "schema": "array", + "description": "" + }, + { + "name": "industries", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/images/{uuid}", + "method": "getLogoByUuid", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Return customer logo for provided customer's UUID", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": true, + "description": "Customer UUID", + "example": "UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current/image", + "method": "uploadLogoImage", + "httpMethod": "post", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Upload image file with a company logo. Supported formats are PNG, JPEG or BMP", + "parameters": [ + { + "name": "image", + "schema": "string", + "description": "", + "example": "JPEG, PNG or BMP image file" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current/locations", + "method": "getLocationList", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get location list for the current customer", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter locations by the POP name", + "example": "LAX1" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "Filter locations by the city name", + "example": "Los Angeles" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "Filter locations by the state", + "example": "CA" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter locations by the market code", + "example": "LAX" + }, + { + "name": "region", + "schema": "string", + "required": false, + "description": "Filter locations by the region's short name", + "example": "US" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current/account-managers", + "method": "getCurrentAccountManagers", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get all customer account managers for the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current/sales-team", + "method": "getCurrentSalesTeam", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get the sales team details for the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers", + "method": "customers", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Get customer list by filter params", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Search query string used to filter customers by name or description" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "Filter customers by exact name" + }, + { + "name": "routingId", + "schema": "string", + "required": false, + "description": "Filter customers by Customer Routing ID" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter customers by the market operated in" + }, + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter customers by POP name" + }, + { + "name": "type", + "schema": "array", + "required": false, + "description": "Filter customers by type. Accepts either a single value or an array of values." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/{customer_uuid}/industries", + "method": "getIndustriesByUuid", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Return customer industries by UUID", + "parameters": [ + { + "name": "customerUuid", + "schema": "string", + "required": true, + "description": "UUID of chosen customer", + "example": "CUSTOMER_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/{customer_uuid}/locations", + "method": "getLocationsByUuid", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Return customer locations by UUID", + "parameters": [ + { + "name": "customerUuid", + "schema": "string", + "required": true, + "description": "UUID of chosen customer", + "example": "CUSTOMER_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/{customer_uuid}/service-provider-types", + "method": "getServiceProviderTypesByUuid", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Return customer service_provider_types by UUID", + "parameters": [ + { + "name": "customerUuid", + "schema": "string", + "required": true, + "description": "UUID of chosen customer", + "example": "CUSTOMER_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/current/ix-details", + "method": "updateIxDetails", + "httpMethod": "patch", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Update IX details for the current customer", + "parameters": [ + { + "name": "pricing_url", + "schema": "string", + "description": "", + "example": "https://ix-example.pf/connect/guide" + }, + { + "name": "redirect_url", + "schema": "string", + "description": "", + "example": "https://ix-example.pf/connect/provision" + }, + { + "name": "tiers", + "schema": "array", + "description": "" + }, + { + "name": "order_completion_method", + "schema": "string", + "description": "", + "example": "email" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "contacts@ix-example.pf" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/customers/{customer_uuid}/ix-details", + "method": "ixDetailsGet", + "httpMethod": "get", + "tag": "Customers", + "typeScriptTag": "customers", + "description": "Return IX details by IX customer UUID", + "parameters": [ + { + "name": "customerUuid", + "schema": "string", + "required": true, + "description": "UUID of chosen customer", + "example": "CUSTOMER_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/diagnostic-reports", + "method": "reports", + "httpMethod": "get", + "tag": "Diagnostic Reports", + "typeScriptTag": "diagnosticReports", + "description": "Get diagnostic reports", + "parameters": [ + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "The number of results to return per page" + }, + { + "name": "reason", + "schema": "string", + "required": false, + "description": "The reason to filter by" + }, + { + "name": "userLogin", + "schema": "string", + "required": false, + "description": "The user login to filter by" + }, + { + "name": "circuitId", + "schema": "string", + "required": false, + "description": "Circuit ID of the service to get the reports" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "The offset of results for this page" + }, + { + "name": "q", + "schema": "string", + "required": false, + "description": "Search query string used to filter reports" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "The user provided description of the report" + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "The offset of results for this page" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/diagnostic-reports", + "method": "createReport", + "httpMethod": "post", + "tag": "Diagnostic Reports", + "typeScriptTag": "diagnosticReports", + "description": "Create a diagnostic report", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "User provided description" + }, + { + "name": "circuit_ids", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "start_time", + "schema": "string", + "required": true, + "description": "", + "example": "START_TIME" + }, + { + "name": "include_related", + "schema": "boolean", + "required": false, + "description": "", + "example": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/diagnostic-reports/{report_uuid}", + "method": "report", + "httpMethod": "delete", + "tag": "Diagnostic Reports", + "typeScriptTag": "diagnosticReports", + "description": "Delete diagnostic report", + "parameters": [ + { + "name": "reportUuid", + "schema": "string", + "required": true, + "description": "UUID of the diagnostic report to delete", + "example": "REPORT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/diagnostic-reports/{report_uuid}", + "method": "report", + "httpMethod": "get", + "tag": "Diagnostic Reports", + "typeScriptTag": "diagnosticReports", + "description": "Get diagnostic report details by UUID", + "parameters": [ + { + "name": "reportUuid", + "schema": "string", + "required": true, + "description": "UUID of the diagnostic report to fetch", + "example": "REPORT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/documents", + "method": "listFilteredByParams", + "httpMethod": "get", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Get documents list filtered by params", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "description": "Search documents by UUID", + "example": "12a30d30-20c0-4f62-a982-eb1424631094" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "Search document by name", + "example": "loa.pdf" + }, + { + "name": "type", + "schema": "string", + "description": "Search document by type", + "example": "loa" + }, + { + "name": "portCircuitId", + "schema": "string", + "description": "Search LOA by port id", + "example": "PF-AP-WDC1-1000" + }, + { + "name": "pop", + "schema": "string", + "description": "Search LOA by pop", + "example": "WDC1" + }, + { + "name": "vcCircuitId", + "schema": "string", + "description": "Search service orders by Virtual Circuit ID", + "example": "PF-DC-SMF-PDX-12345" + }, + { + "name": "cloudRouterCircuitId", + "schema": "string", + "description": "Search service orders by Cloud Router Circuit ID", + "example": "PF-L3-CUST-1400" + }, + { + "name": "cloudRouterConnectionCircuitId", + "schema": "string", + "description": "Search service orders by Cloud Router Connection Circuit ID", + "example": "PF-L3-CON-12345" + }, + { + "name": "hpiCircuitId", + "schema": "string", + "description": "Search service orders by High Performance Internet Circuit ID", + "example": "PF-L3-TRAN-1400" + }, + { + "name": "aggregateCapacityId", + "schema": "string", + "description": "Search service orders by Flex Bandwidth Container ID", + "example": "PF-AB-12345" + }, + { + "name": "flexBandwidthId", + "schema": "string", + "description": "Search service orders by Flex Bandwidth Container ID", + "example": "PF-AB-12345" + }, + { + "name": "q", + "schema": "string", + "required": false, + "description": "Search documents by partial name", + "example": "loa" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "Number of records to skip", + "example": 20 + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "Number of records to show", + "example": 10 + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Sort order" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/documents", + "method": "upload", + "httpMethod": "post", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Create/Upload a document", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "description example" + }, + { + "name": "document", + "schema": "string", + "required": true, + "description": "", + "example": "DOCUMENT" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "loa" + }, + { + "name": "port_circuit_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AP-WDC1-1000" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/documents/{uuid}", + "method": "download", + "httpMethod": "get", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Download the document", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": true, + "description": "UUID of the document to download", + "example": "UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/events", + "method": "createSubscription", + "httpMethod": "post", + "tag": "Streaming Events - Beta", + "typeScriptTag": "streamingEventsBeta", + "description": "Create event subscription", + "parameters": [ + { + "name": "streams", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/events/{uuid}", + "method": "events", + "httpMethod": "get", + "tag": "Streaming Events - Beta", + "typeScriptTag": "streamingEventsBeta", + "description": "Stream events", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": true, + "description": "UUID of the subscription bundle", + "example": "UUID" + } + ], + "responses": [ + { + "statusCode": "default", + "description": "" + } + ] + }, + { + "url": "/v2/flex-bandwidth", + "method": "getAllContainers", + "httpMethod": "get", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Get all flex bandwidth containers for the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/flex-bandwidth", + "method": "createContainer", + "httpMethod": "post", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Create a flex bandwidth container", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Flex bandwidth container description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_UUID" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "capacity", + "schema": "string", + "required": true, + "description": "", + "example": "100Gbps" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/flex-bandwidth/{flex_bandwidth_id}", + "method": "deleteContainer", + "httpMethod": "delete", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Delete a flex bandwidth container", + "parameters": [ + { + "name": "flexBandwidthId", + "schema": "string", + "required": true, + "description": "The ID of the flex bandwidth container", + "example": "PF-AB-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Aggregate Capacity deleted successfully" + } + ] + }, + { + "url": "/v2/flex-bandwidth/{flex_bandwidth_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Get a flex bandwidth container by ID", + "parameters": [ + { + "name": "flexBandwidthId", + "schema": "string", + "required": true, + "description": "The ID of the flex bandwidth container", + "example": "PF-AB-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/groups", + "method": "get", + "httpMethod": "get", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Get the current customer's groups", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/groups/{group_name}/users", + "method": "getUserList", + "httpMethod": "get", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Get the list of users in the group", + "parameters": [ + { + "name": "groupName", + "schema": "string", + "required": true, + "description": "Name of the group to get the list of users in", + "example": "regular" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/groups/{group_name}/permissions", + "method": "listPermissions", + "httpMethod": "get", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Get the list of permissions granted for the group", + "parameters": [ + { + "name": "groupName", + "schema": "string", + "required": true, + "description": "Name of the group to get the list of permissions in", + "example": "regular" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/{site_code}", + "method": "location", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get location data for specified location", + "parameters": [ + { + "name": "siteCode", + "schema": "string", + "required": true, + "description": "Site code of the target location", + "example": "CS-LA1" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations", + "method": "filterParamsList", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get location list by filter params", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter locations by the POP name", + "example": "LAX1" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "Filter locations by the city name", + "example": "Los Angeles" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "Filter locations by the state", + "example": "CA" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter locations by the market code", + "example": "LAX" + }, + { + "name": "region", + "schema": "string", + "required": false, + "description": "Filter locations by the region's short name", + "example": "US" + }, + { + "name": "anyType", + "schema": "boolean", + "required": false, + "description": "Flag specifying should only primary locations or locations of any type be returned", + "default": false + }, + { + "name": "ipsecCapable", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations capable of IPSec should be returned", + "default": false + }, + { + "name": "natCapable", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations capable of NAT should be returned", + "default": false + }, + { + "name": "nearCloudRouter", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations with a proximity to a Cloud Router port should be returned", + "default": false + }, + { + "name": "singleArmed", + "schema": "boolean", + "required": false, + "description": "Filter locations by whether or not they are single armed", + "default": false + }, + { + "name": "devicePortType", + "schema": "string", + "required": false, + "description": "Filter locations by the device port type. device_port_type can be specified multiple times with different values.", + "example": "blue" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/locations", + "method": "filterParamsList", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get location list by filter params", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter locations by the POP name", + "example": "LAX1" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "Filter locations by the city name", + "example": "Los Angeles" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "Filter locations by the state", + "example": "CA" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter locations by the market code", + "example": "LAX" + }, + { + "name": "region", + "schema": "string", + "required": false, + "description": "Filter locations by the region's short name", + "example": "US" + }, + { + "name": "anyType", + "schema": "boolean", + "required": false, + "description": "Flag specifying should only primary locations or locations of any type be returned", + "default": false + }, + { + "name": "ipsecCapable", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations capable of IPSec should be returned", + "default": false + }, + { + "name": "natCapable", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations capable of NAT should be returned", + "default": false + }, + { + "name": "nearCloudRouter", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations with a proximity to a Cloud Router port should be returned", + "default": false + }, + { + "name": "cloudProvider", + "schema": "string", + "required": false, + "description": "Filter locations by the cloud provider" + }, + { + "name": "cloudConnectionType", + "schema": "string", + "required": false, + "description": "Filter locations by the cloud connection type" + }, + { + "name": "networkProvider", + "schema": "string", + "required": false, + "description": "Filter locations by the network provider", + "example": "PacketFabric" + }, + { + "name": "singleArmed", + "schema": "boolean", + "required": false, + "description": "Filter locations by whether or not they are single armed" + }, + { + "name": "export", + "schema": "string", + "required": false, + "description": "Export the data as a CSV file", + "example": "csv" + }, + { + "name": "enni", + "schema": "boolean", + "required": false, + "description": "Filter locations by whether or not they support ENNI" + }, + { + "name": "devicePortType", + "schema": "string", + "required": false, + "description": "Filter locations by the device port type. device_port_type can be specified multiple times with different values.", + "example": "blue" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/cloud", + "method": "listCloudLocations", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get a list of cloud locations filtered by query params", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter locations by the POP name", + "example": "LAX1" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "Filter locations by the city name", + "example": "Los Angeles" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "Filter locations by the state", + "example": "CA" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter locations by the market code", + "example": "LAX" + }, + { + "name": "region", + "schema": "string", + "required": false, + "description": "Filter locations by the region's short name", + "example": "US" + }, + { + "name": "anyType", + "schema": "boolean", + "required": false, + "description": "Flag specifying should only primary locations or locations of any type be returned", + "default": false + }, + { + "name": "hasCloudRouter", + "schema": "boolean", + "required": false, + "description": "Flag to look for only cloud-router capable locations", + "default": false + }, + { + "name": "cloudProvider", + "schema": "string", + "required": true, + "description": "Filter locations by the cloud provider key", + "example": "CLOUD_PROVIDER" + }, + { + "name": "cloudConnectionType", + "schema": "string", + "required": true, + "description": "Filter locations by the cloud connection type", + "example": "CLOUD_CONNECTION_TYPE" + }, + { + "name": "natCapable", + "schema": "boolean", + "required": false, + "description": "Flag specifying that only locations capable of NAT should be returned", + "default": false + }, + { + "name": "devicePortType", + "schema": "string", + "required": false, + "description": "Filter locations by the device port type. device_port_type can be specified multiple times with different values.", + "example": "blue" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/extrametro", + "method": "listExtrametro", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get a list of extrametro locations", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/regions", + "method": "list", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get region list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/markets", + "method": "getMarketList", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get market list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/{pop}/port-availability", + "method": "getPortAvailabilityDataForPop", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get port availability data for a POP", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": true, + "description": "POP name of the target port", + "example": "POP" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/{pop}/zones", + "method": "getZonesForPop", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get zones for a POP.", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": true, + "description": "POP name of the target port", + "example": "POP" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/locations/{pop}/image", + "method": "getImage", + "httpMethod": "get", + "tag": "Locations", + "typeScriptTag": "locations", + "description": "Get image for a specified location", + "parameters": [ + { + "name": "pop", + "schema": "string", + "required": true, + "description": "POP name of the target location", + "example": "POP" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/labels/{value}", + "method": "associatedObjectsGet", + "httpMethod": "get", + "tag": "Labels", + "typeScriptTag": "labels", + "description": "Get a list of objects associated with a label", + "parameters": [ + { + "name": "value", + "schema": "string", + "required": true, + "description": "Label value", + "example": "VALUE" + }, + { + "name": "labelType", + "schema": "string", + "required": false, + "description": "Label type. customer_ref by default. reseller_ref is only for the reseller customers" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/labels/{value}", + "method": "label", + "httpMethod": "patch", + "tag": "Labels", + "typeScriptTag": "labels", + "description": "Add to a label's circuit_ids", + "parameters": [ + { + "name": "value", + "schema": "string", + "required": true, + "description": "Label value", + "example": "VALUE" + }, + { + "name": "label_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "objects", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/labels/{value}", + "method": "label", + "httpMethod": "put", + "tag": "Labels", + "typeScriptTag": "labels", + "description": "Update a label", + "parameters": [ + { + "name": "value", + "schema": "string", + "required": true, + "description": "Label value", + "example": "VALUE" + }, + { + "name": "label_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "objects", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/labels", + "method": "labels", + "httpMethod": "get", + "tag": "Labels", + "typeScriptTag": "labels", + "description": "Get a list of labels associated with a customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags", + "method": "post", + "httpMethod": "post", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Create a LAG Interface", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "interval", + "schema": "string", + "required": true, + "description": "", + "example": "INTERVAL" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "LAX1" + }, + { + "name": "members", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{port_circuit_id}", + "method": "delete", + "httpMethod": "delete", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Deletes a LAG Interface", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AE-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{port_circuit_id}", + "method": "patch", + "httpMethod": "patch", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Updates a LAG Interface", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AE-LAX1-1234" + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "interval", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{port_circuit_id}/enable", + "method": "enableTargetInterface", + "httpMethod": "post", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Enables a target LAG Interface", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AE-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{port_circuit_id}/disable", + "method": "disableTargetInterface", + "httpMethod": "post", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Disables a target LAG Interface", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AE-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{lag_port_circuit_id}/members", + "method": "listMembers", + "httpMethod": "get", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Lists member interfaces for a LAG", + "parameters": [ + { + "name": "lagPortCircuitId", + "schema": "string", + "required": true, + "description": "ID of a LAG", + "example": "PF-AE-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{lag_port_circuit_id}/members", + "method": "addMemberInterface", + "httpMethod": "post", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Adds a member interface to a target LAG. All members must have the same speed and media.", + "parameters": [ + { + "name": "lagPortCircuitId", + "schema": "string", + "required": true, + "description": "ID of a target LAG", + "example": "PF-AE-LAX1-1234" + }, + { + "name": "member_port_circuit_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AE-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/lags/{lag_port_circuit_id}/members/{member_port_circuit_id}", + "method": "removeMemberInterface", + "httpMethod": "delete", + "tag": "LAGs", + "typeScriptTag": "laGs", + "description": "Remove a member interface from a target LAG", + "parameters": [ + { + "name": "lagPortCircuitId", + "schema": "string", + "required": true, + "description": "ID of a target LAG", + "example": "PF-AE-LAX1-1234" + }, + { + "name": "memberPortCircuitId", + "schema": "string", + "required": true, + "description": "ID of the member to remove", + "example": "PF-AE-LAX1-7890" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services", + "method": "customerServicesGet", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Get the collection of customers with services offered in the marketplace", + "parameters": [ + { + "name": "routingId", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific service-provider customer. Allows multiple comma-separated values.", + "example": "GAL-OHR-I9MM" + }, + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific location. Allows multiple comma-separated values.", + "example": "SAC1" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific market. Allows multiple comma-separated values.", + "example": "SAC" + }, + { + "name": "category", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific category", + "example": "cloud-computing" + }, + { + "name": "industry", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific industry. Allows multiple comma-separated values.", + "example": "telecommunications" + }, + { + "name": "serviceProviderType", + "schema": "string", + "required": false, + "description": "Filters the service list by service provider type. Allows multiple comma-separated values.", + "example": "Cloud Computing Providers" + }, + { + "name": "serviceType", + "schema": "string", + "required": false, + "description": "Filters the service list by service type. Allows multiple comma-separated values. Defaults to port-service.", + "example": "Port Service" + }, + { + "name": "showUnpublished", + "schema": "boolean", + "required": false, + "description": "Show unpublished services. Only returns results for the current customer. Defaults to false.", + "example": true + }, + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filters services by partial name, description, service uuid, or customer name", + "example": "2ab4-948d-6954-2ab4" + }, + { + "name": "showEmpty", + "schema": "boolean", + "required": false, + "description": "Show cloud-router services with no prefixes.", + "example": true, + "default": false + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "Number of records to skip", + "example": 20 + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "Number of records to show", + "example": 10 + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Pagination sort order." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services", + "method": "createService", + "httpMethod": "post", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Create a new service", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "Example description" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Example Service" + }, + { + "name": "state", + "schema": "string", + "required": false, + "description": "", + "example": "Active" + }, + { + "name": "sku", + "schema": "string", + "required": false, + "description": "", + "example": "ddos-prot" + }, + { + "name": "locations", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "categories", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "published", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "service_type", + "schema": "string", + "required": false, + "description": "", + "example": "port-service" + }, + { + "name": "cloud_router_circuit_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-L3-CUST-2001" + }, + { + "name": "route_set", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "max_speed", + "schema": "string", + "required": false, + "description": "", + "example": "10Gbps" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/quick-connect", + "method": "quickConnectList", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Get the collection of Quick Connect services", + "parameters": [ + { + "name": "routingId", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific service-provider customer.", + "example": "GAL-OHR-I9MM" + }, + { + "name": "published", + "schema": "boolean", + "required": false, + "description": "Indicates whether to return published services or unpublished services, used with routing_id param.", + "example": true + }, + { + "name": "category", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific category. Allows multiple comma-separated values.", + "example": "cloud-computing" + }, + { + "name": "industry", + "schema": "string", + "required": false, + "description": "Filters the service list to a specific industry. Allows multiple comma-separated values.", + "example": "telecommunications" + }, + { + "name": "serviceProviderType", + "schema": "string", + "required": false, + "description": "Filters the service list by service provider type. Allows multiple comma-separated values.", + "example": "Cloud Computing Providers" + }, + { + "name": "l3NfId", + "schema": "integer", + "required": false, + "description": "Filters the service list by the attached cloud router id.", + "example": 1000 + }, + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filters services by partial name, description or service uuid", + "example": "2ab4-948d-6954-2ab4" + }, + { + "name": "showEmpty", + "schema": "boolean", + "required": false, + "description": "Show cloud-router services with no prefixes.", + "example": true, + "default": false + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "Number of records to skip", + "example": 20 + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "Number of records to show", + "example": 10 + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Pagination sort order." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}", + "method": "deleteService", + "httpMethod": "delete", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Delete a marketplace service", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}", + "method": "getServiceObject", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Get a single service object", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "UUID by which to filter", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}", + "method": "updateService", + "httpMethod": "patch", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Update a service", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Example description" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Example Service" + }, + { + "name": "state", + "schema": "string", + "description": "", + "example": "Active" + }, + { + "name": "sku", + "schema": "string", + "description": "", + "example": "ddos-prot" + }, + { + "name": "locations", + "schema": "array", + "description": "" + }, + { + "name": "categories", + "schema": "array", + "description": "" + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "max_speed", + "schema": "string", + "description": "", + "example": "10Gbps" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/image", + "method": "deleteServiceImage", + "httpMethod": "delete", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Delete a service's image", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/image", + "method": "serviceImageGet", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Get a service's image", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/image", + "method": "updateServiceImage", + "httpMethod": "post", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Update a service's image", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + }, + { + "name": "image", + "schema": "string", + "required": true, + "description": "", + "example": "IMAGE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/thumbnail", + "method": "serviceThumbnailGet", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Get a service's thumbnail", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/thumbnail", + "method": "updateServiceThumbnail", + "httpMethod": "post", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Update a service's thumbnail", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "Service UUID", + "example": "SERVICE_UUID" + }, + { + "name": "image", + "schema": "string", + "required": true, + "description": "", + "example": "IMAGE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/services/{service_uuid}/route-set", + "method": "serviceRouteSetGet", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Returns the Route Set associated with the Marketplace Service.", + "parameters": [ + { + "name": "serviceUuid", + "schema": "string", + "required": true, + "description": "UUID by which to filter", + "example": "SERVICE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/industries", + "method": "get", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Return a list of all possible industries", + "parameters": [ + { + "name": "active", + "schema": "boolean", + "required": false, + "description": "Only return items that are in use by at least one customer", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/service-provider-types", + "method": "getServiceProviderTypes", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Return a list of all possible service provider types", + "parameters": [ + { + "name": "active", + "schema": "boolean", + "required": false, + "description": "Only return items that are in use by at least one customer", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/marketplace/service-categories", + "method": "getServiceCategories", + "httpMethod": "get", + "tag": "Marketplace", + "typeScriptTag": "marketplace", + "description": "Return a list of all possible service categories", + "parameters": [ + { + "name": "active", + "schema": "boolean", + "required": false, + "description": "Only return items that are in use by at least one customer", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/maintenances/history", + "method": "getListIndividualHistories", + "httpMethod": "get", + "tag": "Maintenance Notifications", + "typeScriptTag": "maintenanceNotifications", + "description": "Get list of individual maintenance histories", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": false, + "description": "The UUID of the target maintenance" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/maintenances/notifications", + "method": "filterByUuidActionOrType", + "httpMethod": "get", + "tag": "Maintenance Notifications", + "typeScriptTag": "maintenanceNotifications", + "description": "Get maintenance notifications list filtered by uuid, action or type", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": false, + "description": "The UUID of the maintenance details object that notifications were sent in relation to." + }, + { + "name": "action", + "schema": "string", + "required": false, + "description": "Maintenance action" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "Type of maintenance" + }, + { + "name": "start", + "schema": "string", + "required": false, + "description": "Filter by maintenance start date/time.", + "example": "2020-01-01T12:30:00.000Z" + }, + { + "name": "end", + "schema": "string", + "required": false, + "description": "Filter by maintenance end date/time.", + "example": "2020-01-01T14:30:00.000Z" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/maintenances/by-location", + "method": "getCurrentFutureByPopNameAndMarketCode", + "httpMethod": "get", + "tag": "Maintenance Notifications", + "typeScriptTag": "maintenanceNotifications", + "description": "Get current and future maintenances by pop name and/or market code", + "parameters": [ + { + "name": "popNamesList", + "schema": "string", + "required": false, + "description": "Filter to maintenances that affect this pop, or the market that contains this pop. Can be specified multiple times to filter by multiple pops.", + "example": "WDC1" + }, + { + "name": "marketCodesList", + "schema": "string", + "required": false, + "description": "Filter to maintenances that affect this market. Can be specified multiple times to filter by multiple markets", + "example": "WDC" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/maintenances/by-service/{circuit_id}", + "method": "getAffectedServiceMaintenances", + "httpMethod": "get", + "tag": "Maintenance Notifications", + "typeScriptTag": "maintenanceNotifications", + "description": "Get current and future maintenances that affect a given service", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the service for which to fetch maintenances", + "example": "PF-AP-WDC1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/ifd/errors/{port_circuit_id}", + "method": "errors", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "List of IFD errors", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/ifd/temperature/{port_circuit_id}", + "method": "temperature", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Optic temperature", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/ifd/optic-data/{port_circuit_id}", + "method": "getOpticDataByPortCircuitId", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Optics light level data", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/ifd/whatcast/{port_circuit_id}", + "method": "whatcast", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Broadcast, Multicast and Unicast data for a given IFD", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/ifd/rate/{type}/{port_circuit_id}", + "method": "rate", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Traffic rate (https://docs.packetfabric.com/api/v2/ by IFD", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/virtual-circuits/{vc_circuit_id}/interfaces/{port_circuit_id}/rate/{type}", + "method": "rate", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Traffic rate (https://docs.packetfabric.com/api/v2/ by port circuit id", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "VC circuit id", + "example": "PF-BC-DA1-DA1-1234567" + }, + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port circuit id", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/customer/ifl/rate/{type}", + "method": "customerRateByIfTypeGet", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Traffic rate (https://docs.packetfabric.com/api/v2/ of the current customer by IFL", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/customer/ifl/summary/{type}", + "method": "customerIflSummaryGet", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Summary of all IFL traffic rate (https://docs.packetfabric.com/api/v2/ for the current customer", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/customer/ifd/rate/{type}", + "method": "customerIfdRateData", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Traffic rate (https://docs.packetfabric.com/api/v2/ of the current customer by IFD", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/customer/ifd/summary/{type}", + "method": "customerIfdSummaryGet", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Summary of all IFD traffic rate (https://docs.packetfabric.com/api/v2/ for the current customer", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/customer/longhaul-usage", + "method": "customerLonghaulUsageGet", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Summary of all traffic per day for the current customer", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": false, + "description": "Virtual Circuit (https://docs.packetfabric.com/api/v2/ identifier" + }, + { + "name": "vcCircuitIdList", + "schema": "array", + "required": false, + "description": "List of Virtual Circuit (https://docs.packetfabric.com/api/v2/ identifiers" + }, + { + "name": "includeIflData", + "schema": "boolean", + "required": false, + "description": "Boolean to indicate whether more information on the logical interface (https://docs.packetfabric.com/api/v2/ should be returned", + "default": false + }, + { + "name": "includeVcData", + "schema": "boolean", + "required": false, + "description": "Boolean to indicate whether more information on the Virtual Circuit (https://docs.packetfabric.com/api/v2/ should be returned.", + "default": false + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/rate/{type}", + "method": "cloudRouterConnectionRateGet", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Traffic rate (https://docs.packetfabric.com/api/v2/ of a Layer 3 Interface by cloud router connection", + "parameters": [ + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "Cloud Router connection circuit id", + "example": "PF-CC-GOG-NYC-1234567" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "Type of data being returned (in rate form)", + "example": "TYPE" + }, + { + "name": "since", + "schema": "string", + "description": "A relative time, such as \"12 hours ago\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "24 hours ago" + }, + { + "name": "until", + "schema": "string", + "description": "A relative time, such as \"now\" or \"1 day ago\". Maximum date range is 366 days. If you want a more exact range use `start` and `end` instead.\n", + "example": "1 hour ago", + "default": "now" + }, + { + "name": "start", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "end", + "schema": "string", + "description": "An explicit datetime with optional timezone information, such as \"2020-05-23 00:00:00\", \"2020-05-23T00:00:00.000\", or \"2020-05-23T00:00:00.000Z+02:00\". Timezone defaults to UTC. Maximum date range is 366 days.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "interval", + "schema": "integer", + "description": "Time in seconds used to group the response data", + "example": 3600 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/ipsec", + "method": "getIpsecStatisticsByCloudRouterConnectionCircuitId", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Get IPSec statistics by cloud router connection circuit id", + "parameters": [ + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "Cloud Router connection circuit id", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/metrics/cloud-router-connections/{cloud_connection_circuit_id}/nat", + "method": "getNatStatisticsByCloudRouterConnectionCircuitId", + "httpMethod": "get", + "tag": "Metrics", + "typeScriptTag": "metrics", + "description": "Get NAT statistics by cloud router connection circuit id", + "parameters": [ + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "Cloud Router connection circuit id", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}", + "method": "port", + "httpMethod": "delete", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Delete port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port to delete", + "example": "PF-AP-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}", + "method": "port", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get port info", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}", + "method": "port", + "httpMethod": "patch", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Update a port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Identifier of the port to update", + "example": "PF-AP-LAX1-1234" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "User provided description" + }, + { + "name": "autoneg", + "schema": "boolean", + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/device-info", + "method": "getDeviceInfo", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get port device info", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/letter-of-authorization", + "method": "generateLoa", + "httpMethod": "post", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Generate and email the LOA for this port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "loa_customer_name", + "schema": "string", + "required": true, + "description": "", + "example": "Not The Umbrella Corp." + }, + { + "name": "destination_email", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "destination_emails", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/vlan-summary", + "method": "getVlanSummary", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get a summary of VLANs for a specific port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "includeLogicalInterfaces", + "schema": "boolean", + "required": false, + "description": "Include list of logical interfaces for this port" + }, + { + "name": "minVlan", + "schema": "integer", + "required": false, + "description": "Minimum VLAN ID to include in the summary" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/enable", + "method": "port", + "httpMethod": "post", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Enable this port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Identifier of the port to update", + "example": "PF-AP-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/disable", + "method": "port", + "httpMethod": "post", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Disable this port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Identifier of the port to update", + "example": "PF-AP-LAX1-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/upgrade", + "method": "upgradeSubscriptionTerm", + "httpMethod": "post", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Upgrade subscription term on port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Identifier of the port to upgrade", + "example": "PF-AP-LAX1-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/ports/{port_circuit_id}/router-logs", + "method": "getRouterLogs", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get logs for this port's router", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Port identifier", + "example": "PF-AP-DAL1-12345" + }, + { + "name": "timeFrom", + "schema": "string", + "required": true, + "description": "The ISO 8601 formatted datetime with optional timezone information, to filter from. Timezone defaults to UTC.\n", + "example": "2020-05-23 00:00:00" + }, + { + "name": "timeTo", + "schema": "string", + "required": true, + "description": "The ISO 8601 formatted datetime with optional timezone information, to filter up to. Timezone defaults to UTC.\n", + "example": "2020-05-23 00:00:00" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/ports/{port_circuit_id}/status", + "method": "getServiceStatus", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get Port service status", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports", + "method": "getList", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Get port list", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filter ports by description/circuit id/pop/region", + "example": "LAX" + }, + { + "name": "networkProvider", + "schema": "string", + "required": false, + "description": "Filter ports by network provider. Use \"extended-network\" to filter all non-PacketFabric ports" + }, + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter ports by point of presence", + "example": "LAX1" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter ports by market code", + "example": "LAX" + }, + { + "name": "nearCloudRouter", + "schema": "boolean", + "required": false, + "description": "Filter ports by in-market proximity to a Cloud Router port", + "example": true + }, + { + "name": "natCapable", + "schema": "boolean", + "required": false, + "description": "Filter ports that are NAT capable", + "example": true + }, + { + "name": "isLag", + "schema": "boolean", + "required": false, + "description": "Filter LAG ports", + "example": true + }, + { + "name": "isLagMember", + "schema": "boolean", + "required": false, + "description": "Filter LAG member ports", + "example": true + }, + { + "name": "isPtp", + "schema": "boolean", + "required": false, + "description": "Filter PTP ports", + "example": true + }, + { + "name": "isCloud", + "schema": "boolean", + "required": false, + "description": "Filter cloud ports", + "example": true + }, + { + "name": "isNni", + "schema": "boolean", + "required": false, + "description": "Filter NNI ports", + "example": true + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "The number of results to return per page" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "The offset of results for this page" + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Sort the results" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Order the results" + }, + { + "name": "devicePortType", + "schema": "string", + "required": false, + "description": "Filter ports by the device port type. device_port_type can be specified multiple times with different values.", + "example": "blue" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/ports", + "method": "post", + "httpMethod": "post", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Create a port", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "User provided description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_UUID" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "LAX1" + }, + { + "name": "customer_site_code", + "schema": "string", + "required": false, + "description": "", + "example": "CS-LA2" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "SPEED" + }, + { + "name": "media", + "schema": "string", + "required": true, + "description": "", + "example": "MEDIA" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "autoneg", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "nni", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/ports/export.csv", + "method": "exportCsv", + "httpMethod": "get", + "tag": "Ports", + "typeScriptTag": "ports", + "description": "Export port list to CSV", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filter ports by description/circuit id/pop/region", + "example": "LAX" + }, + { + "name": "networkProvider", + "schema": "string", + "required": false, + "description": "Filter ports by network provider. Use \"extended-network\" to filter all non-PacketFabric ports" + }, + { + "name": "pop", + "schema": "string", + "required": false, + "description": "Filter ports by point of presence", + "example": "LAX1" + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "Filter ports by market code", + "example": "LAX" + }, + { + "name": "nearCloudRouter", + "schema": "boolean", + "required": false, + "description": "Filter ports by in-market proximity to a Cloud Router port", + "example": true + }, + { + "name": "natCapable", + "schema": "boolean", + "required": false, + "description": "Filter ports that are NAT capable", + "example": true + }, + { + "name": "isLag", + "schema": "boolean", + "required": false, + "description": "Filter LAG ports", + "example": true + }, + { + "name": "isLagMember", + "schema": "boolean", + "required": false, + "description": "Filter LAG member ports", + "example": true + }, + { + "name": "isPtp", + "schema": "boolean", + "required": false, + "description": "Filter PTP ports", + "example": true + }, + { + "name": "isCloud", + "schema": "boolean", + "required": false, + "description": "Filter cloud ports", + "example": true + }, + { + "name": "isCloudRouter", + "schema": "boolean", + "required": false, + "description": "Filter cloud router ports", + "example": true + }, + { + "name": "isNni", + "schema": "boolean", + "required": false, + "description": "Filter NNI ports", + "example": true + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "The number of results to return per page" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "The offset of results for this page" + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Sort the results" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Order the results" + }, + { + "name": "devicePortType", + "schema": "string", + "required": false, + "description": "Filter ports by the device port type. device_port_type can be specified multiple times with different values.", + "example": "blue" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes", + "method": "getCustomerQuotes", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get quotes for this customer", + "parameters": [ + { + "name": "statuses", + "schema": "array", + "required": false, + "description": "Only include quotes with the given statuses", + "default": [ + "open", + "updating" + ] + }, + { + "name": "quoteUuid", + "schema": "string", + "required": false, + "description": "Only include the quote with this UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes", + "method": "createNewQuote", + "httpMethod": "post", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Create a quote", + "parameters": [ + { + "name": "title", + "schema": "string", + "required": true, + "description": "", + "example": "TITLE" + }, + { + "name": "custom_terms", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "billing_contact_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "BILLING_CONTACT_UUID" + }, + { + "name": "selected_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "A quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}/duplicate", + "method": "duplicateQuote", + "httpMethod": "post", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Duplicate a quote", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "UUID of the quote to duplicate", + "example": "QUOTE_UUID" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "A quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get a quote's details", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "UUID of the quote", + "example": "QUOTE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}", + "method": "updateQuote", + "httpMethod": "patch", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Update a quote", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "UUID of the quote to update", + "example": "QUOTE_UUID" + }, + { + "name": "title", + "schema": "string", + "description": "" + }, + { + "name": "custom_terms", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + }, + { + "name": "selected_term", + "schema": "integer", + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "A quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}", + "method": "addQuoteLine", + "httpMethod": "post", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Add a quote line to a quote", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "the UUID of the quote to add a line to", + "example": "QUOTE_UUID" + }, + { + "name": "selected_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + }, + { + "name": "product_type", + "schema": "string", + "required": true, + "description": "", + "example": "PRODUCT_TYPE" + }, + { + "name": "product_definition", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "a single product in a quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}/{quote_line_uuid}", + "method": "deleteQuoteLine", + "httpMethod": "delete", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Delete a quote line", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "the UUID of the quote", + "example": "QUOTE_UUID" + }, + { + "name": "quoteLineUuid", + "schema": "string", + "required": true, + "description": "the UUID of the quote line to delete", + "example": "QUOTE_LINE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}/pdf", + "method": "getPdf", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get quote PDF", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "Get the PDF of the quote with this UUID", + "example": "QUOTE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "PDF of the quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}/csv", + "method": "getCsv", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get quote CSV", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "Get the CSV of the quote with this UUID", + "example": "QUOTE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "CSV of the quote" + } + ] + }, + { + "url": "/v2/quotes/{quote_uuid}/publish", + "method": "publishQuote", + "httpMethod": "post", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Publish a quote", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": true, + "description": "UUID of the quote to duplicate", + "example": "QUOTE_UUID" + }, + { + "name": "customer_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "CUSTOMER_UUID" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "A published quote" + } + ] + }, + { + "url": "/v2/quotes/published", + "method": "getPublishedQuotes", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get published quotes created by this customer", + "parameters": [ + { + "name": "quoteUuid", + "schema": "string", + "required": false, + "description": "Only include published quotes created from the quote with this UUID" + }, + { + "name": "assignedCustomerUuid", + "schema": "string", + "required": false, + "description": "Only include published quotes assigned to the customer with this UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes/published/assigned", + "method": "getAssignedQuotes", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get published quotes assigned to this customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/quotes/published/{published_quote_uuid}", + "method": "getPublishedQuoteDetails", + "httpMethod": "get", + "tag": "Portal Quotes", + "typeScriptTag": "portalQuotes", + "description": "Get a published quote's details", + "parameters": [ + { + "name": "publishedQuoteUuid", + "schema": "string", + "required": true, + "description": "UUID of the published quote", + "example": "PUBLISHED_QUOTE_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Published quote details" + } + ] + }, + { + "url": "/v2/request-aliases", + "method": "getAll", + "httpMethod": "get", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Get request aliases associated with your account", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases", + "method": "addNewAlias", + "httpMethod": "post", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Add a new request alias to your account", + "parameters": [ + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "mappings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}", + "method": "deleteAlias", + "httpMethod": "delete", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Delete a request alias from your account", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "A message confirming the deletion of the request alias." + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}", + "method": "byUuid", + "httpMethod": "get", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Get a request alias by UUID", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}", + "method": "updateAlias", + "httpMethod": "patch", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Update a request alias", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "mappings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}/contacts", + "method": "disassociateContacts", + "httpMethod": "delete", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Disassociates several contacts from a request alias", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + }, + { + "name": "contact_uuids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful disassociation of the contacts from the request alias." + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}/contacts", + "method": "getAllContacts", + "httpMethod": "get", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Get all contacts associated with a request alias", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}/contacts", + "method": "associateContacts", + "httpMethod": "post", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Associate several contacts with a single request alias.", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + }, + { + "name": "contact_uuids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/request-aliases/{request_alias_uuid}/contacts/{contact_uuid}", + "method": "disassociateContact", + "httpMethod": "delete", + "tag": "Request Aliases", + "typeScriptTag": "requestAliases", + "description": "Disassociates a contact from a request alias", + "parameters": [ + { + "name": "requestAliasUuid", + "schema": "string", + "required": true, + "description": "The UUID of the target request alias.", + "example": "REQUEST_ALIAS_UUID" + }, + { + "name": "contactUuid", + "schema": "string", + "required": true, + "description": "The UUID of the contact you want to associate with the request alias.", + "example": "CONTACT_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful disassociation of the contact from the request alias." + } + ] + }, + { + "url": "/v2/services", + "method": "getCurrentCustomerServicesList", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get list of current customer's services", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filter VCs by description, circuit id, POP/circuit id of the interface, or aggregate capacity container", + "example": "lax" + }, + { + "name": "portCircuitId", + "schema": "string", + "required": false, + "description": "Filter by port", + "example": "PF-AP-SFO1-58" + }, + { + "name": "serviceType", + "schema": "string", + "required": false, + "description": "Filter service type. service_type can be specificed multiple times with different values.", + "example": "ptp&service_type=ix" + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "The number of results to return per page" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "The offset of results for this page" + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Sort the results" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Order the results" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/export.csv", + "method": "exportCsvList", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get list of current customer's services exported in CSV", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filter VCs by description, circuit id, or POP/circuit id of the interface", + "example": "lax" + }, + { + "name": "portCircuitId", + "schema": "string", + "required": false, + "description": "Filter by port", + "example": "PF-AP-SFO1-58" + }, + { + "name": "serviceType", + "schema": "string", + "required": false, + "description": "Filter service type. service_type can be specificed multiple times with different values.", + "example": "ptp&service_type=ix" + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "The number of results to return per page" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "The offset of results for this page" + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Sort the results" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Order the results" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}", + "method": "service", + "httpMethod": "delete", + "tag": "Services", + "typeScriptTag": "services", + "description": "Delete a service", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}", + "method": "service", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get service info", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}", + "method": "service", + "httpMethod": "patch", + "tag": "Services", + "typeScriptTag": "services", + "description": "Update service settings", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "DA1 to DA1 (https://docs.packetfabric.com/api/v2/" + }, + { + "name": "rate_limit_in", + "schema": "integer", + "description": "", + "example": 1000 + }, + { + "name": "rate_limit_out", + "schema": "integer", + "description": "", + "example": 1000 + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + }, + { + "name": "interfaces", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}/status", + "method": "vcCircuitStatusGet", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get VC service status (https://docs.packetfabric.com/api/v2/", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/{vc_circuit_id}/status", + "method": "getStatus", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get VC service status", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}/upgrade", + "method": "upgradeBillingTerms", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Upgrade service billing terms or speed", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "billing_product_type", + "schema": "string", + "description": "" + }, + { + "name": "subscription_term", + "schema": "integer", + "description": "" + }, + { + "name": "speed", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}/upgrade/options", + "method": "getUpgradeOptions", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get available upgrade options for a specific service", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}/burst", + "method": "deleteBurst", + "httpMethod": "delete", + "tag": "Services", + "typeScriptTag": "services", + "description": "Delete a speed burst, returning circuit to originally configured speed.", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/{vc_circuit_id}/burst", + "method": "addSpeedBurst", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Add speed burst, billed hourly, to your circuit.", + "parameters": [ + { + "name": "vcCircuitId", + "schema": "string", + "required": true, + "description": "Target's Circuit ID.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "speed", + "schema": "string", + "description": "", + "example": "500Mbps" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/backbone", + "method": "createBackboneVc", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Create a backbone or dedicated cloud virtual circuit", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "bandwidth", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "interfaces", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "rate_limit_in", + "schema": "integer", + "required": false, + "description": "", + "example": 1000 + }, + { + "name": "rate_limit_out", + "schema": "integer", + "required": false, + "description": "", + "example": 1000 + }, + { + "name": "epl", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "aggregate_capacity_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-3653" + }, + { + "name": "flex_bandwidth_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-3653" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/third-party", + "method": "create3RdPartyVc", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Create a 3rd-party virtual circuit", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My Third-party VC" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-1RI-OQ85" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "rate_limit_in", + "schema": "integer", + "required": false, + "description": "", + "example": 1000 + }, + { + "name": "rate_limit_out", + "schema": "integer", + "required": false, + "description": "", + "example": 1000 + }, + { + "name": "bandwidth", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "interface", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "service_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "aggregate_capacity_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-1234" + }, + { + "name": "flex_bandwidth_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-3653" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/third-party/hosted/aws", + "method": "requestCloudConnection", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Request a hosted AWS Marketplace Cloud connection with a third party", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My AWS Marketplace Cloud connection" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-1RI-OQ85" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "aws_account_id", + "schema": "string", + "required": true, + "description": "", + "example": 2345678910 + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "service_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/third-party/hosted/azure", + "method": "requestHostedConnection", + "httpMethod": "post", + "tag": "Cloud Services - Azure", + "typeScriptTag": "cloudServicesAzure", + "description": "Request a hosted Azure Marketplace Cloud connection with a third party", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My Azure Marketplace Cloud connection" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-1RI-OQ85" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "azure_service_key", + "schema": "string", + "required": true, + "description": "", + "example": "aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "service_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/third-party/hosted/google", + "method": "requestHostedConnection", + "httpMethod": "post", + "tag": "Cloud Services - Google Cloud", + "typeScriptTag": "cloudServicesGoogleCloud", + "description": "Request a hosted Google Marketplace Cloud connection with a third party", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My Google Marketplace Cloud connection" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-1RI-OQ85" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "google_pairing_key", + "schema": "string", + "required": true, + "description": "", + "example": "7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2" + }, + { + "name": "google_vlan_attachment_name", + "schema": "string", + "required": false, + "description": "", + "example": "rrv-nms-dev-1a2b-vl1-us-west1-1" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "service_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "cloud_settings", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/third-party/hosted/oracle", + "method": "requestHostedConnection", + "httpMethod": "post", + "tag": "Cloud Services - Oracle", + "typeScriptTag": "cloudServicesOracle", + "description": "Request a hosted Oracle Marketplace Cloud connection with a third party", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My Oracle Marketplace Cloud connection" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-1RI-OQ85" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "vc_ocid", + "schema": "string", + "required": true, + "description": "", + "example": "ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq" + }, + { + "name": "region", + "schema": "string", + "required": true, + "description": "", + "example": "REGION" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "WDC2" + }, + { + "name": "service_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipsec/{circuit_id}", + "method": "get", + "httpMethod": "get", + "tag": "Cloud Router IPsec", + "typeScriptTag": "cloudRouterIPsec", + "description": "Gets IPsec-specific details for a connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "IPsec circuit ID or its associated VC.", + "example": "PF-IPSEC-2000" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipsec/{circuit_id}", + "method": "patch", + "httpMethod": "patch", + "tag": "Cloud Router IPsec", + "typeScriptTag": "cloudRouterIPsec", + "description": "Updates IPsec-specific details for a connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "IPsec circuit ID or its associated VC.", + "example": "PF-IPSEC-2000" + }, + { + "name": "customer_gateway_address", + "schema": "string", + "description": "" + }, + { + "name": "ike_version", + "schema": "integer", + "description": "", + "example": 1 + }, + { + "name": "phase1_authentication_method", + "schema": "string", + "description": "", + "example": "pre-shared-key" + }, + { + "name": "phase1_group", + "schema": "string", + "description": "", + "example": "group14" + }, + { + "name": "phase1_encryption_algo", + "schema": "string", + "description": "", + "example": "aes-156-cbc" + }, + { + "name": "phase1_authentication_algo", + "schema": "string", + "description": "", + "example": "sha-384" + }, + { + "name": "phase1_lifetime", + "schema": "integer", + "description": "", + "example": 10800 + }, + { + "name": "phase2_pfs_group", + "schema": "string", + "description": "", + "example": "group14" + }, + { + "name": "phase2_encryption_algo", + "schema": "string", + "description": "", + "example": "aes-156-cbc" + }, + { + "name": "phase2_authentication_algo", + "schema": "string", + "description": "", + "example": "sha-384" + }, + { + "name": "phase2_lifetime", + "schema": "integer", + "description": "", + "example": 28800 + }, + { + "name": "pre_shared_key", + "schema": "string", + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipsec/gateway_address/uniqueness", + "method": "checkGatewayAddressUniqueness", + "httpMethod": "get", + "tag": "Cloud Router IPsec", + "typeScriptTag": "cloudRouterIPsec", + "description": "Checks if IPsec gateway address is unique", + "parameters": [ + { + "name": "gatewayAddress", + "schema": "string", + "required": true, + "description": "The gateway address we want to check for uniqueness.", + "example": "192.0.10.1" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ix", + "method": "createIxVc", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Create a IX VC", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My IX VC" + }, + { + "name": "routing_id", + "schema": "string", + "required": true, + "description": "", + "example": "IX-Z76-YH87" + }, + { + "name": "market", + "schema": "string", + "required": true, + "description": "", + "example": "ATL" + }, + { + "name": "asn", + "schema": "integer", + "required": true, + "description": "", + "example": 4556 + }, + { + "name": "rate_limit_in", + "schema": "integer", + "required": false, + "description": "", + "example": 50 + }, + { + "name": "rate_limit_out", + "schema": "integer", + "required": false, + "description": "", + "example": 50 + }, + { + "name": "bandwidth", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "interface", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "aggregate_capacity_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-3653" + }, + { + "name": "flex_bandwidth_id", + "schema": "string", + "required": false, + "description": "", + "example": "PF-AB-3653" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests", + "method": "listVcRequests", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get list of VC requests", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "Search requests by type", + "example": "TYPE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}", + "method": "deleteRequest", + "httpMethod": "delete", + "tag": "Services", + "typeScriptTag": "services", + "description": "Delete service request", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "UUID of the service request", + "example": "VC_REQUEST_UUID" + }, + { + "name": "delete_reason", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}", + "method": "getByUuid", + "httpMethod": "get", + "tag": "Services", + "typeScriptTag": "services", + "description": "Get VC request by uuid", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "", + "example": "VC_REQUEST_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}/provision", + "method": "service", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Provision requested service", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "", + "example": "VC_REQUEST_UUID" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "500Mbps connection to Vandelay Industries in SAC1" + }, + { + "name": "interface", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}/provision/hosted", + "method": "provisionHosted", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Provision requested Marketplace cloud connection", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "", + "example": "VC_REQUEST_UUID" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "500Mbps connection to Vandelay Industries in SAC1" + }, + { + "name": "provider", + "schema": "string", + "required": true, + "description": "", + "example": "PROVIDER" + }, + { + "name": "interface", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}/provision/cloud-router-connection", + "method": "provisionMarketplaceCloudRouterConnection", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Provision requested Marketplace cloud router connection", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "", + "example": "VC_REQUEST_UUID" + }, + { + "name": "interface", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "bgp_settings", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/requests/{vc_request_uuid}/reject", + "method": "rejectRequest", + "httpMethod": "post", + "tag": "Services", + "typeScriptTag": "services", + "description": "Reject service request", + "parameters": [ + { + "name": "vcRequestUuid", + "schema": "string", + "required": true, + "description": "", + "example": "VC_REQUEST_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/svlan-labels", + "method": "createLabel", + "httpMethod": "post", + "tag": "SVlan Labels", + "typeScriptTag": "sVlanLabels", + "description": "Create SVlan label", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "svlan_id", + "schema": "integer", + "required": true, + "description": "", + "example": 1357 + }, + { + "name": "port_circuit_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-WDC1-10000" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/svlan-labels/{port_circuit_id}", + "method": "getLabelsForPort", + "httpMethod": "get", + "tag": "SVlan Labels", + "typeScriptTag": "sVlanLabels", + "description": "Get SVlan labels for port", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": true, + "description": "Get the SVlan labels for this port", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/svlan-labels/mappings", + "method": "getLabels", + "httpMethod": "get", + "tag": "SVlan Labels", + "typeScriptTag": "sVlanLabels", + "description": "Get SVlan labels for the logged-in customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/svlan-labels/{svlan_label_uuid}", + "method": "deleteLabel", + "httpMethod": "delete", + "tag": "SVlan Labels", + "typeScriptTag": "sVlanLabels", + "description": "Delete this SVlan label", + "parameters": [ + { + "name": "svlanLabelUuid", + "schema": "string", + "required": true, + "description": "SVlan label to delete", + "example": "SVLAN_LABEL_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/svlan-labels/{svlan_label_uuid}", + "method": "updateLabelByUuid", + "httpMethod": "patch", + "tag": "SVlan Labels", + "typeScriptTag": "sVlanLabels", + "description": "Update this SVlan label", + "parameters": [ + { + "name": "svlanLabelUuid", + "schema": "string", + "required": true, + "description": "SVlan label to update", + "example": "SVLAN_LABEL_UUID" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "a label for my SVlan" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users", + "method": "getList", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Get list of users", + "parameters": [ + { + "name": "q", + "schema": "string", + "description": "Searches for this string in the user name or e-mail" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/users", + "method": "post", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Create new user", + "parameters": [ + { + "name": "first_name", + "schema": "string", + "required": true, + "description": "", + "example": "John" + }, + { + "name": "last_name", + "schema": "string", + "required": true, + "description": "", + "example": "Galt" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "user@example.com" + }, + { + "name": "phone", + "schema": "string", + "required": true, + "description": "", + "example": "111-111-1111" + }, + { + "name": "login", + "schema": "string", + "required": true, + "description": "", + "example": "john" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "*****" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "MST" + }, + { + "name": "group", + "schema": "string", + "required": true, + "description": "", + "example": "admin" + }, + { + "name": "groups", + "schema": "array", + "required": false, + "description": "", + "example": [ + "admin" + ] + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}", + "method": "deleteUser", + "httpMethod": "delete", + "tag": "Users", + "typeScriptTag": "users", + "description": "Deletes a user", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "Login of the user to delete", + "example": "USER_LOGIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}", + "method": "getUserDetailsByLogin", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Fetch user details by a user login", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "Login of the user to fetch", + "example": "USER_LOGIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}", + "method": "patch", + "httpMethod": "patch", + "tag": "Users", + "typeScriptTag": "users", + "description": "Modify a user", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "The user with this login will be modified", + "example": "USER_LOGIN" + }, + { + "name": "first_name", + "schema": "string", + "description": "", + "example": "John" + }, + { + "name": "last_name", + "schema": "string", + "description": "", + "example": "Galt" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "user@example.com" + }, + { + "name": "password", + "schema": "string", + "description": "", + "example": "p4ssw0rd" + }, + { + "name": "phone", + "schema": "string", + "description": "", + "example": "111-111-1111" + }, + { + "name": "login", + "schema": "string", + "description": "", + "example": "john" + }, + { + "name": "timezone", + "schema": "string", + "description": "", + "example": "MST" + }, + { + "name": "disabled", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "group", + "schema": "string", + "description": "", + "example": "admin" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{uuid}", + "method": "getDetailsByUuid", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Fetch user details by a UUID", + "parameters": [ + { + "name": "uuid", + "schema": "string", + "required": true, + "description": "UUID of the user to fetch", + "example": "UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}/groups", + "method": "listUserGroups", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Get the list of groups of a given user", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "Login of the user to fetch groups for", + "example": "USER_LOGIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}/groups/{group_name}", + "method": "deleteFromGroup", + "httpMethod": "delete", + "tag": "Users", + "typeScriptTag": "users", + "description": "Delete a user from a given group", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "", + "example": "USER_LOGIN" + }, + { + "name": "groupName", + "schema": "string", + "required": true, + "description": "Group name to delete user from. Check the list and the meaning of\nthe default groups here: https://docs.packetfabric.com/admin/user/groups/\n", + "example": "GROUP_NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}/groups/{group_name}", + "method": "addToGroup", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Add user to group", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "User login", + "example": "USER_LOGIN" + }, + { + "name": "groupName", + "schema": "string", + "required": true, + "description": "Group name to add user to. Check the list and the meaning of\nthe default groups here: https://docs.packetfabric.com/admin/user/groups/\n", + "example": "GROUP_NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/request-password-reset", + "method": "requestPasswordReset", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Sends the user an email with a link to reset a forgotten password", + "parameters": [ + { + "name": "user_login", + "schema": "string", + "required": true, + "description": "", + "example": "USER_LOGIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/reset-password", + "method": "setNewPassword", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Sets a new password for a user", + "parameters": [ + { + "name": "new_password", + "schema": "string", + "required": true, + "description": "", + "example": "p4ssw0rd" + }, + { + "name": "rt", + "schema": "string", + "required": true, + "description": "", + "example": "RT" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/{user_login}/password", + "method": "updatePassword", + "httpMethod": "patch", + "tag": "Users", + "typeScriptTag": "users", + "description": "Sets a new password for a user", + "parameters": [ + { + "name": "userLogin", + "schema": "string", + "required": true, + "description": "Password of the user with this login will be modified", + "example": "USER_LOGIN" + }, + { + "name": "new_password", + "schema": "string", + "required": true, + "description": "", + "example": "p4ssw0rd" + }, + { + "name": "old_password", + "schema": "string", + "required": true, + "description": "", + "example": "p4ssw0rd" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/mfa/setup", + "method": "generateSecretScratchCodes", + "httpMethod": "post", + "tag": "Multi-Factor Authentication", + "typeScriptTag": "multiFactorAuthentication", + "description": "Generate a user secret and scratch codes", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/mfa/enable", + "method": "enableUserAuth", + "httpMethod": "post", + "tag": "Multi-Factor Authentication", + "typeScriptTag": "multiFactorAuthentication", + "description": "Enable multi-factor authentication for the user", + "parameters": [ + { + "name": "authentication_code", + "schema": "string", + "required": true, + "description": "", + "example": 123456 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/mfa/disable", + "method": "disableUserMfa", + "httpMethod": "post", + "tag": "Multi-Factor Authentication", + "typeScriptTag": "multiFactorAuthentication", + "description": "Disable multi-factor authentication for the user", + "parameters": [ + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "p4ssw0rd" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/users/mfa/qrcode", + "method": "generateQrCodeImage", + "httpMethod": "get", + "tag": "Multi-Factor Authentication", + "typeScriptTag": "multiFactorAuthentication", + "description": "Return a QR code image used for setup", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/team-invites", + "method": "listInvitedUsers", + "httpMethod": "get", + "tag": "TeamSignup", + "typeScriptTag": "teamSignup", + "description": "Get list of team signup invitations", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/team-invites", + "method": "sendInvitationEmails", + "httpMethod": "post", + "tag": "TeamSignup", + "typeScriptTag": "teamSignup", + "description": "Sign-up and send invitation emails to a list of new users, assigned to current customer", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/team-invites/{signup_uuid}", + "method": "getDetails", + "httpMethod": "get", + "tag": "TeamSignup", + "typeScriptTag": "teamSignup", + "description": "Get details of a team signup invitation", + "parameters": [ + { + "name": "signupUuid", + "schema": "string", + "required": true, + "description": "UUID of the invitation", + "example": "SIGNUP_UUID" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/team-invites/{signup_uuid}/resend", + "method": "resendInvitation", + "httpMethod": "post", + "tag": "TeamSignup", + "typeScriptTag": "teamSignup", + "description": "Resend team invitation", + "parameters": [ + { + "name": "signupUuid", + "schema": "string", + "required": true, + "description": "UUID of the invitation", + "example": "SIGNUP_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/team-invites/{signup_uuid}/user", + "method": "createUserBasedOnInvitation", + "httpMethod": "post", + "tag": "TeamSignup", + "typeScriptTag": "teamSignup", + "description": "Create a new user based on team signup invitation", + "parameters": [ + { + "name": "signupUuid", + "schema": "string", + "required": true, + "description": "UUID of the invitation", + "example": "SIGNUP_UUID" + }, + { + "name": "first_name", + "schema": "string", + "required": true, + "description": "", + "example": "John" + }, + { + "name": "last_name", + "schema": "string", + "required": true, + "description": "", + "example": "Galt" + }, + { + "name": "phone", + "schema": "string", + "required": true, + "description": "", + "example": "111-111-1111" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "*****" + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "MST" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/objects/{circuit_id}/labels", + "method": "getLabels", + "httpMethod": "get", + "tag": "Objects", + "typeScriptTag": "objects", + "description": "Get the Labels associated with an object", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the object", + "example": "CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/objects/{circuit_id}/labels", + "method": "object", + "httpMethod": "patch", + "tag": "Objects", + "typeScriptTag": "objects", + "description": "Add to an object's labels", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the object to be updated", + "example": "CIRCUIT_ID" + }, + { + "name": "label_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "labels", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/objects/{circuit_id}/labels", + "method": "object", + "httpMethod": "put", + "tag": "Objects", + "typeScriptTag": "objects", + "description": "Update an object label", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the object to be updated", + "example": "CIRCUIT_ID" + }, + { + "name": "label_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "labels", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/outbound-cross-connects", + "method": "list", + "httpMethod": "get", + "tag": "Outbound Cross Connects", + "typeScriptTag": "outboundCrossConnects", + "description": "Get the outbound cross connects associated with the current customer", + "parameters": [ + { + "name": "port", + "schema": "string", + "required": false, + "description": "List OBCC by port_circuit_id", + "example": "port-circuit-id" + }, + { + "name": "showDeleted", + "schema": "boolean", + "required": false, + "description": "Include deleted OBCCs in list", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/outbound-cross-connects", + "method": "createNew", + "httpMethod": "post", + "tag": "Outbound Cross Connects", + "typeScriptTag": "outboundCrossConnects", + "description": "Create a new outbound cross connect", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "Cross connect for a demo" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-SO-ME-111" + }, + { + "name": "site", + "schema": "string", + "required": true, + "description": "", + "example": "DR-ATL1" + }, + { + "name": "document_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "55A7A654-4C3C-4C69-BCBE-755790F0417C" + }, + { + "name": "destination_name", + "schema": "string", + "required": false, + "description": "", + "example": "Destination company name" + }, + { + "name": "destination_circuit_id", + "schema": "string", + "required": false, + "description": "", + "example": "Destination circuit id" + }, + { + "name": "panel", + "schema": "string", + "required": false, + "description": "", + "example": "Panel" + }, + { + "name": "module", + "schema": "string", + "required": false, + "description": "", + "example": "Module" + }, + { + "name": "position", + "schema": "string", + "required": false, + "description": "", + "example": "Position" + }, + { + "name": "data_center_cross_connect_id", + "schema": "string", + "required": false, + "description": "", + "example": "SUPER-COOL-NAME" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/outbound-cross-connects/{outbound_cross_connect_id}", + "method": "deleteCrossConnect", + "httpMethod": "delete", + "tag": "Outbound Cross Connects", + "typeScriptTag": "outboundCrossConnects", + "description": "Delete an outbound cross connect", + "parameters": [ + { + "name": "outboundCrossConnectId", + "schema": "string", + "required": true, + "description": "id of the cross connect", + "example": "OUTBOUND_CROSS_CONNECT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Outbound Cross Connect successfully deleted" + } + ] + }, + { + "url": "/v2/outbound-cross-connects/{outbound_cross_connect_id}", + "method": "getOne", + "httpMethod": "get", + "tag": "Outbound Cross Connects", + "typeScriptTag": "outboundCrossConnects", + "description": "Get a single outbound cross connect", + "parameters": [ + { + "name": "outboundCrossConnectId", + "schema": "string", + "required": true, + "description": "id of the cross connect", + "example": "OUTBOUND_CROSS_CONNECT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/outbound-cross-connects/{outbound_cross_connect_id}", + "method": "updateSingle", + "httpMethod": "patch", + "tag": "Outbound Cross Connects", + "typeScriptTag": "outboundCrossConnects", + "description": "Patch a single outbound cross connect", + "parameters": [ + { + "name": "outboundCrossConnectId", + "schema": "string", + "required": true, + "description": "id of the cross connect", + "example": "OUTBOUND_CROSS_CONNECT_ID" + }, + { + "name": "user_description", + "schema": "string", + "description": "", + "example": "description for the cross connect" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Outbound Cross Connect object" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}", + "method": "deletePointToPoint", + "httpMethod": "delete", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Delete a point-to-point service", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID of the point-to-point service to delete", + "example": "PTP_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}", + "method": "getServiceInfo", + "httpMethod": "get", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Get point-to-point service info", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID or Circuit ID of the point-to-point service to fetch", + "example": "PTP_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}", + "method": "updateDescription", + "httpMethod": "patch", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Update a point-to-point service", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID of the point-to-point service to update", + "example": "PTP_UUID" + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point", + "method": "getAll", + "httpMethod": "get", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Get all point-to-point services", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": false, + "description": "Filter PTPs by description, circuit id, or POP/circuit id/market of the interfaces", + "example": "LAX" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point", + "method": "createService", + "httpMethod": "post", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Create a point-to-point service", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "SPEED" + }, + { + "name": "media", + "schema": "string", + "required": true, + "description": "", + "example": "MEDIA" + }, + { + "name": "endpoints", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_UUID" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}/status", + "method": "getServiceStatus", + "httpMethod": "get", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Get point-to-point service status (https://docs.packetfabric.com/api/v2/", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID of the point-to-point service to fetch status for", + "example": "PTP_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/point-to-point/{ptp_circuit_id}/status", + "method": "getServiceStatus", + "httpMethod": "get", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Get point-to-point service status", + "parameters": [ + { + "name": "ptpCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the point-to-point service to fetch status for", + "example": "PF-PD-NYC-AUS-1734406" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}/upgrade", + "method": "upgradePtpUuid", + "httpMethod": "post", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Upgrade a point-to-point service to a new subscription term", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID of the point-to-point service to upgrade", + "example": "PTP_UUID" + }, + { + "name": "subscription_term", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/point-to-point/{ptp_uuid}/upgrade/options", + "method": "getUpgradeOptions", + "httpMethod": "get", + "tag": "PTP Services", + "typeScriptTag": "ptpServices", + "description": "Get upgrade options for a point-to-point service upgrade to a new subscription term", + "parameters": [ + { + "name": "ptpUuid", + "schema": "string", + "required": true, + "description": "UUID of the point-to-point service to fetch upgrade options for", + "example": "PTP_UUID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers", + "method": "listAssociated", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Returns a list of cloud routers associated with the current account.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers", + "method": "createNew", + "httpMethod": "post", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Creates a new Cloud Router and then returns it.", + "parameters": [ + { + "name": "scope", + "schema": "string", + "required": false, + "description": "", + "example": "private" + }, + { + "name": "asn", + "schema": "integer", + "required": false, + "description": "", + "example": 4556, + "default": 4556 + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Super Cool Cloud router" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_UUID" + }, + { + "name": "regions", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "capacity", + "schema": "string", + "required": true, + "description": "", + "example": "10Gbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12, + "default": 1 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/export.csv", + "method": "downloadAsCsv", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Download customer cloud routers as csv", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}", + "method": "deleteRouter", + "httpMethod": "delete", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Deletes a cloud router. Note that all connections must be deleted first.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}", + "method": "getByCircuitId", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Returns a cloud router associated with the circuit id.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}", + "method": "updateExisting", + "httpMethod": "patch", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Update an existing Cloud Router.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "New Super Cool Cloud router" + }, + { + "name": "regions", + "schema": "array", + "description": "" + }, + { + "name": "capacity", + "schema": "string", + "description": "", + "example": "10Gbps" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/requests", + "method": "listImportRequests", + "httpMethod": "get", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Returns a list of Cloud Router Imports Requests.", + "parameters": [ + { + "name": "requestType", + "schema": "array", + "required": true, + "description": "Type of the Cloud Router Import Request." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/requests/{import_circuit_id}", + "method": "deleteRequest", + "httpMethod": "delete", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Deletes a Cloud Router Imports Request associated with the circuit id.", + "parameters": [ + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "PF-L3-IMP-15626" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/requests/{import_circuit_id}", + "method": "importsRequestGet", + "httpMethod": "get", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Returns a single Cloud Router Imports Request associated with the circuit id.", + "parameters": [ + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "PF-L3-IMP-15626" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/requests/{import_circuit_id}/accept", + "method": "acceptImportCircuit", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Accepts a single Cloud Router Imports Request associated with the circuit id.", + "parameters": [ + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "PF-L3-IMP-15626" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/requests/{import_circuit_id}/reject", + "method": "rejectImportCircuit", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Rejects a single Cloud Router Imports Request associated with the circuit id.", + "parameters": [ + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "PF-L3-IMP-15626" + }, + { + "name": "rejection_reason", + "schema": "string", + "description": "", + "example": "Return filters are too broad." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp", + "method": "listBgpSessions", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "List BGP sessions associated with a Cloud Router connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-AE-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp", + "method": "createL3Info", + "httpMethod": "post", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Creates a new BGP session and associated L3 information on a cloud router connection and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-AE-1234" + }, + { + "name": "md5", + "schema": "string", + "required": false, + "description": "", + "example": "$9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt" + }, + { + "name": "l3_address", + "schema": "string", + "required": false, + "description": "", + "example": "10.0.0.1/30" + }, + { + "name": "primary_subnet", + "schema": "string", + "required": false, + "description": "", + "example": "10.0.0.1/30" + }, + { + "name": "secondary_subnet", + "schema": "string", + "required": false, + "description": "", + "example": "10.0.0.1/30" + }, + { + "name": "address_family", + "schema": "string", + "required": false, + "description": "", + "example": "v4" + }, + { + "name": "remote_address", + "schema": "string", + "required": false, + "description": "", + "example": "10.0.0.1" + }, + { + "name": "remote_asn", + "schema": "integer", + "required": true, + "description": "", + "example": 4556 + }, + { + "name": "multihop_ttl", + "schema": "integer", + "required": false, + "description": "", + "example": 1, + "default": 1 + }, + { + "name": "local_preference", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "med", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "community", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "as_prepend", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "orlonger", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "bfd_interval", + "schema": "integer", + "required": false, + "description": "", + "example": 300 + }, + { + "name": "bfd_multiplier", + "schema": "integer", + "required": false, + "description": "", + "example": 3 + }, + { + "name": "disabled", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "prefixes", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "nat", + "schema": "undefined", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp", + "method": "updateSessionInfo", + "httpMethod": "put", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Updates an existing BGP session and associated L3 information.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-AE-1234" + }, + { + "name": "prefixes", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "md5", + "schema": "string", + "required": false, + "description": "", + "example": "$9$oeJZjqmTn9Af5RhylMW-VwgJDHqfFnCZU.5QFAt" + }, + { + "name": "l3_address", + "schema": "string", + "required": true, + "description": "", + "example": "10.0.0.1/30" + }, + { + "name": "address_family", + "schema": "string", + "required": false, + "description": "", + "example": "v4" + }, + { + "name": "remote_address", + "schema": "string", + "required": false, + "description": "", + "example": "10.0.0.1" + }, + { + "name": "remote_asn", + "schema": "integer", + "required": true, + "description": "", + "example": 4556 + }, + { + "name": "multihop_ttl", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "local_preference", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "med", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "community", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "as_prepend", + "schema": "integer", + "required": false, + "description": "", + "example": 1 + }, + { + "name": "orlonger", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "bfd_interval", + "schema": "integer", + "required": false, + "description": "", + "example": 300 + }, + { + "name": "bfd_multiplier", + "schema": "integer", + "required": false, + "description": "", + "example": 3 + }, + { + "name": "disabled", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "bgp_settings_uuid", + "schema": "string", + "required": false, + "description": "", + "example": "862386eb-df01-436b-8346-e16c8023e4d1" + }, + { + "name": "nat", + "schema": "undefined", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}", + "method": "deleteSingleSession", + "httpMethod": "delete", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Delete a single BGP session from a cloud router connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-AE-1234" + }, + { + "name": "bgpSettingsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the specific BGP session you want to get.", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}/bgp/{bgp_settings_uuid}", + "method": "getSingleSession", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Get a single BGP session associated with a Cloud Router connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-AE-1234" + }, + { + "name": "bgpSettingsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the specific BGP session you want to get.", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections", + "method": "listForCircuit", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Lists all cloud router connections for a given router.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/connections/export.csv", + "method": "downloadCsv", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Download cloud routers connections as csv", + "parameters": [ + { + "name": "cloudRouterCircuitId", + "schema": "string", + "required": false, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-1400" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/address_is_unique", + "method": "checkBgpAddressUnique", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Checks to make sure the bgp addresses are unique", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "l3_address", + "schema": "string", + "description": "", + "example": "10.0.0.1/32" + }, + { + "name": "remote_address", + "schema": "string", + "description": "", + "example": "10.0.0.1" + }, + { + "name": "pool_prefix", + "schema": "string", + "description": "", + "example": "10.0.0.0/32" + }, + { + "name": "cloud_circuit_id", + "schema": "string", + "description": "", + "example": "PF-L3-CON-2843831" + }, + { + "name": "bgp_settings_uuid", + "schema": "string", + "description": "", + "example": "3d78949f-1396-4163-b0ca-3eba3592efef" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/connections", + "method": "listAll", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Lists all of the customer's cloud router connections.", + "parameters": [ + { + "name": "portCircuitId", + "schema": "string", + "required": false, + "description": "Filter Dedicated Port connections by their Port Cicuit ID.", + "example": "PF-AP-LAB1-123456" + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "Number of records to skip", + "example": 20 + }, + { + "name": "pageSize", + "schema": "integer", + "required": false, + "description": "Number of records to show", + "example": 10 + }, + { + "name": "sortColumn", + "schema": "string", + "required": false, + "description": "Column to sort results on" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "Pagination sort order." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}", + "method": "deleteByCircuitConnectionId", + "httpMethod": "delete", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Delete a cloud router connection by circuit id.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection.", + "example": "PF-CC-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}", + "method": "getSingleByCircuitId", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Get a single cloud router connection by circuit id.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection.", + "example": "PF-CC-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_circuit_id}", + "method": "updateConnection", + "httpMethod": "patch", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Update a Cloud Router Connection", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionCircuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection to update.", + "example": "PF-CC-1234" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "New Super Cool Cloud Router Connection" + }, + { + "name": "cloud_settings", + "schema": "undefined", + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/connections/{circuit_id}", + "method": "getByCircuitId", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Get a single cloud router connection by circuit id.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "The circuit ID of the connection.", + "example": "PF-CC-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{cloud_connection_uuid}", + "method": "deleteConnection", + "httpMethod": "delete", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Delete a cloud router connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudConnectionUuid", + "schema": "string", + "required": true, + "description": "Target cloud connection's UUID.", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/third-party", + "method": "createRequest", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Creates a new Marketplace Cloud Router Connection request and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "My Marketplace Cloud Router connection" + }, + { + "name": "prefixes", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "service_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICE_UUID" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12, + "default": 1 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/aws", + "method": "createAwsConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new AWS connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "AWS Hosted connection for Foo Corp" + }, + { + "name": "aws_account_id", + "schema": "string", + "required": true, + "description": "", + "example": 2345678910 + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "is_public", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/aws", + "method": "createAwsConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new AWS connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "AWS Hosted connection for Foo Corp" + }, + { + "name": "aws_account_id", + "schema": "string", + "required": true, + "description": "", + "example": 2345678910 + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "is_public", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/azure", + "method": "createAzureConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Azure ExpressRoute connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Azure ExpressRoute Hosted connection for Foo Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "azure_service_key", + "schema": "string", + "required": true, + "description": "", + "example": "aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "is_public", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/azure", + "method": "createAzureExpressRouteConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Azure ExpressRoute connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Azure ExpressRoute Hosted connection for Foo Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "azure_service_key", + "schema": "string", + "required": true, + "description": "", + "example": "aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "is_public", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/google", + "method": "createGoogleConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Google connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Test description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "google_pairing_key", + "schema": "string", + "required": false, + "description": "", + "example": "7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2" + }, + { + "name": "google_vlan_attachment_name", + "schema": "string", + "required": false, + "description": "", + "example": "rrv-nms-dev-1a2b-vl1-us-west1-1" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/google", + "method": "createGoogleConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Google connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Test description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "google_pairing_key", + "schema": "string", + "required": false, + "description": "", + "example": "7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2" + }, + { + "name": "google_vlan_attachment_name", + "schema": "string", + "required": false, + "description": "", + "example": "rrv-nms-dev-1a2b-vl1-us-west1-1" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/ibm", + "method": "createIbmConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new IBM connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "ibm_account_id", + "schema": "string", + "required": true, + "description": "", + "example": "57a7d05f36894e3cb9b46a43556d903e" + }, + { + "name": "ibm_bgp_asn", + "schema": "integer", + "required": true, + "description": "", + "example": 64999 + }, + { + "name": "ibm_bgp_cer_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.78/30" + }, + { + "name": "ibm_bgp_ibm_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.77/30" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "1Gbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/ibm", + "method": "createIbmConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new IBM connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "ibm_account_id", + "schema": "string", + "required": true, + "description": "", + "example": "57a7d05f36894e3cb9b46a43556d903e" + }, + { + "name": "ibm_bgp_asn", + "schema": "integer", + "required": true, + "description": "", + "example": 64999 + }, + { + "name": "ibm_bgp_cer_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.78/30" + }, + { + "name": "ibm_bgp_ibm_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.77/30" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "1Gbps" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/ipsec", + "method": "createIpsecConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new IPSec connection on a cloud router.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Test description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "ike_version", + "schema": "integer", + "required": true, + "description": "", + "example": 1 + }, + { + "name": "phase1_authentication_method", + "schema": "string", + "required": true, + "description": "", + "example": "pre-shared-key" + }, + { + "name": "phase1_group", + "schema": "string", + "required": true, + "description": "", + "example": "group14" + }, + { + "name": "phase1_encryption_algo", + "schema": "string", + "required": true, + "description": "", + "example": "aes-156-cbc" + }, + { + "name": "phase1_authentication_algo", + "schema": "string", + "required": true, + "description": "", + "example": "sha-384" + }, + { + "name": "phase1_lifetime", + "schema": "integer", + "required": true, + "description": "", + "example": 10800 + }, + { + "name": "phase2_pfs_group", + "schema": "string", + "required": true, + "description": "", + "example": "group14" + }, + { + "name": "phase2_encryption_algo", + "schema": "string", + "required": true, + "description": "", + "example": "3des-cbc" + }, + { + "name": "phase2_authentication_algo", + "schema": "string", + "required": false, + "description": "", + "example": "hmac-sha-256-128" + }, + { + "name": "phase2_lifetime", + "schema": "integer", + "required": true, + "description": "", + "example": 28800 + }, + { + "name": "gateway_address", + "schema": "string", + "required": true, + "description": "", + "example": "127.0.0.1" + }, + { + "name": "shared_key", + "schema": "string", + "required": true, + "description": "", + "example": "superCoolKey" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/oracle", + "method": "createOracleConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Oracle connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "vc_ocid", + "schema": "string", + "required": true, + "description": "", + "example": "ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq" + }, + { + "name": "region", + "schema": "string", + "required": true, + "description": "", + "example": "REGION" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/oracle", + "method": "createOracleConnection", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Creates a new Oracle connection on a cloud router and returns it.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "vc_ocid", + "schema": "string", + "required": true, + "description": "", + "example": "ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq" + }, + { + "name": "region", + "schema": "string", + "required": true, + "description": "", + "example": "REGION" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/packetfabric", + "method": "attachPort", + "httpMethod": "post", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Attaches a customer-owned port to a Cloud Router.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Test description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "maybe_nat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "maybe_dnat", + "schema": "boolean", + "required": false, + "description": "", + "example": false, + "default": false + }, + { + "name": "port_circuit_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AE-1234" + }, + { + "name": "untagged", + "schema": "boolean", + "required": false, + "description": "", + "example": true + }, + { + "name": "vlan", + "schema": "integer", + "required": false, + "description": "", + "example": 6 + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "is_public", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "public_nat_pool", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status", + "method": "getInstanceStatus", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Get cloud connection instance status", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Target cloud connection's Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/upgrade/options", + "method": "getUpgradeOptions", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Get cloud connection upgrade options", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Target cloud connection's Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/bgp-routes", + "method": "getConnectionBgpRoutes", + "httpMethod": "get", + "tag": "Cloud Router BGP Session Settings", + "typeScriptTag": "cloudRouterBgpSessionSettings", + "description": "Get routes for the BGP session of a specific connection.", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + }, + { + "name": "routeType", + "schema": "array", + "required": true, + "description": "Type of the bgp routes" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud-routers/{circuit_id}/connections/{connection_circuit_id}/status", + "method": "getStatus", + "httpMethod": "get", + "tag": "Cloud Router Connections", + "typeScriptTag": "cloudRouterConnections", + "description": "Get CR connection status", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Target's CR Circuit ID.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Target's CR Connection Circuit ID.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/bgp-routes", + "method": "getBgpRoutes", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Get routes for this cloud router's bgp sessions", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "routeType", + "schema": "array", + "required": true, + "description": "Type of the bgp routes" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/all-routes", + "method": "getAllRoutes", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Get all routes for this cloud router", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{circuit_id}/bgp-logs", + "method": "getBgpLogs", + "httpMethod": "get", + "tag": "Cloud Routers", + "typeScriptTag": "cloudRouters", + "description": "Get logs for this cloud router's bgp sessions", + "parameters": [ + { + "name": "circuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target cloud router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "cloudCircuitId", + "schema": "string", + "required": false, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + }, + { + "name": "timeFrom", + "schema": "string", + "required": true, + "description": "Get BGP logs starting from this time", + "example": "2020-04-01T19:14:42.642Z" + }, + { + "name": "timeTo", + "schema": "string", + "required": true, + "description": "Get BGP logs up until this time", + "example": "2020-04-01T19:14:42.642Z" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party", + "method": "listImports", + "httpMethod": "get", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Returns a list of Cloud Router Imports applied on a Connection.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party", + "method": "importToConnection", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Apply a new Cloud Router Import to this Cloud Router Connection.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + }, + { + "name": "service_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICE_UUID" + }, + { + "name": "import_filters", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "return_filters", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "example": 12 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}", + "method": "removeConnectionImport", + "httpMethod": "delete", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Remove a Cloud Router Import from this Connection.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + }, + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "IMPORT_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}", + "method": "getSingleImport", + "httpMethod": "get", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Returns a single Cloud Router Import associated with the circuit id.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + }, + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "IMPORT_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/{import_circuit_id}", + "method": "updateImportById", + "httpMethod": "patch", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Updates a Cloud Router Import associated with this circuit id.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + }, + { + "name": "importCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Cloud Router third-party service import.", + "example": "IMPORT_CIRCUIT_ID" + }, + { + "name": "import_filters", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "return_filters", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/connections/{connection_circuit_id}/third-party/delete-multiple", + "method": "removeMultiple", + "httpMethod": "post", + "tag": "Cloud Router Third Party", + "typeScriptTag": "cloudRouterThirdParty", + "description": "Remove multiple Cloud Router Imports by Circuit Id.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "connectionCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router Connection.", + "example": "PF-CC-123456" + }, + { + "name": "import_circuit_ids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/route-sets", + "method": "getList", + "httpMethod": "get", + "tag": "Cloud Router Route Sets", + "typeScriptTag": "cloudRouterRouteSets", + "description": "Returns a list of Route Sets on this Cloud Router.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}", + "method": "getSingleRouteSet", + "httpMethod": "get", + "tag": "Cloud Router Route Sets", + "typeScriptTag": "cloudRouterRouteSets", + "description": "Returns a single Route Set associated with the circuit id.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "routeSetCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Route Set.", + "example": "PF-L3-RS-123456" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}", + "method": "updateRouteSet", + "httpMethod": "patch", + "tag": "Cloud Router Route Sets", + "typeScriptTag": "cloudRouterRouteSets", + "description": "Updates a Route Set associated with this circuit id.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "routeSetCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Route Set.", + "example": "PF-L3-RS-123456" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "User entered description" + }, + { + "name": "prefixes", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections", + "method": "getConnections", + "httpMethod": "get", + "tag": "Cloud Router Route Sets", + "typeScriptTag": "cloudRouterRouteSets", + "description": "Returns the list of connections this Route Set is defined from.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "routeSetCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Route Set.", + "example": "PF-L3-RS-9087" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud-routers/{cr_circuit_id}/route-sets/{route_set_circuit_id}/connections", + "method": "updateConnections", + "httpMethod": "put", + "tag": "Cloud Router Route Sets", + "typeScriptTag": "cloudRouterRouteSets", + "description": "Updates the list of connections this Route Set is defined from.", + "parameters": [ + { + "name": "crCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the target Cloud Router.", + "example": "PF-L3-CUST-2" + }, + { + "name": "routeSetCircuitId", + "schema": "string", + "required": true, + "description": "Circuit ID of the Route Set.", + "example": "PF-L3-RS-9087" + }, + { + "name": "connection_circuit_ids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/aws", + "method": "requestHostedConnection", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Request a new hosted AWS connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "AWS Hosted connection for Foo Corp" + }, + { + "name": "aws_account_id", + "schema": "string", + "required": true, + "description": "", + "example": 2345678910 + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "vlan", + "schema": "integer", + "required": true, + "description": "", + "example": 6 + }, + { + "name": "src_svlan", + "schema": "integer", + "required": false, + "description": "", + "example": 100 + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/dedicated/aws", + "method": "requestConnection", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Request a new dedicated AWS connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "AWS Hosted connection for Foo Corp" + }, + { + "name": "aws_region", + "schema": "string", + "required": true, + "description": "", + "example": "us-west-1" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "customer_site_code", + "schema": "string", + "required": false, + "description": "", + "example": "SW-LAS8" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 1 + }, + { + "name": "service_class", + "schema": "string", + "required": true, + "description": "", + "example": "longhaul" + }, + { + "name": "autoneg", + "schema": "boolean", + "required": true, + "description": "", + "example": false + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "1Gbps" + }, + { + "name": "should_create_lag", + "schema": "boolean", + "required": false, + "description": "", + "example": true + }, + { + "name": "loa", + "schema": "string", + "required": false, + "description": "", + "example": "SSBhbSBhIFBERg==" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/azure/service-key-validation/{azure_service_key}", + "method": "validateServiceKey", + "httpMethod": "get", + "tag": "Cloud Services - Azure", + "typeScriptTag": "cloudServicesAzure", + "description": "Validate an Azure service key.", + "parameters": [ + { + "name": "azureServiceKey", + "schema": "string", + "required": true, + "description": "The Service Key provided by Microsoft Azure.", + "example": "aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/azure", + "method": "requestNewExpressRoute", + "httpMethod": "post", + "tag": "Cloud Services - Azure", + "typeScriptTag": "cloudServicesAzure", + "description": "Request a new AzureExpressRoute hosted connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Azure ExpressRoute Hosted connection for Foo Corp." + }, + { + "name": "azure_service_key", + "schema": "string", + "required": true, + "description": "", + "example": "aaaa0000-a0a0-a0a0-a0a0-aaaa0000aaaa" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "vlan_private", + "schema": "integer", + "required": false, + "description": "", + "example": 6 + }, + { + "name": "vlan_microsoft", + "schema": "integer", + "required": false, + "description": "", + "example": 7 + }, + { + "name": "src_svlan", + "schema": "integer", + "required": false, + "description": "", + "example": 100 + }, + { + "name": "speed", + "schema": "string", + "required": false, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/dedicated/azure", + "method": "requestNewDedicatedConnection", + "httpMethod": "post", + "tag": "Cloud Services - Azure", + "typeScriptTag": "cloudServicesAzure", + "description": "Request a new AzureExpressRoute dedicated connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Azure Dedicated connection for Foo Corp" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "customer_site_code", + "schema": "string", + "required": false, + "description": "", + "example": "SW-LAS8" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 1 + }, + { + "name": "service_class", + "schema": "string", + "required": true, + "description": "", + "example": "longhaul" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "10Gbps" + }, + { + "name": "loa", + "schema": "string", + "required": false, + "description": "", + "example": "SSBhbSBhIFBERg==" + }, + { + "name": "encapsulation", + "schema": "string", + "required": true, + "description": "", + "example": "ENCAPSULATION" + }, + { + "name": "port_category", + "schema": "string", + "required": true, + "description": "", + "example": "PORT_CATEGORY" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/google", + "method": "requestNewConnection", + "httpMethod": "post", + "tag": "Cloud Services - Google Cloud", + "typeScriptTag": "cloudServicesGoogleCloud", + "description": "Request a new hosted Google connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Test description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "google_pairing_key", + "schema": "string", + "required": false, + "description": "", + "example": "7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/2" + }, + { + "name": "google_vlan_attachment_name", + "schema": "string", + "required": true, + "description": "", + "example": "rrv-nms-dev-1a2b-vl1-us-west1-1" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "vlan", + "schema": "integer", + "required": true, + "description": "", + "example": 6 + }, + { + "name": "src_svlan", + "schema": "integer", + "required": false, + "description": "", + "example": 100 + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "cloud_settings", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/dedicated/google", + "method": "requestDedicatedConnection", + "httpMethod": "post", + "tag": "Cloud Services - Google Cloud", + "typeScriptTag": "cloudServicesGoogleCloud", + "description": "Request a new dedicated Google connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Google Dedicated connection for Foo Corp" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "customer_site_code", + "schema": "string", + "required": false, + "description": "", + "example": "SW-LAS8" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 1 + }, + { + "name": "service_class", + "schema": "string", + "required": true, + "description": "", + "example": "longhaul" + }, + { + "name": "autoneg", + "schema": "boolean", + "required": false, + "description": "", + "example": false + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "10Gbps" + }, + { + "name": "loa", + "schema": "string", + "required": false, + "description": "", + "example": "SSBhbSBhIFBERg==" + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/ibm", + "method": "requestNewConnection", + "httpMethod": "post", + "tag": "Cloud Services - IBM", + "typeScriptTag": "cloudServicesIbm", + "description": "Request a new hosted IBM connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "ibm_account_id", + "schema": "string", + "required": true, + "description": "", + "example": "57a7d05f36894e3cb9b46a43556d903e" + }, + { + "name": "ibm_bgp_asn", + "schema": "integer", + "required": true, + "description": "", + "example": 64999 + }, + { + "name": "ibm_bgp_cer_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.78/30" + }, + { + "name": "ibm_bgp_ibm_cidr", + "schema": "string", + "required": false, + "description": "", + "example": "10.254.30.77/30" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "DAL1" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "vlan", + "schema": "integer", + "required": false, + "description": "", + "example": 6 + }, + { + "name": "src_svlan", + "schema": "integer", + "required": false, + "description": "", + "example": 100 + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "1Gbps" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/oracle", + "method": "requestConnection", + "httpMethod": "post", + "tag": "Cloud Services - Oracle", + "typeScriptTag": "cloudServicesOracle", + "description": "Request a new hosted Oracle connection.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "vc_ocid", + "schema": "string", + "required": true, + "description": "", + "example": "ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq" + }, + { + "name": "region", + "schema": "string", + "required": true, + "description": "", + "example": "REGION" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + }, + { + "name": "pop", + "schema": "string", + "required": true, + "description": "", + "example": "WDC2" + }, + { + "name": "port", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "zone", + "schema": "string", + "required": false, + "description": "", + "example": "A" + }, + { + "name": "vlan", + "schema": "integer", + "required": true, + "description": "", + "example": 6 + }, + { + "name": "src_svlan", + "schema": "integer", + "required": false, + "description": "", + "example": 100 + }, + { + "name": "published_quote_line_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/oracle/vc-ocid-status/{vc_ocid}", + "method": "getStatus", + "httpMethod": "get", + "tag": "Cloud Services - Oracle", + "typeScriptTag": "cloudServicesOracle", + "description": "Get current status of Oracle side VC", + "parameters": [ + { + "name": "vcOcid", + "schema": "string", + "required": true, + "description": "Oracle side VC identifier", + "example": "ocid1.virtualcircuit.oc1.iad.aaaaaaaa7fvcq4rff7yz4ey3p7wu3lenezvl34757c2cxh7jigxbjc7bgzjq" + }, + { + "name": "region", + "schema": "string", + "required": false, + "description": "Oracle region for this VC OCID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/oracle/{cloud_circuit_id}/sync", + "method": "syncChanges", + "httpMethod": "post", + "tag": "Cloud Services - Oracle", + "typeScriptTag": "cloudServicesOracle", + "description": "Sync changes to speed/bandwidth on Oracle VC to PacketFabric hosted connection.", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-CC-DAL-NYC-2009-PF" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/{cloud_circuit_id}", + "method": "deleteConnection", + "httpMethod": "delete", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Delete a cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Cloud connection successfully deleted" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/{cloud_circuit_id}", + "method": "updateHostedConnection", + "httpMethod": "patch", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Update a hosted cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Cloud Connection Foo Corp" + }, + { + "name": "cloud_settings", + "schema": "undefined", + "description": "" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/hosted/{cloud_circuit_id}/upgrade", + "method": "upgradeHostedConnection", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Upgrade a hosted cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "100Mbps" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/dedicated/{cloud_circuit_id}", + "method": "updateDedicatedCloudConnection", + "httpMethod": "patch", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Update a dedicated cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/dedicated/{cloud_circuit_id}/upgrade", + "method": "upgradeDedicatedCloudConnection", + "httpMethod": "post", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Upgrade a dedicated cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "subscription_term", + "schema": "integer", + "description": "" + }, + { + "name": "service_class", + "schema": "string", + "description": "", + "example": "longhaul" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/ibm/{cloud_circuit_id}", + "method": "updateIbmCloudConnection", + "httpMethod": "patch", + "tag": "Cloud Services - IBM", + "typeScriptTag": "cloudServicesIbm", + "description": "Update an IBM hosted cloud connection", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "The unique PF circuit ID for this connection.", + "example": "PF-AP-LAX1-1002" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Hosted-connection-Foo_Corp" + }, + { + "name": "po_number", + "schema": "string", + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/{cloud_circuit_id}", + "method": "connection", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get cloud connection info", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/{cloud_circuit_id}/status", + "method": "getConnectionStatus", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get cloud connection instance status (https://docs.packetfabric.com/api/v2/", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/{cloud_circuit_id}/upgrade/options", + "method": "getConnectionUpgradeOptions", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get cloud connection instance upgrade options", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/hosted", + "method": "listHostedConnections", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get list of current customer's hosted cloud connections. Output is only paginated if at least one pagination argument is given.", + "parameters": [ + { + "name": "q", + "schema": "string", + "description": "Filter by circuit id or description" + }, + { + "name": "sortColumn", + "schema": "string", + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "description": "", + "default": "asc" + }, + { + "name": "offset", + "schema": "integer", + "description": "", + "default": 0 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "", + "default": 100 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/hosted/export.csv", + "method": "listHostedConnectionsCsv", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get CSV with the list of current customer's hosted cloud connections. Output is only paginated if at least one pagination argument is given.", + "parameters": [ + { + "name": "q", + "schema": "string", + "description": "Filter by circuit id or description" + }, + { + "name": "sortColumn", + "schema": "string", + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "description": "", + "default": "asc" + }, + { + "name": "offset", + "schema": "integer", + "description": "", + "default": 0 + }, + { + "name": "pageSize", + "schema": "integer", + "description": "", + "default": 100 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/dedicated", + "method": "getCurrentDedicatedConnections", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get list of current customer's dedicated cloud connections", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/dedicated/export.csv", + "method": "getCurrentCustomerDedicatedConnectionsCsv", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get CSV with the list of current customer's dedicated cloud connections", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2.1/services/cloud/connections/{ident}/status", + "method": "getStatus", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get Cloud status", + "parameters": [ + { + "name": "ident", + "schema": "string", + "required": true, + "description": "Cloud UUID", + "example": "2c6f2b26-1cb8-4a85-b70b-f71e909ca3e6" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/connections/{cloud_circuit_id}/router-config", + "method": "getRouterConfig", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get router configuration", + "parameters": [ + { + "name": "cloudCircuitId", + "schema": "string", + "required": true, + "description": "Target connection's Cloud Circuit ID.", + "example": "PF-CC-GOG-NYC-1234567" + }, + { + "name": "routerType", + "schema": "string", + "required": true, + "description": "Router Type Identifier.", + "example": "CiscoSystemsInc-2900SeriesRouters-IOS124" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/aws/resources/{credentials_uuid}/regions", + "method": "getAvailableRegions", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get available AWS regions", + "parameters": [ + { + "name": "credentialsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the credentials that should be used for this request.", + "example": "95ee5b4e-0174-437b-8e24-61f4d726acad" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/aws/resources/{credentials_uuid}/{region_name}", + "method": "getResourcesInRegion", + "httpMethod": "get", + "tag": "Cloud Services - AWS", + "typeScriptTag": "cloudServicesAws", + "description": "Get AWS resources in the given region", + "parameters": [ + { + "name": "credentialsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the credentials that should be used for this request.", + "example": "95ee5b4e-0174-437b-8e24-61f4d726acad" + }, + { + "name": "regionName", + "schema": "string", + "required": true, + "description": "Name of the chosen AWS region.", + "example": "us-east-1" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/google/resources/{credentials_uuid}/regions", + "method": "availableRegionsGet", + "httpMethod": "get", + "tag": "Cloud Services - Google Cloud", + "typeScriptTag": "cloudServicesGoogleCloud", + "description": "Get available Google regions", + "parameters": [ + { + "name": "credentialsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the credentials that should be used for this request.", + "example": "95ee5b4e-0174-437b-8e24-61f4d726acad" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/google/resources/{credentials_uuid}/{region_name}", + "method": "getResourcesByRegion", + "httpMethod": "get", + "tag": "Cloud Services - Google Cloud", + "typeScriptTag": "cloudServicesGoogleCloud", + "description": "Get Google resources in the given region", + "parameters": [ + { + "name": "credentialsUuid", + "schema": "string", + "required": true, + "description": "The UUID of the credentials that should be used for this request.", + "example": "95ee5b4e-0174-437b-8e24-61f4d726acad" + }, + { + "name": "regionName", + "schema": "string", + "required": true, + "description": "Name of the chosen AWS region.", + "example": "us-east1" + }, + { + "name": "projectId", + "schema": "string", + "required": false, + "description": "Name of the chosen project_id. Defaults to the project_id of the credentials.", + "example": "example-project" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/credentials", + "method": "getAll", + "httpMethod": "get", + "tag": "Cloud Provider Credentials", + "typeScriptTag": "cloudProviderCredentials", + "description": "Get all cloud provider credentials", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/credentials", + "method": "createNewCredential", + "httpMethod": "post", + "tag": "Cloud Provider Credentials", + "typeScriptTag": "cloudProviderCredentials", + "description": "Create a new Cloud Provider Credential.", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "Example Description" + }, + { + "name": "cloud_provider", + "schema": "string", + "required": true, + "description": "", + "example": "CLOUD_PROVIDER" + }, + { + "name": "cloud_credentials", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/credentials/{credential_uuid}", + "method": "deleteCredential", + "httpMethod": "delete", + "tag": "Cloud Provider Credentials", + "typeScriptTag": "cloudProviderCredentials", + "description": "Delete a Cloud Provider Credential.", + "parameters": [ + { + "name": "credentialUuid", + "schema": "string", + "required": true, + "description": "UUID of the target Cloud Provider Credential.", + "example": "0379ef74-c326-4f0d-a906-c56da712e536" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/credentials/{credential_uuid}", + "method": "updateCredential", + "httpMethod": "patch", + "tag": "Cloud Provider Credentials", + "typeScriptTag": "cloudProviderCredentials", + "description": "Update a Cloud Provider Credential.", + "parameters": [ + { + "name": "credentialUuid", + "schema": "string", + "required": true, + "description": "UUID of the target Cloud Provider Credential.", + "example": "0379ef74-c326-4f0d-a906-c56da712e536" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Example Description" + }, + { + "name": "cloud_credentials", + "schema": "undefined", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/cloud/credentials/{credential_uuid}/connections", + "method": "getAllConnections", + "httpMethod": "get", + "tag": "Cloud Provider Credentials", + "typeScriptTag": "cloudProviderCredentials", + "description": "Get all connections tied to this cloud provider credential", + "parameters": [ + { + "name": "credentialUuid", + "schema": "string", + "required": true, + "description": "UUID of the target Cloud Provider Credential.", + "example": "0379ef74-c326-4f0d-a906-c56da712e536" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/signup/email-validation", + "method": "emailValidationCheck", + "httpMethod": "get", + "tag": "Signup", + "typeScriptTag": "signup", + "description": "Check email address", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "The email address to be checked", + "example": "email@email.com" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "A valid email address was checked" + }, + { + "statusCode": "400", + "description": "The email address was either missing or invalid" + } + ] + }, + { + "url": "/v2/aggregated-capacity", + "method": "getAllContainers", + "httpMethod": "get", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Get all flex bandwidth containers for the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/aggregated-capacity", + "method": "createFlexContainer", + "httpMethod": "post", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Create a flex bandwidth container", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "Flex bandwidth container description" + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_UUID" + }, + { + "name": "subscription_term", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "capacity", + "schema": "string", + "required": true, + "description": "", + "example": "100Gbps" + }, + { + "name": "po_number", + "schema": "string", + "required": false, + "description": "", + "example": "PO-1234" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/aggregated-capacity/{aggregate_capacity_id}", + "method": "deleteContainer", + "httpMethod": "delete", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Delete a flex bandwidth container", + "parameters": [ + { + "name": "aggregateCapacityId", + "schema": "string", + "required": true, + "description": "The ID of the flex bandwidth container", + "example": "PF-AB-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Aggregate Capacity deleted successfully" + } + ] + }, + { + "url": "/v2/aggregated-capacity/{aggregate_capacity_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Flex Bandwidth", + "typeScriptTag": "flexBandwidth", + "description": "Get a flex bandwidth container by ID", + "parameters": [ + { + "name": "aggregateCapacityId", + "schema": "string", + "required": true, + "description": "The ID of the flex bandwidth container", + "example": "PF-AB-1234" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/announcements", + "method": "getCurrentCustomerList", + "httpMethod": "get", + "tag": "Announcements", + "typeScriptTag": "announcements", + "description": "Get all active announcements for the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/contacts", + "method": "getCurrentCustomerContacts", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get the IPAM contacts associated with the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/contacts", + "method": "addContact", + "httpMethod": "post", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Add the contact for the current customer", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "phone", + "schema": "string", + "required": true, + "description": "", + "example": "PHONE" + }, + { + "name": "address", + "schema": "string", + "required": true, + "description": "", + "example": "ADDRESS" + }, + { + "name": "country_code", + "schema": "string", + "required": true, + "description": "", + "example": "US" + }, + { + "name": "apnic_org_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "ripe_org_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "apnic_ref", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "ripe_ref", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/contacts/{ipam_contact_uuid}", + "method": "deleteByUuid", + "httpMethod": "delete", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Delete an IPAM contact by UUID", + "parameters": [ + { + "name": "ipamContactUuid", + "schema": "string", + "required": true, + "description": "The UUID of the IPAM contact.", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/contacts/{ipam_contact_uuid}", + "method": "getByUuid", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get an IPAM contact by UUID", + "parameters": [ + { + "name": "ipamContactUuid", + "schema": "string", + "required": true, + "description": "The UUID of the IPAM contact.", + "example": "a2115890-ed02-4795-a6dd-c485bec3529c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/prefixes", + "method": "getPrefixes", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get the IPAM prefixes associated with the current customer", + "parameters": [ + { + "name": "market", + "schema": "string", + "required": false, + "description": "The market code to filter by.", + "example": "NYC" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/prefixes", + "method": "allocatePrefix", + "httpMethod": "post", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Allocate a new IPAM prefix", + "parameters": [ + { + "name": "length", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "market", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "address_family", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "admin_ipam_contact_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "tech_ipam_contact_uuid", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "address", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "city", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "postal_code", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "org_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "ipj_details", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/prefixes/{prefix_circuit_id}", + "method": "deleteByCircuitId", + "httpMethod": "delete", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Delete an IPAM prefix by Circuit Id", + "parameters": [ + { + "name": "prefixCircuitId", + "schema": "string", + "required": true, + "description": "The Circuit Id of the IPAM Prefix.", + "example": "PF-IP-12345" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/prefixes/{prefix_circuit_id}", + "method": "getByCircuitId", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get an IPAM Prefix by Circuit Id", + "parameters": [ + { + "name": "prefixCircuitId", + "schema": "string", + "required": true, + "description": "The Circuit Id of the IPAM Prefix.", + "example": "PF-IP-12345" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/asns", + "method": "getAsns", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get the IPAM ASNs associated with the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/asns", + "method": "allocateNewAsn", + "httpMethod": "post", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Allocate a new IPAM ASN", + "parameters": [ + { + "name": "asn_byte_type", + "schema": "integer", + "description": "", + "default": 2 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/asns/{asn}", + "method": "deleteAsnByAsn", + "httpMethod": "delete", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Delete an IPAM ASN by the ASN", + "parameters": [ + { + "name": "asn", + "schema": "integer", + "required": true, + "description": "The ASN.", + "example": 65367 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/ipam/asns/{asn}", + "method": "getAsnById", + "httpMethod": "get", + "tag": "IPAM", + "typeScriptTag": "ipam", + "description": "Get an IPAM ASN by the ASN", + "parameters": [ + { + "name": "asn", + "schema": "integer", + "required": true, + "description": "The ASN.", + "example": 65367 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet", + "method": "getCurrentCustomerHpIs", + "httpMethod": "get", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Get HPIs associated with the current customer", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet", + "method": "post", + "httpMethod": "post", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Create a new HPI", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "HPI for customer A" + }, + { + "name": "port_circuit_id", + "schema": "string", + "required": true, + "description": "", + "example": "PF-AP-12345" + }, + { + "name": "speed", + "schema": "string", + "required": true, + "description": "", + "example": "1Gbps" + }, + { + "name": "vlan", + "schema": "integer", + "required": true, + "description": "", + "example": 4 + }, + { + "name": "account_uuid", + "schema": "string", + "required": true, + "description": "", + "example": "12345678-1234-1234-1234-123456789012" + }, + { + "name": "routing_configuration", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}", + "method": "delete", + "httpMethod": "delete", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Delete a HPI by hpi_circuit_id", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}", + "method": "get", + "httpMethod": "get", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Get a HPI by hpi_circuit_id", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}", + "method": "put", + "httpMethod": "put", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Update a HPI", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "HPI for customer A" + }, + { + "name": "routing_configuration", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}/bgp", + "method": "getBgpConfig", + "httpMethod": "get", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Get the bgp routing configurations for this HPI", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}/static", + "method": "getStaticConfigurations", + "httpMethod": "get", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Get the static routing configurations for this HPI", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/v2/services/high-performance-internet/{hpi_circuit_id}/status", + "method": "getStatus", + "httpMethod": "get", + "tag": "High Performance Internet", + "typeScriptTag": "highPerformanceInternet", + "description": "Get HPI status", + "parameters": [ + { + "name": "hpiCircuitId", + "schema": "string", + "required": true, + "description": "The circuit id of the HPI.", + "example": "HPI_CIRCUIT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + } + ], + "repositoryDescription": "PacketFabric is a high-performance Connectivity Cloud enabling agile cloud core with on-demand, secure services globally. Recognized for innovation and scalability in networking. PacketFabric's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/packetfabric/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/packetfabric/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/packetfabric/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/packetfabric/imagePreview.svg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/packetfabric/favicon.png", + "clientNameCamelCase": "packetFabric", + "lastUpdated": "2024-03-29T22:59:11.252Z", + "typescriptSdkUsageCode": "import { PacketFabric } from 'packet-fabric-typescript-sdk';\n\nconst packetFabric = new PacketFabric({\n bearerAuth: \"BEARER_AUTH\"\n})", + "typescriptSdkFirstRequestCode": "// Get activity log entry\nconst getEntryResponse = packetFabric.activityLogs.getEntry({\n logUuid: \"LOG_UUID\"\n})", + "fixedSpecFileName": "packet-fabric-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_rated.network.json b/sdks/db/published/from-custom-request_rated.network.json new file mode 100644 index 000000000..c6b3b76ce --- /dev/null +++ b/sdks/db/published/from-custom-request_rated.network.json @@ -0,0 +1,4236 @@ +{ + "securitySchemes": {}, + "apiBaseUrl": "https://api.rated.network", + "apiVersion": "0.0.1", + "apiDescription": "\nWelcome to Rated API Swagger doc for developers! This doc outlines the Rated API functionality and API architecture.\n\nIt is separated into seven categories:\n\n- **Validators**: Endpoints to query into individual validator indices or aggregations of validator indices.\n- **Operators**: Endpoints to query into pre-materialized operator groupings.\n- **Network**: Endpoints to query into network aggregate stats.\n- **Slashings**: Endpoints to query into network aggregate stats.\n- **Withdrawals (beta)**: Endpoints to query into when a withdrawal is expected to land.\n- **Self Report (beta)**: Endpoint to query into all slashed validators and individual slashed validator indices\n\n[Terms of Use](https://legal.rated.network/terms/api-terms-of-use)\n\n[API Access Form](https://bit.ly/ratedAPIkeys)\n\n[API Reference](https://api-docs.rated.network/rated-api/api-reference)\n", + "apiTitle": "Rated API Beta", + "endpoints": 77, + "sdkMethods": 80, + "schemas": 133, + "parameters": 408, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.rated.network/openapi.json", + "apiBaseUrl": "https://api.rated.network" + }, + "customRequestSpecFilename": "rated.network.yaml", + "difficultyScore": 227.5, + "difficulty": "Hard", + "company": "Rated", + "sdkName": "rated-{language}-sdk", + "clientName": "Rated", + "metaDescription": "We are building reputation for machines, starting with Ethereum validators. Our mission is to instill greater transparency and rich context in Web3 infrastructure data.", + "apiStatusUrls": "inherit", + "homepage": "rated.network", + "developerDocumentation": "api-docs.rated.network/rated-api/api-reference", + "categories": [ + "blockchain", + "cryptocurrency", + "web_3" + ], + "category": "AI Tools", + "methods": [ + { + "url": "/v0/pricingPlans", + "method": "getPlans", + "httpMethod": "get", + "tag": "Pricing", + "typeScriptTag": "pricing", + "description": "Get Pricing Plans", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/validators/{validator_index_or_pubkey}/effectiveness", + "method": "getEffectivenessAggregation", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Effectiveness", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "filterType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "307", + "description": "Validator requested by a valid PubKey" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/validators/effectiveness", + "method": "getEffectivenessAggregation", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Effectiveness Aggregation", + "parameters": [ + { + "name": "pubkeys", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "indices", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "to", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "filterType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "307", + "description": "Validators aggregation requested by valid PubKeys" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/validators", + "method": "listGet", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Metadata List", + "parameters": [ + { + "name": "from", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 100 + }, + { + "name": "operatorsIds", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "withdrawalAddress", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/validators/{validator_index_or_pubkey}", + "method": "getMetadata", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Metadata", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "307", + "description": "Validator requested by a valid PubKey" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/validators/{validator_index_or_pubkey}/apr", + "method": "getApr", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Apr", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "aprType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "307", + "description": "Validator requested by a valid PubKey" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators", + "method": "getSummaries", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Summaries", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "poolType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + }, + { + "name": "parentId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "parentEntity", + "schema": "string", + "required": false, + "description": "Use parentId" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/percentiles", + "method": "getPercentiles", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Percentiles", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "idType", + "schema": "string", + "required": true, + "description": "", + "example": "IDTYPE" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}", + "method": "getOperatorById", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Operator", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}/effectiveness", + "method": "getEffectiveness", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Effectiveness", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "filterType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "include", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}/relayers", + "method": "getRelayerStats", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Relayer Stats", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "window", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}/apr", + "method": "getApr", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Operator Apr", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "aprType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}/summary", + "method": "getSummary", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Operator Summary", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "idType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/operators/{operator_id}/stakeMovement", + "method": "getStakeMovement", + "httpMethod": "get", + "tag": "Operators", + "typeScriptTag": "operators", + "description": "Get Activations Exits Aggregate", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "stakeAction", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "window", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/stats", + "method": "getStats", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Network Stats", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/overview", + "method": "getOverview", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Network Overview", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/capacity", + "method": "getChurnCapacity", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Network Churn Capacity", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/capacity/pool", + "method": "getChurnCapacityPool", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Network Churn Capacity Pool", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "stakeAction", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/dailyRewards", + "method": "getDailyRewards", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Network Daily Rewards", + "parameters": [ + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "The starting date (https://api-docs.rated.network/rated-api/api-reference to return. For example, 2024-01-01." + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/network/dailyRewards/{date}", + "method": "dailyRewardsByDayGet", + "httpMethod": "get", + "tag": "Network", + "typeScriptTag": "network", + "description": "Get Daily Rewards By Day", + "parameters": [ + { + "name": "date", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/withdrawals/predicted/operators/{operator_id}", + "method": "predictedOperatorsGet", + "httpMethod": "get", + "tag": "Withdrawals", + "typeScriptTag": "withdrawals", + "description": "Get Withdrawals Predicted By Operator", + "parameters": [ + { + "name": "operatorId", + "schema": "string", + "required": true, + "description": "", + "example": "OPERATOR_ID" + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/withdrawals/predicted/slot/{withdrawal_slot}", + "method": "getPredictedBySlot", + "httpMethod": "get", + "tag": "Withdrawals", + "typeScriptTag": "withdrawals", + "description": "Get Withdrawals Predicted By Slot", + "parameters": [ + { + "name": "withdrawalSlot", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/selfReports/validators", + "method": "createReportValidators", + "httpMethod": "post", + "tag": "Self Reports", + "typeScriptTag": "selfReports", + "description": "Report Validators", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "validators", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "poolTag", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings/overview", + "method": "overviewGet", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Overview", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings/leaderboard", + "method": "getLeaderboard", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Leaderboard", + "parameters": [ + { + "name": "from", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "slashingRole", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings/cohortAnalysis", + "method": "getCohortAnalysis", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Cohort Analysis", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings/timeseries", + "method": "getTimeSeries", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Time Series", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings", + "method": "getAll", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Penalties All", + "parameters": [ + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/slashings/{validator_index_or_pubkey}", + "method": "penaltyGet", + "httpMethod": "get", + "tag": "Slashings", + "typeScriptTag": "slashings", + "description": "Get Slashing Penalties", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/p2p/geographical", + "method": "getGeographicalDistribution", + "httpMethod": "get", + "tag": "P2P (https://api-docs.rated.network/rated-api/api-reference", + "typeScriptTag": "p2PHttps:ApiDocsRatedNetworkRatedApiApiReference", + "description": "Get P2P Geographical Distribution", + "parameters": [ + { + "name": "distType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/p2p/hostingProvider", + "method": "getP2PHostingProviderDistribution", + "httpMethod": "get", + "tag": "P2P (https://api-docs.rated.network/rated-api/api-reference", + "typeScriptTag": "p2PHttps:ApiDocsRatedNetworkRatedApiApiReference", + "description": "Get P2P Hosting Provider Distribution", + "parameters": [ + { + "name": "from", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "distType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/blocks", + "method": "listGet", + "httpMethod": "get", + "tag": "Blocks", + "typeScriptTag": "blocks", + "description": "Get Blocks", + "parameters": [ + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/eth/blocks/{consensus_slot}", + "method": "bySlotGet", + "httpMethod": "get", + "tag": "Blocks", + "typeScriptTag": "blocks", + "description": "Get Blocks By Slot", + "parameters": [ + { + "name": "consensusSlot", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/validators/{validator_id}/effectiveness", + "method": "getEffectiveness", + "httpMethod": "get", + "tag": "Polygon Validators", + "typeScriptTag": "polygonValidators", + "description": "Validator Checkpoint Effectiveness", + "parameters": [ + { + "name": "validatorId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "The starting checkpoint or date (https://api-docs.rated.network/rated-api/api-reference to return. For example, 41100 or 2021-01-01." + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "Checkpoint or UTC day" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/validators/{validator_id}", + "method": "getMetadata", + "httpMethod": "get", + "tag": "Polygon Validators", + "typeScriptTag": "polygonValidators", + "description": "Validator Metadata", + "parameters": [ + { + "name": "validatorId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/validators", + "method": "listGet", + "httpMethod": "get", + "tag": "Polygon Validators", + "typeScriptTag": "polygonValidators", + "description": "Validator Summaries", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "delegatorAddress", + "schema": "string", + "required": false, + "description": "The delegator address to filter by." + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/validators/{validator_id}/summary", + "method": "getSummary", + "httpMethod": "get", + "tag": "Polygon Validators", + "typeScriptTag": "polygonValidators", + "description": "Validator Summary", + "parameters": [ + { + "name": "validatorId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/network/overview", + "method": "getOverview", + "httpMethod": "get", + "tag": "Polygon Network", + "typeScriptTag": "polygonNetwork", + "description": "Get Network Overview", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/delegators", + "method": "getSummaries", + "httpMethod": "get", + "tag": "Polygon Delegators", + "typeScriptTag": "polygonDelegators", + "description": "Delegator Summaries", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/delegators/{delegator_address}/summary", + "method": "getSummary", + "httpMethod": "get", + "tag": "Polygon Delegators", + "typeScriptTag": "polygonDelegators", + "description": "Delegator Summary", + "parameters": [ + { + "name": "delegatorAddress", + "schema": "string", + "required": true, + "description": "", + "example": "DELEGATOR_ADDRESS" + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/polygon/delegators/{delegator_address}/rewards", + "method": "getRewards", + "httpMethod": "get", + "tag": "Polygon Delegators", + "typeScriptTag": "polygonDelegators", + "description": "Delegator Rewards", + "parameters": [ + { + "name": "delegatorAddress", + "schema": "string", + "required": true, + "description": "", + "example": "DELEGATOR_ADDRESS" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "The starting (https://api-docs.rated.network/rated-api/api-reference checkpoint or date (https://api-docs.rated.network/rated-api/api-reference to return. For example, 41100 or 2021-01-01." + }, + { + "name": "to", + "schema": "undefined", + "required": false, + "description": "The ending (https://api-docs.rated.network/rated-api/api-reference checkpoint or date (https://api-docs.rated.network/rated-api/api-reference to return. For example, 41100 or 2021-01-01." + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "Checkpoint or UTC day" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "Maximum number of time periods (days or checkpoint) in the results.", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/network/overview", + "method": "getOverview", + "httpMethod": "get", + "tag": "Solana Network", + "typeScriptTag": "solanaNetwork", + "description": "Get Network Overview", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/network/validatorDistributions", + "method": "validatorDistributionsGet", + "httpMethod": "get", + "tag": "Solana Network", + "typeScriptTag": "solanaNetwork", + "description": "Get Validator Distributions", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators/{validator_id}/rewards", + "method": "getValidatorRewards", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Rewards", + "parameters": [ + { + "name": "validatorId", + "schema": "string", + "required": true, + "description": "", + "example": "VALIDATOR_ID" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "UTC day or slot multiple of 3k" + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "UTC day or 3k block interval" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators/{validator_id}/performance", + "method": "getPerformance", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Performance", + "parameters": [ + { + "name": "validatorId", + "schema": "string", + "required": true, + "description": "", + "example": "VALIDATOR_ID" + }, + { + "name": "from", + "schema": "undefined", + "required": false, + "description": "UTC day or slot multiple of 3k" + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "UTC day or 3k block interval" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators/{validator_id}/performance/latency", + "method": "getValidatorLatency", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Latency", + "parameters": [ + { + "name": "validatorId", + "schema": "string", + "required": true, + "description": "", + "example": "VALIDATOR_ID" + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "Slot to get vote latency from." + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators/{validator_id}", + "method": "metadataGet", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Metadata", + "parameters": [ + { + "name": "validatorId", + "schema": "string", + "required": true, + "description": "", + "example": "VALIDATOR_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators", + "method": "getSummaries", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Summaries", + "parameters": [ + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + }, + { + "name": "from", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "size", + "schema": "integer", + "required": false, + "description": "", + "default": 15 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v0/solana/validators/{validator_id}/summary", + "method": "getSummaryById", + "httpMethod": "get", + "tag": "Solana Validators", + "typeScriptTag": "solanaValidators", + "description": "Validator Summary", + "parameters": [ + { + "name": "validatorId", + "schema": "string", + "required": true, + "description": "", + "example": "VALIDATOR_ID" + }, + { + "name": "window", + "schema": "string", + "required": true, + "description": "", + "example": "WINDOW" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags", + "method": "getAll", + "httpMethod": "get", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Get Tags", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags", + "method": "createTag", + "httpMethod": "post", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Create Tag", + "parameters": [ + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Get Tag", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Update Tag", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{id}/validators", + "method": "getTag", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Tag Validators", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{id}/validators", + "method": "add", + "httpMethod": "post", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Add Validators", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "pubkeys", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{id}/validators/{pubkey}", + "method": "removeValidator", + "httpMethod": "delete", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Remove Validator", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + }, + { + "name": "pubkey", + "schema": "string", + "required": true, + "description": "", + "example": "PUBKEY" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Successful Response" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/effectiveness", + "method": "getEffectiveness", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Effectiveness", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/attestations", + "method": "getAttestations", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Attestations", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/proposals", + "method": "getProposals", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Proposals", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/effectiveness", + "method": "getEffectiveness", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validators Effectiveness", + "parameters": [ + { + "name": "pubkeys", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "indices", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/attestations", + "method": "getAttestations", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validators Attestations", + "parameters": [ + { + "name": "pubkeys", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "indices", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/proposals", + "method": "getProposals", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validators Proposals", + "parameters": [ + { + "name": "pubkeys", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "indices", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "groupBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}/effectiveness", + "method": "getEffectiveness", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator Effectiveness", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}/attestations", + "method": "getAttestations", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator Attestations", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}/proposals", + "method": "getProposalsByValidatorIndexOrPubkey", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator Proposals", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/sets/{set_id}/effectiveness", + "method": "getSetEffectiveness", + "httpMethod": "get", + "tag": "Effectiveness", + "typeScriptTag": "effectiveness", + "description": "Get Set Effectiveness", + "parameters": [ + { + "name": "setId", + "schema": "string", + "required": true, + "description": "", + "example": "SET_ID" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/sets/{set_id}/attestations", + "method": "getAttestations", + "httpMethod": "get", + "tag": "Attestation", + "typeScriptTag": "attestation", + "description": "Get Set Attestations", + "parameters": [ + { + "name": "setId", + "schema": "string", + "required": true, + "description": "", + "example": "SET_ID" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/sets/{set_id}/proposals", + "method": "listGet", + "httpMethod": "get", + "tag": "Proposal", + "typeScriptTag": "proposal", + "description": "Get Set Proposals", + "parameters": [ + { + "name": "setId", + "schema": "string", + "required": true, + "description": "", + "example": "SET_ID" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/rewards", + "method": "getRewards", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Rewards", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/penalties", + "method": "getPenalties", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Penalties", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}/rewards", + "method": "getRewards", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator Rewards", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}/penalties", + "method": "getPenalties", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator Penalties", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/sets/{set_id}/rewards", + "method": "privateSetRewardsGet", + "httpMethod": "get", + "tag": "Reward", + "typeScriptTag": "reward", + "description": "Get Private Set Rewards", + "parameters": [ + { + "name": "setId", + "schema": "string", + "required": true, + "description": "", + "example": "SET_ID" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/sets/{set_id}/penalties", + "method": "privateSetPenaltiesGet", + "httpMethod": "get", + "tag": "Penalty", + "typeScriptTag": "penalty", + "description": "Get Private Set Penalties", + "parameters": [ + { + "name": "setId", + "schema": "string", + "required": true, + "description": "", + "example": "SET_ID" + }, + { + "name": "fromDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fromDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "toDate", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "toDay", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "granularity", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/summaries", + "method": "getSummaries", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entities Summaries", + "parameters": [ + { + "name": "entityType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "window", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}/summaries", + "method": "getSummaries", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity Summaries", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "window", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities", + "method": "listGet", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entities", + "parameters": [ + { + "name": "entityType", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/entities/{entity_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Entity", + "typeScriptTag": "entity", + "description": "Get Entity", + "parameters": [ + { + "name": "entityId", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITY_ID" + }, + { + "name": "entityType", + "schema": "string", + "required": true, + "description": "", + "example": "ENTITYTYPE" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators", + "method": "getAll", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validators", + "parameters": [ + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "", + "default": 10 + }, + { + "name": "offset", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + }, + { + "url": "/v1/eth/validators/{validator_index_or_pubkey}", + "method": "getValidator", + "httpMethod": "get", + "tag": "Validators", + "typeScriptTag": "validators", + "description": "Get Validator", + "parameters": [ + { + "name": "validatorIndexOrPubkey", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "xRatedNetwork", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "" + } + ] + } + ], + "repositoryDescription": "We are building reputation for machines, starting with Ethereum validators. Our mission is to instill greater transparency and rich context in Web3 infrastructure data. Rated's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rated/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rated/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/rated/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rated/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rated/favicon.png", + "clientNameCamelCase": "rated", + "lastUpdated": "2024-03-29T22:55:31.557Z", + "typescriptSdkUsageCode": "import { Rated } from 'rated-typescript-sdk';\n\nconst rated = new Rated()", + "typescriptSdkFirstRequestCode": "// Get Pricing Plans\nconst getPlansResponse = rated.pricing.getPlans()", + "fixedSpecFileName": "rated-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_realcube.com.json b/sdks/db/published/from-custom-request_realcube.com.json new file mode 100644 index 000000000..3431e9c93 --- /dev/null +++ b/sdks/db/published/from-custom-request_realcube.com.json @@ -0,0 +1,18690 @@ +{ + "securitySchemes": { + "api_key": { + "type": "apiKey", + "name": "X-Api-Key", + "in": "header" + }, + "oauth": { + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "/oauth/authorize", + "tokenUrl": "/oauth/token", + "scopes": { + "app_category_read": "Get the app categories", + "app_config_read": "Get the app_configs", + "app_config_write": "Create or edit an app_config", + "app_config_destroy": "Delete the app_config", + "app_data_repository_read": "Get the app_data_repositories", + "app_data_repository_write": "Create or edit an app_data_repository", + "app_data_repository_destroy": "Delete the app_data_repository", + "app_subscription_read": "Get the app_subscriptions", + "app_subscription_write": "Create or edit an app_subscription", + "app_subscription_destroy": "Delete the app_subscription", + "app_read": "Get the apps", + "app_write": "Create or edit an app", + "app_destroy": "Delete the app", + "contract_addition_read": "Get the contract_additions", + "contract_addition_write": "Create or edit an contract_addition", + "contract_addition_destroy": "Delete the contract_addition", + "contract_grant_read": "Get the contract_grants", + "contract_grant_write": "Create or edit an contract_grant", + "contract_grant_destroy": "Delete the contract_grant", + "contract_membership_cost_read": "Get the contract_membership_costs", + "contract_membership_cost_write": "Create or edit an contract_membership_cost", + "contract_membership_cost_destroy": "Delete the contract_membership_cost", + "contract_membership_write": "Create or edit an contract_membership", + "contract_membership_destroy": "Delete the contract_membership", + "contract_read": "Get the contracts", + "contract_write": "Create or edit an contract", + "contract_destroy": "Delete the contract", + "cost_type_read": "Get the cost_types", + "cost_type_write": "Create or edit an cost_type", + "cost_type_destroy": "Delete the cost_type", + "security_deposit_write": "Create or edit an security_seposit", + "security_deposit_destroy": "Delete the security_seposit", + "report_account_schema_read": "Get the report_account_schemas", + "report_account_schema_write": "Create or edit an report_account_schema", + "report_account_schema_destroy": "Delete the report_account_schema", + "report_template_read": "Get the report_templates", + "report_template_write": "Create or edit the report_template", + "report_template_destroy": "Delete the report_template", + "department_read": "Get the departments", + "department_write": "Create or edit an department", + "department_destroy": "Delete the department", + "manufacturer_read": "Get the manufacturers", + "manufacturer_write": "Create or edit an manufacturer", + "manufacturer_destroy": "Delete the manufacturer", + "room_and_zone_type_read": "Get room_and_zone_types", + "room_read": "Get the rooms", + "room_write": "Create or edit an room", + "room_destroy": "Delete the room", + "zone_write": "Create or edit an zone", + "zone_destroy": "Delete the zone", + "level_read": "Get level", + "level_write": "Create or edit an facility_type", + "level_destroy": "Delete the facility_type", + "facility_read": "Get facility", + "facility_write": "Create or edit an facility_type", + "facility_destroy": "Delete the facility_type", + "facility_type_read": "Get the facility_types", + "plan_version_write": "Create or edit an plan_version", + "plan_version_destroy": "Delete the plan_version", + "plan_read": "Get the plans", + "plan_write": "Create or edit an plan", + "plan_destroy": "Delete the plan", + "plan_config_read": "Get the config of a plan", + "activity_read": "Fetch activities", + "activity_write": "Create and edit an activity", + "activity_destroy": "Delete the activity", + "attachment_write": "Create or edit an attachment", + "attachment_destroy": "Delete the attachment", + "building_filter_setting_read": "Get the building_filter_settings", + "building_filter_setting_write": "Create or edit an building_filter_setting", + "building_filter_setting_destroy": "Delete the building_filter_setting", + "building_save_filter_read": "Get the building_save_filters", + "building_save_filter_write": "Create or edit an building_save_filter", + "building_save_filter_destroy": "Delete the building_save_filter", + "building_type_read": "Get the building_types", + "building_unit_membership_write": "Create or edit an building_unit_membership", + "building_unit_membership_destroy": "Delete the building_unit_membership", + "building_unit_type_read": "Get the building_unit_types", + "building_unit_type_write": "Create or edit an building_unit_type", + "building_unit_type_destroy": "Delete the building_unit_type", + "building_unit_read": "Get the building_units", + "building_unit_write": "Create or edit an building_unit", + "building_unit_destroy": "Delete the building_unit", + "building_read": "Get the buildings", + "building_write": "Create or edit an building", + "building_destroy": "Delete the building", + "customer_account_config_read": "Get the customer_account_configs", + "customer_account_config_write": "Create or edit an customer_account_config", + "customer_account_schema_read": "Get the customer_account_schemas", + "customer_account_schema_write": "Create or edit an customer_account_schema", + "customer_attributes_schema_membership_read": "Get the customer_attributes_schema_memberships", + "customer_attributes_schema_membership_write": "Create or edit an customer_attributes_schema_membership", + "customer_attributes_schema_read": "Get the customer_attributes_schemas", + "customer_attributes_schema_write": "Create or edit an customer_attributes_schema", + "image_write": "Create or edit the image", + "image_destroy": "Delete the image", + "lot_read": "Get the lots", + "lot_write": "Create or edit an lot", + "lot_destroy": "Delete the lot", + "organisation_config_read": "Get the organisation_configs", + "organisation_config_write": "Create or edit an organisation_config", + "organisation_membership_read": "Get the organisation_memberships", + "organisation_membership_write": "Create or edit an organisation_membership", + "organisation_membership_destroy": "Delete the organisation_membership", + "organisation_read": "Get the organisations", + "organisation_write": "Create or edit an organisation", + "person_read": "Get the people", + "person_write": "Create or edit an person", + "person_destroy": "Delete the person", + "person_membership_write": "Create or edit an person_membership", + "person_membership_destroy": "Delete the person_membership", + "property_read": "Get the properties", + "property_write": "Create or edit an property", + "property_destroy": "Delete the property", + "property_type_read": "Get the property_types", + "user_write": "Log In or edit, or reset password for an user", + "user_destroy": "Log out", + "vpi_index_read": "Get the vpi_index", + "credential_read": "Get oauth credentials", + "dashboard_config_read": "Get dashboard config for an account", + "dashboard_config_write": "Add or edit the dashboard config for an account", + "dashboard_config_destroy": "Remove the dashboard config for an account", + "time_dependent_attribute_read": "Get time_dependent_attribute for an account", + "time_dependent_attribute_write": "Add or edit the time_dependent_attribute for an account", + "time_dependent_attribute_destroy": "Remove the time_dependent_attribute for an account", + "ep_code_combination_read": "Get the ep_code_combinations", + "customer_account_write": "" + } + } + } + } + }, + "apiBaseUrl": "api.realcube.com/api", + "apiVersion": "1.0.0", + "apiDescription": "This API allows developers to communicate with the REALCUBE platform. Admins can also access the [admin area](https://api.realcube.com).", + "apiTitle": "REALCUBE API", + "endpoints": 214, + "sdkMethods": 387, + "schemas": 2377, + "parameters": 770, + "contactEmail": "uwe.forgber@realcube.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.realcube.com/api/v1/docs.json" + }, + "customRequestSpecFilename": "realcube.com.yaml", + "difficultyScore": 798.5, + "difficulty": "Very Hard", + "company": "Realcube", + "sdkName": "realcube-{language}-sdk", + "clientName": "Realcube", + "metaDescription": "Realcube is the cloud solution for smart and flexible digitilization in real estate management. Our API-first platform is here to revolutionize the real estate industry. It is a one-stop-shop for intelligent solutions which are adaptive to every client's individual needs. \n\nRealcube's ecosystem offers a growing number of applications from our valuable and industry-leading partners which aggregate the customer's data. It is worth mentioning that we keep our customers' data privacy and well-being as our top priority. \n \nAt Realcube, we enable the real estate companies and their contractual partners to consolidate their data in our state-of-the-art platform. This creates a uniform database that gives access to asset managers and other management levels to all relevant information at all times, just a click away! \n\nHave we grabbed your interest in our innovative solution for your real estate management? \nBook a free demo today! \n\nFor more information feel free to visit our website or contact us at: \ninfo@realcube.com", + "apiStatusUrls": "inherit", + "homepage": "realcube.com", + "developerDocumentation": "docs.realcube.com/", + "categories": [ + "real_estate" + ], + "category": "Real Estate", + "methods": [ + { + "url": "/v1/platform_configs", + "method": "showAllConfigs", + "httpMethod": "get", + "tag": "platform_configs", + "typeScriptTag": "platformConfigs", + "description": "Shows the platform_configs", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/platform_configs", + "method": "createNewConfig", + "httpMethod": "post", + "tag": "platform_configs", + "typeScriptTag": "platformConfigs", + "description": "Creates a platform_config within the current organisation", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/platform_configs/{platform_config_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "platform_configs", + "typeScriptTag": "platformConfigs", + "description": "Marks a platform_config as deleted within the current organisation.", + "parameters": [ + { + "name": "platformConfigId", + "schema": "string", + "required": true, + "description": "ID of the platform_config you want to delete", + "example": "PLATFORM_CONFIG_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/platform_configs/{platform_config_id}", + "method": "updateWithinOrganisation", + "httpMethod": "put", + "tag": "platform_configs", + "typeScriptTag": "platformConfigs", + "description": "Updates an platform_config within the current organisation.", + "parameters": [ + { + "name": "platformConfigId", + "schema": "string", + "required": true, + "description": "ID of the platform_config you want to update", + "example": "PLATFORM_CONFIG_ID" + }, + { + "name": "landing_page_marketing", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users", + "method": "getAll", + "httpMethod": "get", + "tag": "users", + "typeScriptTag": "users", + "description": "Returns all users within the given account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID customer account to filter the users." + }, + { + "name": "page", + "schema": "string", + "required": false, + "description": "The page to paginate the users." + }, + { + "name": "perPage", + "schema": "string", + "required": false, + "description": "The number of users for a page" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users", + "method": "createNewUser", + "httpMethod": "post", + "tag": "users", + "typeScriptTag": "users", + "description": "Creates a user.", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/log_in", + "method": "authenticateUser", + "httpMethod": "post", + "tag": "users", + "typeScriptTag": "users", + "description": "Login", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "PASSWORD" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/refresh_token", + "method": "refreshToken", + "httpMethod": "get", + "tag": "users", + "typeScriptTag": "users", + "description": "Refresh token", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/{user_id}", + "method": "deleteUser", + "httpMethod": "delete", + "tag": "users", + "typeScriptTag": "users", + "description": "Delete the user.", + "parameters": [ + { + "name": "userId", + "schema": "integer", + "required": true, + "description": "The ID of the user to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/{user_id}", + "method": "updateUser", + "httpMethod": "put", + "tag": "users", + "typeScriptTag": "users", + "description": "Updates the user.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID customer account" + }, + { + "name": "userId", + "schema": "integer", + "required": true, + "description": "The ID of the user to update", + "example": 0 + }, + { + "name": "resetPasswordToken", + "schema": "string", + "description": "The reset token of the user" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/log_out", + "method": "invalidateApiToken", + "httpMethod": "delete", + "tag": "users", + "typeScriptTag": "users", + "description": "Invalidates the current api token", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/reset_password_instructions", + "method": "sendResetInstructions", + "httpMethod": "put", + "tag": "users", + "typeScriptTag": "users", + "description": "Sends reset password instructions to the user's email address (in german & english).", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "redirect_url", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/users/send_invitation", + "method": "sendInvitation", + "httpMethod": "put", + "tag": "users", + "typeScriptTag": "users", + "description": "Sends invitation to the user's email address (in german & english).", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "redirect_url", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/roles", + "method": "getAllRoles", + "httpMethod": "get", + "tag": "roles", + "typeScriptTag": "roles", + "description": "Returns all roles", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/roles", + "method": "createRole", + "httpMethod": "post", + "tag": "roles", + "typeScriptTag": "roles", + "description": "Creates a Role", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/roles/{role_id}", + "method": "removeRole", + "httpMethod": "delete", + "tag": "roles", + "typeScriptTag": "roles", + "description": "Deletes the Role", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "roleId", + "schema": "integer", + "required": true, + "description": "The ID of the Role to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/roles/{role_id}", + "method": "showRole", + "httpMethod": "get", + "tag": "roles", + "typeScriptTag": "roles", + "description": "Shows a Role", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "roleId", + "schema": "integer", + "required": true, + "description": "The ID of the Role to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/roles/{role_id}", + "method": "updateRole", + "httpMethod": "put", + "tag": "roles", + "typeScriptTag": "roles", + "description": "Updates a Role", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "roleId", + "schema": "integer", + "required": true, + "description": "The ID of the Role to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "role_policy_maps_attributes", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/role_policies", + "method": "getAll", + "httpMethod": "get", + "tag": "role_policies", + "typeScriptTag": "rolePolicies", + "description": "Returns all Role Policies", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/role_policies", + "method": "createPolicy", + "httpMethod": "post", + "tag": "role_policies", + "typeScriptTag": "rolePolicies", + "description": "Creates a Role Policy", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/role_policies/{role_policy_id}", + "method": "deletePolicy", + "httpMethod": "delete", + "tag": "role_policies", + "typeScriptTag": "rolePolicies", + "description": "Deletes the Role Policy", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "rolePolicyId", + "schema": "integer", + "required": true, + "description": "The ID of the Role Policy to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/role_policies/{role_policy_id}", + "method": "showRolePolicy", + "httpMethod": "get", + "tag": "role_policies", + "typeScriptTag": "rolePolicies", + "description": "Shows a Role Policy", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "rolePolicyId", + "schema": "integer", + "required": true, + "description": "The ID of the Role Policy to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/role_policies/{role_policy_id}", + "method": "updatePolicy", + "httpMethod": "put", + "tag": "role_policies", + "typeScriptTag": "rolePolicies", + "description": "Updates a Role Policy", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "rolePolicyId", + "schema": "integer", + "required": true, + "description": "The ID of the Role Policy to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "role_policy_maps_attributes", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tenants/{boarding_type}", + "method": "listForBoardingType", + "httpMethod": "get", + "tag": "tenants", + "typeScriptTag": "tenants", + "description": "Shows all tenants", + "parameters": [ + { + "name": "boardingType", + "schema": "string", + "required": true, + "description": "The type of boarding: onboarding or offboarding", + "example": "BOARDING_TYPE" + }, + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The id of the customer account", + "example": 0 + }, + { + "name": "startDate", + "schema": "string", + "description": "The starting date for new tenant", + "example": "2024-03-29" + }, + { + "name": "endDate", + "schema": "string", + "description": "The ending date for new tenant", + "example": "2024-03-30" + }, + { + "name": "searchBy", + "schema": "string", + "description": "Search by object type" + }, + { + "name": "itemId", + "schema": "integer", + "description": "Search by object id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_translations", + "method": "getAllTranslations", + "httpMethod": "get", + "tag": "customer_account_translations", + "typeScriptTag": "customerAccountTranslations", + "description": "Returns all customer_account's translations within the given customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_translations", + "method": "createTranslation", + "httpMethod": "post", + "tag": "customer_account_translations", + "typeScriptTag": "customerAccountTranslations", + "description": "Creates a customer_account_translation", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "language", + "schema": "string", + "description": "" + }, + { + "name": "value", + "schema": "string", + "description": "" + }, + { + "name": "field", + "schema": "string", + "description": "" + }, + { + "name": "parent_id", + "schema": "string", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_translations/{customer_account_translation_id}", + "method": "deleteTranslation", + "httpMethod": "delete", + "tag": "customer_account_translations", + "typeScriptTag": "customerAccountTranslations", + "description": "Deletes the customer_account_translation within the current customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountTranslationId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_translation to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_translations/{customer_account_translation_id}", + "method": "showTranslation", + "httpMethod": "get", + "tag": "customer_account_translations", + "typeScriptTag": "customerAccountTranslations", + "description": "Shows a customer_account_translation", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountTranslationId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_translation to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_translations/{customer_account_translation_id}", + "method": "updateTranslation", + "httpMethod": "put", + "tag": "customer_account_translations", + "typeScriptTag": "customerAccountTranslations", + "description": "Updates an customer_account_translation", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountTranslationId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_translation to update", + "example": 0 + }, + { + "name": "language", + "schema": "string", + "description": "" + }, + { + "name": "value", + "schema": "string", + "description": "" + }, + { + "name": "field", + "schema": "string", + "description": "" + }, + { + "name": "parent_id", + "schema": "string", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_attribute_groups", + "method": "getAllTranslations", + "httpMethod": "get", + "tag": "customer_account_attribute_groups", + "typeScriptTag": "customerAccountAttributeGroups", + "description": "Returns all customer_account's translations within the given customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "searchField", + "schema": "string", + "description": "Filter by field" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_attribute_groups", + "method": "createGroup", + "httpMethod": "post", + "tag": "customer_account_attribute_groups", + "typeScriptTag": "customerAccountAttributeGroups", + "description": "Creates a customer_account_attribute_group", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "fields", + "schema": "array", + "description": "" + }, + { + "name": "read_only", + "schema": "boolean", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_attribute_groups/{customer_account_attribute_group_id}", + "method": "deleteGroup", + "httpMethod": "delete", + "tag": "customer_account_attribute_groups", + "typeScriptTag": "customerAccountAttributeGroups", + "description": "Deletes the customer_account_attribute_group within the current customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountAttributeGroupId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_attribute_group to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_attribute_groups/{customer_account_attribute_group_id}", + "method": "showGroup", + "httpMethod": "get", + "tag": "customer_account_attribute_groups", + "typeScriptTag": "customerAccountAttributeGroups", + "description": "Shows a customer_account_attribute_group", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountAttributeGroupId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_attribute_group to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_attribute_groups/{customer_account_attribute_group_id}", + "method": "update", + "httpMethod": "put", + "tag": "customer_account_attribute_groups", + "typeScriptTag": "customerAccountAttributeGroups", + "description": "Updates an customer_account_attribute_group", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountAttributeGroupId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account_attribute_group to update", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "fields", + "schema": "array", + "description": "" + }, + { + "name": "read_only", + "schema": "boolean", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/ep_code_combinations", + "method": "getAll", + "httpMethod": "get", + "tag": "ep_code_combinations", + "typeScriptTag": "epCodeCombinations", + "description": "Returns all ep_code_combinations", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/credentials/me", + "method": "getUserByOAuth", + "httpMethod": "get", + "tag": "credentials", + "typeScriptTag": "credentials", + "description": "Returns user if logged via OAuth", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/credentials/auth", + "method": "returnToken", + "httpMethod": "post", + "tag": "credentials", + "typeScriptTag": "credentials", + "description": "Returns EstateOs token", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboard_configs", + "method": "createNewConfig", + "httpMethod": "post", + "tag": "dashboard_configs", + "typeScriptTag": "dashboardConfigs", + "description": "Creates a dashboard_config within the current organisation", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboard_configs/{customer_account_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "dashboard_configs", + "typeScriptTag": "dashboardConfigs", + "description": "Marks a dashboard_config as deleted within the current organisation.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboard_configs/{customer_account_id}", + "method": "show", + "httpMethod": "get", + "tag": "dashboard_configs", + "typeScriptTag": "dashboardConfigs", + "description": "Shows the dashboard_configs", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboard_configs/{customer_account_id}", + "method": "updateWithinOrganisation", + "httpMethod": "put", + "tag": "dashboard_configs", + "typeScriptTag": "dashboardConfigs", + "description": "Updates an dashboard_config within the current organisation.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "aws_settings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards", + "method": "getCustomerAccount", + "httpMethod": "get", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Return customer account dashboards", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "filters", + "schema": "string", + "required": false, + "description": "Filter dashboard with filters
\n{ key1: \"value1\", key2: \"value2\" }\n" + }, + { + "name": "locale", + "schema": "string", + "required": true, + "description": "Locale", + "example": "LOCALE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/{dashboard_id}", + "method": "showDashboard", + "httpMethod": "get", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Shows a dashboard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "dashboardId", + "schema": "integer", + "required": true, + "description": "The ID of the dashboard", + "example": 0 + }, + { + "name": "filters", + "schema": "string", + "required": false, + "description": "Filter dashboard with filters
\n{ key1: 'value1', key2: 'value2' }\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/{dashboard_id}", + "method": "updateDashboard", + "httpMethod": "put", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Updates a dashboard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "dashboardId", + "schema": "integer", + "required": true, + "description": "The ID of the dashboard", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/synchronise", + "method": "synchronise", + "httpMethod": "get", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Synchronise dashboards", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Return status ok" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/session_expire", + "method": "expireSessions", + "httpMethod": "get", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Expire all sessions for the current user", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "locale", + "schema": "string", + "required": true, + "description": "The locale of the user", + "example": "LOCALE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Return status ok" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/{dashboard_id}/copy", + "method": "copyOnFolder", + "httpMethod": "put", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Copy a dashboard on looker", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "dashboardId", + "schema": "integer", + "required": true, + "description": "The ID of the dashboard", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/order", + "method": "orderDashboards", + "httpMethod": "put", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Order dashboards", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/dashboards/explore", + "method": "returnCustomerAccountExploreWithUrl", + "httpMethod": "get", + "tag": "dashboards", + "typeScriptTag": "dashboards", + "description": "Return customer account explore with url", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "filters", + "schema": "string", + "required": false, + "description": "Filter dashboard with filters
\n{ key1: 'value1', key2: 'value2' }\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps", + "method": "getAllApps", + "httpMethod": "get", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Returns all apps", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps", + "method": "createApp", + "httpMethod": "post", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Creates a app", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps/{app_id}", + "method": "deleteApp", + "httpMethod": "delete", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Deletes the app", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appId", + "schema": "integer", + "required": true, + "description": "The ID of the app to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps/{app_id}", + "method": "showApp", + "httpMethod": "get", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Shows a app", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appId", + "schema": "integer", + "required": true, + "description": "The ID of the app to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps/{app_id}", + "method": "updateApp", + "httpMethod": "put", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Updates a app", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appId", + "schema": "integer", + "required": true, + "description": "The ID of the app to update", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "currency", + "schema": "string", + "description": "" + }, + { + "name": "short_name", + "schema": "string", + "description": "" + }, + { + "name": "logo_base64", + "schema": "string", + "description": "" + }, + { + "name": "logo_filename_with_extension", + "schema": "string", + "description": "" + }, + { + "name": "data_partner_interface", + "schema": "string", + "description": "" + }, + { + "name": "default_retail_price", + "schema": "integer", + "description": "" + }, + { + "name": "default_retail_currency", + "schema": "string", + "description": "" + }, + { + "name": "default_realcube_price", + "schema": "integer", + "description": "" + }, + { + "name": "default_realcube_currency", + "schema": "string", + "description": "" + }, + { + "name": "default_price_category", + "schema": "string", + "description": "" + }, + { + "name": "default_data_lifetime", + "schema": "integer", + "description": "" + }, + { + "name": "catalog_update_frequency", + "schema": "integer", + "description": "" + }, + { + "name": "data_partner_base_url", + "schema": "string", + "description": "" + }, + { + "name": "data_partner_score_url", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_categories", + "method": "getAllCategories", + "httpMethod": "get", + "tag": "app_categories", + "typeScriptTag": "appCategories", + "description": "Returns all app's categories", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_subscriptions", + "method": "getAllSubs", + "httpMethod": "get", + "tag": "app_subscriptions", + "typeScriptTag": "appSubscriptions", + "description": "Returns all app's subscriptions", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_subscriptions", + "method": "createSubscription", + "httpMethod": "post", + "tag": "app_subscriptions", + "typeScriptTag": "appSubscriptions", + "description": "Creates an app's subscription.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_subscriptions/{app_subscription_id}", + "method": "deleteSubscription", + "httpMethod": "delete", + "tag": "app_subscriptions", + "typeScriptTag": "appSubscriptions", + "description": "Deletes the subscription", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appSubscriptionId", + "schema": "integer", + "required": true, + "description": "The ID of the subscription to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_subscriptions/{app_subscription_id}", + "method": "showSubscription", + "httpMethod": "get", + "tag": "app_subscriptions", + "typeScriptTag": "appSubscriptions", + "description": "Shows an app's subscription", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appSubscriptionId", + "schema": "integer", + "required": true, + "description": "The ID of the subscription to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_subscriptions/{app_subscription_id}", + "method": "updateSubscription", + "httpMethod": "put", + "tag": "app_subscriptions", + "typeScriptTag": "appSubscriptions", + "description": "Updates a app's subscription", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appSubscriptionId", + "schema": "integer", + "required": true, + "description": "The ID of the subscription to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "periodicity", + "schema": "string", + "description": "" + }, + { + "name": "price", + "schema": "number", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_configs", + "method": "getAllConfigs", + "httpMethod": "get", + "tag": "app_configs", + "typeScriptTag": "appConfigs", + "description": "Returns all app's configs.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "appSubscriptionId", + "schema": "integer", + "required": false, + "description": "The ID of the app_subscription" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_configs", + "method": "createConfig", + "httpMethod": "post", + "tag": "app_configs", + "typeScriptTag": "appConfigs", + "description": "Creates an app's config.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "organisation_ids", + "schema": "array", + "description": "" + }, + { + "name": "app_subscription_id", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_configs/{app_config_id}", + "method": "deleteConfig", + "httpMethod": "delete", + "tag": "app_configs", + "typeScriptTag": "appConfigs", + "description": "Deletes the config.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appConfigId", + "schema": "integer", + "required": true, + "description": "The ID of the config to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_configs/{app_config_id}", + "method": "showConfig", + "httpMethod": "get", + "tag": "app_configs", + "typeScriptTag": "appConfigs", + "description": "Shows an app's config.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appConfigId", + "schema": "integer", + "required": true, + "description": "The ID of the config to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_configs/{app_config_id}", + "method": "updateConfig", + "httpMethod": "put", + "tag": "app_configs", + "typeScriptTag": "appConfigs", + "description": "Updates a app's config.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appConfigId", + "schema": "integer", + "required": true, + "description": "The ID of the config to update", + "example": 0 + }, + { + "name": "organisation_ids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps/{app_id}/memberships", + "method": "deleteCategoryMembership", + "httpMethod": "delete", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Deletes the app category membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appCategoryMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the app category membership to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/apps/{app_id}/memberships", + "method": "createMembershipToCategory", + "httpMethod": "post", + "tag": "apps", + "typeScriptTag": "apps", + "description": "Creates a app membership to category", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appCategoryMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the app membership to create", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_data_repositories", + "method": "getAllDataRepositories", + "httpMethod": "get", + "tag": "app_data_repositories", + "typeScriptTag": "appDataRepositories", + "description": "Returns all subscription's data_repositories.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + }, + { + "name": "appSubscriptionId", + "schema": "integer", + "required": false, + "description": "The ID of the app_subscription" + }, + { + "name": "parentId", + "schema": "integer", + "required": false, + "description": "The ID of the parent" + }, + { + "name": "parentType", + "schema": "string", + "required": false, + "description": "The Type of the parent" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_data_repositories", + "method": "createNewRepository", + "httpMethod": "post", + "tag": "app_data_repositories", + "typeScriptTag": "appDataRepositories", + "description": "Creates a app_data_repository", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "app_data", + "schema": "object", + "description": "" + }, + { + "name": "app_subscription_id", + "schema": "integer", + "description": "" + }, + { + "name": "parent_id", + "schema": "integer", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_data_repositories/latest_version", + "method": "showRepository", + "httpMethod": "get", + "tag": "app_data_repositories", + "typeScriptTag": "appDataRepositories", + "description": "Shows an app_data_repository.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "parentId", + "schema": "integer", + "required": false, + "description": "The ID of the parent" + }, + { + "name": "parentType", + "schema": "string", + "required": false, + "description": "The Type of the parent" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_data_repositories/{app_data_repository_id}", + "method": "deleteRepository", + "httpMethod": "delete", + "tag": "app_data_repositories", + "typeScriptTag": "appDataRepositories", + "description": "Deletes the app_data_repository.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appDataRepositoryId", + "schema": "integer", + "required": true, + "description": "The ID of the app_data_repository", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/app_data_repositories/{app_data_repository_id}", + "method": "updateRepository", + "httpMethod": "put", + "tag": "app_data_repositories", + "typeScriptTag": "appDataRepositories", + "description": "Updates an app_data_repository", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "appDataRepositoryId", + "schema": "integer", + "required": true, + "description": "The ID of the app_data_repository", + "example": 0 + }, + { + "name": "app_data", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plans", + "method": "getAllInBuilding", + "httpMethod": "get", + "tag": "plans", + "typeScriptTag": "plans", + "description": "Returns all plans within the given building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building of the plan", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plans", + "method": "createNewPlan", + "httpMethod": "post", + "tag": "plans", + "typeScriptTag": "plans", + "description": "Creates a plan", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building of the plan", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plans/{plan_id}", + "method": "deletePlanWithinBuilding", + "httpMethod": "delete", + "tag": "plans", + "typeScriptTag": "plans", + "description": "Deletes the plan within the current building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building of the plan", + "example": 0 + }, + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plans/{plan_id}", + "method": "showPlan", + "httpMethod": "get", + "tag": "plans", + "typeScriptTag": "plans", + "description": "Shows a plan", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building of the plan", + "example": 0 + }, + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plans/{plan_id}", + "method": "updatePlan", + "httpMethod": "put", + "tag": "plans", + "typeScriptTag": "plans", + "description": "Updates a plan", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building of the plan", + "example": 0 + }, + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "trade", + "schema": "string", + "description": "" + }, + { + "name": "plan_type", + "schema": "string", + "description": "" + }, + { + "name": "planning_phase", + "schema": "string", + "description": "" + }, + { + "name": "presentation", + "schema": "string", + "description": "" + }, + { + "name": "plan_content", + "schema": "string", + "description": "" + }, + { + "name": "floor", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plan_configs", + "method": "getAllConfigs", + "httpMethod": "get", + "tag": "plan_configs", + "typeScriptTag": "planConfigs", + "description": "Returns all plan's configs.", + "parameters": [ + { + "name": "parentId", + "schema": "integer", + "required": false, + "description": "The ID of the parent" + }, + { + "name": "parentType", + "schema": "string", + "required": false, + "description": "The type of the parent\n Allowed parent_types: [\"Organisation\", \"Building\", \"Building::Unit\"]\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plan_versions", + "method": "createPlanVersion", + "httpMethod": "post", + "tag": "plan_versions", + "typeScriptTag": "planVersions", + "description": "Creates a plan", + "parameters": [ + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan of the plan version", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plan_versions/{id}", + "method": "deleteWithinCurrentPlan", + "httpMethod": "delete", + "tag": "plan_versions", + "typeScriptTag": "planVersions", + "description": "Deletes the plan version within the current plan", + "parameters": [ + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan of the version", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the plan version to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/plan_versions/{id}", + "method": "updateVersion", + "httpMethod": "put", + "tag": "plan_versions", + "typeScriptTag": "planVersions", + "description": "Updates a plan version", + "parameters": [ + { + "name": "planId", + "schema": "integer", + "required": true, + "description": "The ID of the plan of the plan version", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the plan version to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisations", + "method": "listMemberRoles", + "httpMethod": "get", + "tag": "organisations", + "typeScriptTag": "organisations", + "description": "Returns all organisations the authenticated user is member of including her membership role within each organisation", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID customer account to filter the users." + }, + { + "name": "page", + "schema": "string", + "required": false, + "description": "The page to paginate the users." + }, + { + "name": "perPage", + "schema": "string", + "required": false, + "description": "The number of users for a page" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisations", + "method": "createUserForCustomer", + "httpMethod": "post", + "tag": "organisations", + "typeScriptTag": "organisations", + "description": "Creates a organisation of the user for a customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID customer account of organisation." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisations/{organisation_id}", + "method": "deleteOrganisation", + "httpMethod": "delete", + "tag": "organisations", + "typeScriptTag": "organisations", + "description": "Deletes the organisation.", + "parameters": [ + { + "name": "organisationId", + "schema": "integer", + "required": true, + "description": "The ID of the organisation to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisations/{organisation_id}", + "method": "updateOrganisation", + "httpMethod": "put", + "tag": "organisations", + "typeScriptTag": "organisations", + "description": "Updates an organisation.", + "parameters": [ + { + "name": "organisationId", + "schema": "integer", + "required": true, + "description": "The ID of the organisation to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "comment", + "schema": "string", + "description": "" + }, + { + "name": "street", + "schema": "string", + "description": "" + }, + { + "name": "street_number", + "schema": "string", + "description": "" + }, + { + "name": "zip_code", + "schema": "string", + "description": "" + }, + { + "name": "city", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_configs", + "method": "createConfigForUser", + "httpMethod": "post", + "tag": "organisation_configs", + "typeScriptTag": "organisationConfigs", + "description": "Creates a config in an organisation for a user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "building", + "schema": "object", + "description": "" + }, + { + "name": "building_unit", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_configs/{organisation_config_id}", + "method": "delete", + "httpMethod": "delete", + "tag": "organisation_configs", + "typeScriptTag": "organisationConfigs", + "description": "Deletes the organisation configs.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "organisationConfigId", + "schema": "integer", + "required": true, + "description": "ID of the organisation config to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_configs/{organisation_config_id}", + "method": "getConfig", + "httpMethod": "get", + "tag": "organisation_configs", + "typeScriptTag": "organisationConfigs", + "description": "Returns the config for the current organisation of the user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "organisationConfigId", + "schema": "integer", + "required": true, + "description": "ID of the organisation config", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_configs/{organisation_config_id}", + "method": "updateUserConfig", + "httpMethod": "put", + "tag": "organisation_configs", + "typeScriptTag": "organisationConfigs", + "description": "Update a configs in an organisation for a user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "organisationConfigId", + "schema": "integer", + "required": true, + "description": "ID of the organisation config", + "example": 0 + }, + { + "name": "building", + "schema": "object", + "description": "" + }, + { + "name": "building_unit", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_memberships", + "method": "getAll", + "httpMethod": "get", + "tag": "organisation_memberships", + "typeScriptTag": "organisationMemberships", + "description": "Returns all memberships within the given organisation.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "currentOrganisationId", + "schema": "integer", + "required": false, + "description": "ID of the organisation" + }, + { + "name": "userId", + "schema": "integer", + "required": false, + "description": "ID of the user" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_memberships", + "method": "createUserMembership", + "httpMethod": "post", + "tag": "organisation_memberships", + "typeScriptTag": "organisationMemberships", + "description": "Creates a membership in an organisation for a user.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_memberships/{organisations_membership_id}", + "method": "deleteMembership", + "httpMethod": "delete", + "tag": "organisation_memberships", + "typeScriptTag": "organisationMemberships", + "description": "Deletes the organisation membership.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "organisationsMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the organisation membership to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/organisation_memberships/{organisations_membership_id}", + "method": "updateMembership", + "httpMethod": "put", + "tag": "organisation_memberships", + "typeScriptTag": "organisationMemberships", + "description": "Updates the organisation membership.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "organisationsMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the organisation membership to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_accounts/{id}/time_attribute_schema", + "method": "updateTimeAttributeSchema", + "httpMethod": "put", + "tag": "customer_accounts", + "typeScriptTag": "customerAccounts", + "description": "Updates a customer_account's time_attribute_schema.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "time_attribute_schema", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_accounts", + "method": "getAllUserAccounts", + "httpMethod": "get", + "tag": "customer_accounts", + "typeScriptTag": "customerAccounts", + "description": "Gets all user's customer_accounts.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_accounts/{id}", + "method": "getCustomerAccount", + "httpMethod": "get", + "tag": "customer_accounts", + "typeScriptTag": "customerAccounts", + "description": "Gets a customer_account.", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_attributes_schemas", + "method": "getAll", + "httpMethod": "get", + "tag": "customer_attributes_schemas", + "typeScriptTag": "customerAttributesSchemas", + "description": "Returns all customer attributes schemas.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_attributes_schemas", + "method": "createSchema", + "httpMethod": "post", + "tag": "customer_attributes_schemas", + "typeScriptTag": "customerAttributesSchemas", + "description": "Creates a customer attributes schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_attributes_schemas/{customer_attributes_schema_id}", + "method": "showSchema", + "httpMethod": "get", + "tag": "customer_attributes_schemas", + "typeScriptTag": "customerAttributesSchemas", + "description": "Shows a customer attributes schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAttributesSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the customer attributes schema to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_attributes_schema_memberships", + "method": "getAll", + "httpMethod": "get", + "tag": "customer_attributes_schema_memberships", + "typeScriptTag": "customerAttributesSchemaMemberships", + "description": "Returns all customer attributes schema memberships.", + "parameters": [ + { + "name": "organisationIds", + "schema": "array", + "required": true, + "description": "IDs of organisations" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_attributes_schema_memberships", + "method": "createMembership", + "httpMethod": "post", + "tag": "customer_attributes_schema_memberships", + "typeScriptTag": "customerAttributesSchemaMemberships", + "description": "Creates a customer attributes schema membership.", + "parameters": [ + { + "name": "organisation_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "customer_attributes_schema_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_configs", + "method": "getConfiguration", + "httpMethod": "get", + "tag": "customer_account_configs", + "typeScriptTag": "customerAccountConfigs", + "description": "Return customer account configuration of customer_account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "locale", + "schema": "string", + "required": false, + "description": "Locale" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_configs", + "method": "createConfiguration", + "httpMethod": "post", + "tag": "customer_account_configs", + "typeScriptTag": "customerAccountConfigs", + "description": "Create customer account configuration.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_configs/{customer_account_config_id}", + "method": "updateConfiguration", + "httpMethod": "put", + "tag": "customer_account_configs", + "typeScriptTag": "customerAccountConfigs", + "description": "Updates a customer account configuration.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountConfigId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_schemas", + "method": "getAll", + "httpMethod": "get", + "tag": "customer_account_schemas", + "typeScriptTag": "customerAccountSchemas", + "description": "Returns all customer account schemas.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_schemas", + "method": "createNewSchema", + "httpMethod": "post", + "tag": "customer_account_schemas", + "typeScriptTag": "customerAccountSchemas", + "description": "Create a customer account schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "comment", + "schema": "string", + "description": "" + }, + { + "name": "attributes_type", + "schema": "string", + "description": "" + }, + { + "name": "json_schema_de", + "schema": "object", + "description": "" + }, + { + "name": "json_schema_en", + "schema": "object", + "description": "" + }, + { + "name": "json_schema_gsw", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_schemas/{customer_account_schema_id}", + "method": "showSchema", + "httpMethod": "get", + "tag": "customer_account_schemas", + "typeScriptTag": "customerAccountSchemas", + "description": "Shows a customer account schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the customer account schema to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_schemas/{customer_account_schema_id}", + "method": "updateSchema", + "httpMethod": "put", + "tag": "customer_account_schemas", + "typeScriptTag": "customerAccountSchemas", + "description": "Update a customer account schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the customer account schema to show", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "comment", + "schema": "string", + "description": "" + }, + { + "name": "json_schema_de", + "schema": "object", + "description": "" + }, + { + "name": "json_schema_en", + "schema": "object", + "description": "" + }, + { + "name": "json_schema_gsw", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_categories", + "method": "getCategories", + "httpMethod": "get", + "tag": "customer_account_categories", + "typeScriptTag": "customerAccountCategories", + "description": "Return customer account categories of customer_account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "categoryId", + "schema": "integer", + "required": false, + "description": "Filter customer account categories based on category id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_categories", + "method": "createAccountCategory", + "httpMethod": "post", + "tag": "customer_account_categories", + "typeScriptTag": "customerAccountCategories", + "description": "Creates a customer account category", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "label", + "schema": "string", + "description": "" + }, + { + "name": "grouping", + "schema": "string", + "description": "" + }, + { + "name": "subgrouping", + "schema": "string", + "description": "" + }, + { + "name": "display_sort_order", + "schema": "integer", + "description": "" + }, + { + "name": "default", + "schema": "boolean", + "description": "" + }, + { + "name": "conversion_factor", + "schema": "integer", + "description": "" + }, + { + "name": "customer_editable", + "schema": "boolean", + "description": "" + }, + { + "name": "external_conversion", + "schema": "boolean", + "description": "" + }, + { + "name": "category", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_categories/{customer_account_category_id}", + "method": "deleteCategory", + "httpMethod": "delete", + "tag": "customer_account_categories", + "typeScriptTag": "customerAccountCategories", + "description": "Delete the customer account category", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountCategoryId", + "schema": "string", + "required": true, + "description": "ID of the customer account category you want to delete", + "example": "CUSTOMER_ACCOUNT_CATEGORY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_categories/{customer_account_category_id}", + "method": "updateCategory", + "httpMethod": "put", + "tag": "customer_account_categories", + "typeScriptTag": "customerAccountCategories", + "description": "Update the customer account category", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountCategoryId", + "schema": "string", + "required": true, + "description": "ID of the customer account category you want to update", + "example": "CUSTOMER_ACCOUNT_CATEGORY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contracts", + "method": "getAllContracts", + "httpMethod": "get", + "tag": "contracts", + "typeScriptTag": "contracts", + "description": "Returns all contracts within the given customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "organisationId", + "schema": "integer", + "required": false, + "description": "ID of the organisation" + }, + { + "name": "ids", + "schema": "array", + "required": false, + "description": "IDs of the contract" + }, + { + "name": "buildingId", + "schema": "integer", + "required": false, + "description": "ID of the building related with contract" + }, + { + "name": "unitId", + "schema": "integer", + "required": false, + "description": "ID of the unit related with contract" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contracts", + "method": "createNewContract", + "httpMethod": "post", + "tag": "contracts", + "typeScriptTag": "contracts", + "description": "Creates a contract", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contracts/{contract_id}", + "method": "deleteContract", + "httpMethod": "delete", + "tag": "contracts", + "typeScriptTag": "contracts", + "description": "Deletes the contract", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "The ID of the contract to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contracts/{contract_id}", + "method": "showContract", + "httpMethod": "get", + "tag": "contracts", + "typeScriptTag": "contracts", + "description": "Shows a contract", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "The ID of the contract to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contracts/{contract_id}", + "method": "updateContract", + "httpMethod": "put", + "tag": "contracts", + "typeScriptTag": "contracts", + "description": "Updates an contract", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "The ID of the contract to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_memberships/{contract_membership_id}", + "method": "destroyMembership", + "httpMethod": "delete", + "tag": "contract_memberships", + "typeScriptTag": "contractMemberships", + "description": "Destroys the contract membership.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership to be destroyed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_memberships", + "method": "createMembershipIn", + "httpMethod": "post", + "tag": "contract_memberships", + "typeScriptTag": "contractMemberships", + "description": "Creates a membership in contract.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "contract_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "member_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "member_type", + "schema": "string", + "required": true, + "description": "", + "example": "MEMBER_TYPE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_membership_costs", + "method": "getAllForMember", + "httpMethod": "get", + "tag": "contract_membership_costs", + "typeScriptTag": "contractMembershipCosts", + "description": "Returns all contract membership costs for current contract membership", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of contract membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_membership_costs", + "method": "createNewMembershipCost", + "httpMethod": "post", + "tag": "contract_membership_costs", + "typeScriptTag": "contractMembershipCosts", + "description": "Create contract membership cost", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of contract membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_membership_costs/{contract_membership_cost_id}", + "method": "deleteMembershipCost", + "httpMethod": "delete", + "tag": "contract_membership_costs", + "typeScriptTag": "contractMembershipCosts", + "description": "Delete the contract membership cost", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of contract membership", + "example": 0 + }, + { + "name": "contractMembershipCostId", + "schema": "integer", + "required": true, + "description": "ID of contract membership cost", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_membership_costs/{contract_membership_cost_id}", + "method": "showMembershipCost", + "httpMethod": "get", + "tag": "contract_membership_costs", + "typeScriptTag": "contractMembershipCosts", + "description": "Shows a contract membership cost", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of contract membership", + "example": 0 + }, + { + "name": "contractMembershipCostId", + "schema": "integer", + "required": true, + "description": "ID of contract membership cost", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_membership_costs/{contract_membership_cost_id}", + "method": "updateMembershipCost", + "httpMethod": "put", + "tag": "contract_membership_costs", + "typeScriptTag": "contractMembershipCosts", + "description": "Update a contract membership cost", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of contract membership", + "example": 0 + }, + { + "name": "contractMembershipCostId", + "schema": "integer", + "required": true, + "description": "ID of contract membership cost", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_additions", + "method": "getAllForCurrentContract", + "httpMethod": "get", + "tag": "contract_additions", + "typeScriptTag": "contractAdditions", + "description": "Returns all contract additions for current contract", + "parameters": [ + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "ID of the contract", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_additions", + "method": "createNewAddition", + "httpMethod": "post", + "tag": "contract_additions", + "typeScriptTag": "contractAdditions", + "description": "Create contract addition", + "parameters": [ + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "ID of the contract", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_additions/{contract_addition_id}", + "method": "deleteContractAddition", + "httpMethod": "delete", + "tag": "contract_additions", + "typeScriptTag": "contractAdditions", + "description": "Delete the contract addition", + "parameters": [ + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "ID of the contract", + "example": 0 + }, + { + "name": "contractAdditionId", + "schema": "integer", + "required": true, + "description": "ID of the contract addition", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_additions/{contract_addition_id}", + "method": "showDetail", + "httpMethod": "get", + "tag": "contract_additions", + "typeScriptTag": "contractAdditions", + "description": "Shows a contract addition", + "parameters": [ + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "ID of the contract", + "example": 0 + }, + { + "name": "contractAdditionId", + "schema": "integer", + "required": true, + "description": "ID of the contract addition", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_additions/{contract_addition_id}", + "method": "updateContractAddition", + "httpMethod": "put", + "tag": "contract_additions", + "typeScriptTag": "contractAdditions", + "description": "Update a contract addition", + "parameters": [ + { + "name": "contractId", + "schema": "integer", + "required": true, + "description": "ID of the contract", + "example": 0 + }, + { + "name": "contractAdditionId", + "schema": "integer", + "required": true, + "description": "ID of the contract addition", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_grants", + "method": "getAllForCurrentContract", + "httpMethod": "get", + "tag": "contract_grants", + "typeScriptTag": "contractGrants", + "description": "Returns all contract grants for current contract", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_grants", + "method": "createGrant", + "httpMethod": "post", + "tag": "contract_grants", + "typeScriptTag": "contractGrants", + "description": "Create contract grant", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_grants/{contract_grant_id}", + "method": "deleteGrant", + "httpMethod": "delete", + "tag": "contract_grants", + "typeScriptTag": "contractGrants", + "description": "Delete the contract grant", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership", + "example": 0 + }, + { + "name": "contractGrantId", + "schema": "integer", + "required": true, + "description": "ID of the contract grant", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_grants/{contract_grant_id}", + "method": "showGrant", + "httpMethod": "get", + "tag": "contract_grants", + "typeScriptTag": "contractGrants", + "description": "Shows a contract grant", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership", + "example": 0 + }, + { + "name": "contractGrantId", + "schema": "integer", + "required": true, + "description": "ID of the contract grant", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/contract_grants/{contract_grant_id}", + "method": "updateGrant", + "httpMethod": "put", + "tag": "contract_grants", + "typeScriptTag": "contractGrants", + "description": "Update a contract grant", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the contract membership", + "example": 0 + }, + { + "name": "contractGrantId", + "schema": "integer", + "required": true, + "description": "ID of the contract grant", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/security_deposits", + "method": "createDeposit", + "httpMethod": "post", + "tag": "security_deposits", + "typeScriptTag": "securityDeposits", + "description": "Creates a security deposit", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the Contract Membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/security_deposits/{security_deposit_id}", + "method": "deleteDeposit", + "httpMethod": "delete", + "tag": "security_deposits", + "typeScriptTag": "securityDeposits", + "description": "Deletes the Security Deposit", + "parameters": [ + { + "name": "securityDepositId", + "schema": "integer", + "required": true, + "description": "ID of the Security Deposit", + "example": 0 + }, + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the contract_membership", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/security_deposits/{security_deposit_id}", + "method": "updateSecurityDeposit", + "httpMethod": "put", + "tag": "security_deposits", + "typeScriptTag": "securityDeposits", + "description": "Updates an security deposit", + "parameters": [ + { + "name": "contractMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the Contract Membership", + "example": 0 + }, + { + "name": "securityDepositId", + "schema": "integer", + "required": true, + "description": "The ID of the security deposit to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/cost_types", + "method": "getAll", + "httpMethod": "get", + "tag": "cost_types", + "typeScriptTag": "costTypes", + "description": "Returns all types of costs within the given customer_account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/cost_types", + "method": "createTypeOfCost", + "httpMethod": "post", + "tag": "cost_types", + "typeScriptTag": "costTypes", + "description": "Creates a type of cost", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/cost_types/{id}", + "method": "deleteCostType", + "httpMethod": "delete", + "tag": "cost_types", + "typeScriptTag": "costTypes", + "description": "Deletes the cost_type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the cost_type to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/cost_types/{id}", + "method": "showType", + "httpMethod": "get", + "tag": "cost_types", + "typeScriptTag": "costTypes", + "description": "Shows a cost type", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the cost_type", + "example": 0 + }, + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/cost_types/{id}", + "method": "updateCostType", + "httpMethod": "put", + "tag": "cost_types", + "typeScriptTag": "costTypes", + "description": "Updates an cost_type", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the cost_type to update", + "example": 0 + }, + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "category", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_types", + "method": "getAllAvailable", + "httpMethod": "get", + "tag": "property_types", + "typeScriptTag": "propertyTypes", + "description": "Returns all property types currently available", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/properties", + "method": "listForOrganisation", + "httpMethod": "get", + "tag": "properties", + "typeScriptTag": "properties", + "description": "Returns all properties for the current organisation within the given organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "externalId", + "schema": "string", + "required": false, + "description": "The ID on other systems of the properties to show" + }, + { + "name": "sourceSystem", + "schema": "string", + "required": false, + "description": "The name on other systems of the properties to show" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/properties", + "method": "createForOrganisation", + "httpMethod": "post", + "tag": "properties", + "typeScriptTag": "properties", + "description": "Creates a property for the current organisation of the user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/properties/{property_id}", + "method": "deletePropertyWithinOrganisation", + "httpMethod": "delete", + "tag": "properties", + "typeScriptTag": "properties", + "description": "Deletes the property within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "propertyId", + "schema": "integer", + "required": true, + "description": "ID of the property you want to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/properties/{property_id}", + "method": "getForOrganisation", + "httpMethod": "get", + "tag": "properties", + "typeScriptTag": "properties", + "description": "Returns the property for the current organisation of the user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "propertyId", + "schema": "integer", + "required": true, + "description": "ID of the property", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/properties/{property_id}", + "method": "updateForOrganisation", + "httpMethod": "put", + "tag": "properties", + "typeScriptTag": "properties", + "description": "Updates the property for the current organisation of the user.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "propertyId", + "schema": "integer", + "required": true, + "description": "ID of the property you want to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_managers", + "method": "getAllWithinCustomer", + "httpMethod": "get", + "tag": "property_managers", + "typeScriptTag": "propertyManagers", + "description": "Returns all property managers within the given customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_managers", + "method": "createNewManager", + "httpMethod": "post", + "tag": "property_managers", + "typeScriptTag": "propertyManagers", + "description": "Creates a property manager for the current customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_managers/{property_manager_id}", + "method": "deleteManagerWithinAccount", + "httpMethod": "delete", + "tag": "property_managers", + "typeScriptTag": "propertyManagers", + "description": "Deletes the property manager within the current account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "propertyManagerId", + "schema": "integer", + "required": true, + "description": "ID of the property manager you want to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_managers/{property_manager_id}", + "method": "getCurrentManager", + "httpMethod": "get", + "tag": "property_managers", + "typeScriptTag": "propertyManagers", + "description": "Returns the property manager for the current account of the user.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "propertyManagerId", + "schema": "integer", + "required": true, + "description": "ID of the property manager", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/property_managers/{property_manager_id}", + "method": "updateCurrentAccountUser", + "httpMethod": "put", + "tag": "property_managers", + "typeScriptTag": "propertyManagers", + "description": "Updates the property manager for the current account of the user.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "propertyManagerId", + "schema": "integer", + "required": true, + "description": "ID of the property manager you want to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/lots", + "method": "getAll", + "httpMethod": "get", + "tag": "lots", + "typeScriptTag": "lots", + "description": "Returns all lots within the given organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/lots", + "method": "createNewLot", + "httpMethod": "post", + "tag": "lots", + "typeScriptTag": "lots", + "description": "Creates a lot.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/lots/{lot_id}", + "method": "deleteLotWithinOrganisation", + "httpMethod": "delete", + "tag": "lots", + "typeScriptTag": "lots", + "description": "Deletes the lot within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "lotId", + "schema": "integer", + "required": true, + "description": "The ID of the lot to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/lots/{lot_id}", + "method": "showLot", + "httpMethod": "get", + "tag": "lots", + "typeScriptTag": "lots", + "description": "Shows a lot.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "lotId", + "schema": "integer", + "required": true, + "description": "The ID of the lot to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/lots/{lot_id}", + "method": "updateLot", + "httpMethod": "put", + "tag": "lots", + "typeScriptTag": "lots", + "description": "Updates an lot.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "lotId", + "schema": "integer", + "required": true, + "description": "The ID of the lot to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings", + "method": "getAllSettings", + "httpMethod": "get", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Returns all building filter settings currently available", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings", + "method": "createSettings", + "httpMethod": "post", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Create building filter settings", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings/filter_setting_fields", + "method": "getAllFields", + "httpMethod": "get", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Returns all building and building unit fields.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings/{building_filter_setting_id}", + "method": "deleteSetting", + "httpMethod": "delete", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Deletes the building filter setting within the current customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingFilterSettingId", + "schema": "integer", + "required": true, + "description": "ID of the building filter setting to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings/{building_filter_setting_id}", + "method": "showSetting", + "httpMethod": "get", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Shows a building filter setting", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingFilterSettingId", + "schema": "integer", + "required": true, + "description": "ID of the building filter setting to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_filter_settings/{building_filter_setting_id}", + "method": "updateSetting", + "httpMethod": "put", + "tag": "building_filter_settings", + "typeScriptTag": "buildingFilterSettings", + "description": "Updates a building filter setting.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingFilterSettingId", + "schema": "string", + "required": true, + "description": "ID of the building filter setting you want to update", + "example": "BUILDING_FILTER_SETTING_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_save_filters", + "method": "getAllFilters", + "httpMethod": "get", + "tag": "building_save_filters", + "typeScriptTag": "buildingSaveFilters", + "description": "Returns all save filters for current user", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_save_filters", + "method": "createBuildingSaveFilter", + "httpMethod": "post", + "tag": "building_save_filters", + "typeScriptTag": "buildingSaveFilters", + "description": "Create building save filter", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_save_filters/{building_save_filter_id}", + "method": "deleteSaveFilter", + "httpMethod": "delete", + "tag": "building_save_filters", + "typeScriptTag": "buildingSaveFilters", + "description": "Delete the save filter", + "parameters": [ + { + "name": "buildingSaveFilterId", + "schema": "integer", + "required": true, + "description": "ID of the save filter", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_save_filters/{building_save_filter_id}", + "method": "showSaveFilter", + "httpMethod": "get", + "tag": "building_save_filters", + "typeScriptTag": "buildingSaveFilters", + "description": "Shows a save filter", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingSaveFilterId", + "schema": "integer", + "required": true, + "description": "ID of the save filter", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_save_filters/{building_save_filter_id}", + "method": "updateSaveFilter", + "httpMethod": "put", + "tag": "building_save_filters", + "typeScriptTag": "buildingSaveFilters", + "description": "Update a save filter", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingSaveFilterId", + "schema": "integer", + "required": true, + "description": "ID of the save filter", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_types", + "method": "getAllBuildingTypes", + "httpMethod": "get", + "tag": "building_types", + "typeScriptTag": "buildingTypes", + "description": "Returns all building types currently available", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings", + "method": "getAllWithinOrganisation", + "httpMethod": "get", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "Returns all buildings within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "externalId", + "schema": "string", + "required": false, + "description": "The ID on other systems of the buildings to show" + }, + { + "name": "sourceSystem", + "schema": "string", + "required": false, + "description": "The name on other systems of the buildings to show" + }, + { + "name": "presetsStandardFields", + "schema": "object", + "required": false, + "description": "Filter building with standard fields of building and building_units
\n {\n building: { name: ['name_of_building',...], city: ['Berlin', ...]}\n building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] }\n }\n" + }, + { + "name": "presetsCustomerAttributes", + "schema": "object", + "required": false, + "description": "Filter building with customer_attributes of building and building_units
\nall attributes can be strings separated by | except array fields that should be one array with strings\n {\n building: { region: 'Südwest|West', ...}\n building_unit: { unit_type: 'assisted_living_own_woe|living', ... }\n }\n" + }, + { + "name": "tags", + "schema": "object", + "required": false, + "description": "Filter building with tag label related to building and building_units
\n {\n building: ['label_of_a_tag',...]\n building_unit: ['label_of_a_tag',...]\n }\n" + }, + { + "name": "categories", + "schema": "object", + "required": false, + "description": "Filter building with category label related to building and building_units
\n {\n building: { person_memberships: { architect: ['John Doe'], property_manager: ['John Doe 2'] } }\n building_unit: { building_unit_places: ['Building unit place 1'] }\n }\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings", + "method": "createNewBuilding", + "httpMethod": "post", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "Creates a building", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings/{building_id}", + "method": "deleteBuilding", + "httpMethod": "delete", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "Deletes the building within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings/{building_id}", + "method": "showBuilding", + "httpMethod": "get", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "Shows a building", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings/{building_id}", + "method": "updateBuildingTimeDependentAttributes", + "httpMethod": "put", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "Updates an building", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings/{building_id}/scorecard_memberships", + "method": "listScorecardMemberships", + "httpMethod": "get", + "tag": "buildings", + "typeScriptTag": "buildings", + "description": "List scorecard memberships by building", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "The ID of the building to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_types", + "method": "getAll", + "httpMethod": "get", + "tag": "building_unit_types", + "typeScriptTag": "buildingUnitTypes", + "description": "Returns all building unit types for that customer account including default types", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_types", + "method": "createType", + "httpMethod": "post", + "tag": "building_unit_types", + "typeScriptTag": "buildingUnitTypes", + "description": "Create building unit type.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of customer account", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_types/{building_unit_type_id}", + "method": "delete", + "httpMethod": "delete", + "tag": "building_unit_types", + "typeScriptTag": "buildingUnitTypes", + "description": "Deletes building unit type within the current customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingUnitTypeId", + "schema": "integer", + "required": true, + "description": "ID of building unit type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_types/{building_unit_type_id}", + "method": "showType", + "httpMethod": "get", + "tag": "building_unit_types", + "typeScriptTag": "buildingUnitTypes", + "description": "Shows a building unit type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "buildingUnitTypeId", + "schema": "integer", + "required": true, + "description": "ID of building unit type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_types/{building_unit_type_id}", + "method": "updateBuildingUnitType", + "httpMethod": "put", + "tag": "building_unit_types", + "typeScriptTag": "buildingUnitTypes", + "description": "Updates a building unit type.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of customer account", + "example": 0 + }, + { + "name": "buildingUnitTypeId", + "schema": "integer", + "required": true, + "description": "ID of building unit type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units", + "method": "getAllWithinOrganisation", + "httpMethod": "get", + "tag": "building_units", + "typeScriptTag": "buildingUnits", + "description": "Returns all building units within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "externalId", + "schema": "string", + "required": false, + "description": "The ID on other systems of the buildings to show" + }, + { + "name": "sourceSystem", + "schema": "string", + "required": false, + "description": "The name on other systems of the buildings to show" + }, + { + "name": "buildingIds", + "schema": "string", + "required": false, + "description": "The IDs of building", + "example": "1,2,3" + }, + { + "name": "presetsStandardFields", + "schema": "object", + "required": true, + "description": "Filter building units with standard fields
\n {\n building_unit: { name: ['name_of_unit', ...], tenant: ['name_of_tentant', ...] }\n }\n" + }, + { + "name": "presetsCustomerAttributes", + "schema": "object", + "required": true, + "description": "Filter building units with customer_attributes fields
\nall attributes can be strings separated by | except array fields that should be one array with strings\n {\n building_unit: { unit_type: 'assisted_living_own_woe|living', ... }\n }\n" + }, + { + "name": "tags", + "schema": "object", + "required": false, + "description": "Filter units with tag label
\n {\n building_unit: ['label_of_a_tag',...]\n }\n" + }, + { + "name": "categories", + "schema": "object", + "required": false, + "description": "Filter building units with category label related to building_units
\n {\n building: {}\n building_unit: { building_unit_places: [\"Building unit place label\"] }\n }\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units", + "method": "createUnit", + "httpMethod": "post", + "tag": "building_units", + "typeScriptTag": "buildingUnits", + "description": "Creates a building unit", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units/{building_unit_id}", + "method": "destroyUnitAndMemberships", + "httpMethod": "delete", + "tag": "building_units", + "typeScriptTag": "buildingUnits", + "description": "Destroys the building unit and all memberships of that unit!", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit to be destroyed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units/{building_unit_id}", + "method": "showUnitMemberships", + "httpMethod": "get", + "tag": "building_units", + "typeScriptTag": "buildingUnits", + "description": "Shows a building unit and all memberships of that unit", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units/{building_unit_id}", + "method": "updateUnit", + "httpMethod": "put", + "tag": "building_units", + "typeScriptTag": "buildingUnits", + "description": "Updates the building unit", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit to be updated", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_memberships/{building_unit_membership_id}", + "method": "destroyOrganisationMembership", + "httpMethod": "delete", + "tag": "building_unit_memberships", + "typeScriptTag": "buildingUnitMemberships", + "description": "Destroys the organisation membership", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingUnitMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the organisation membership to be destroyed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_memberships", + "method": "createMembershipInUnit", + "httpMethod": "post", + "tag": "building_unit_memberships", + "typeScriptTag": "buildingUnitMemberships", + "description": "Creates a membership in building unit", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "unit_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "member_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "member_type", + "schema": "string", + "required": true, + "description": "", + "example": "MEMBER_TYPE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_energies", + "method": "getBuildingEnergies", + "httpMethod": "get", + "tag": "building_energies", + "typeScriptTag": "buildingEnergies", + "description": "Return building energies of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_energies", + "method": "createEnergy", + "httpMethod": "post", + "tag": "building_energies", + "typeScriptTag": "buildingEnergies", + "description": "Creates a building energy", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_energies/{building_energy_id}", + "method": "updateEnergy", + "httpMethod": "put", + "tag": "building_energies", + "typeScriptTag": "buildingEnergies", + "description": "Update building energy", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingEnergyId", + "schema": "string", + "required": true, + "description": "ID of the building energy to update", + "example": "BUILDING_ENERGY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings_finances", + "method": "returnBuildingFinances", + "httpMethod": "get", + "tag": "buildings_finances", + "typeScriptTag": "buildingsFinances", + "description": "Return building finances of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings_finances", + "method": "createFinance", + "httpMethod": "post", + "tag": "buildings_finances", + "typeScriptTag": "buildingsFinances", + "description": "Creates a building finance", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/buildings_finances/{buildings_finance_id}", + "method": "updateFinance", + "httpMethod": "put", + "tag": "buildings_finances", + "typeScriptTag": "buildingsFinances", + "description": "Update building finance", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingsFinanceId", + "schema": "string", + "required": true, + "description": "ID of the building finance to update", + "example": "BUILDINGS_FINANCE_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units_finances", + "method": "createFinance", + "httpMethod": "post", + "tag": "building_units_finances", + "typeScriptTag": "buildingUnitsFinances", + "description": "Creates a building unit finance", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_units_finances/{building_units_finance_id}", + "method": "updateFinance", + "httpMethod": "put", + "tag": "building_units_finances", + "typeScriptTag": "buildingUnitsFinances", + "description": "Update building unit finance", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + }, + { + "name": "buildingUnitsFinanceId", + "schema": "string", + "required": true, + "description": "ID of the building unit finance to update", + "example": "BUILDING_UNITS_FINANCE_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_fms", + "method": "getBuildingFms", + "httpMethod": "get", + "tag": "building_fms", + "typeScriptTag": "buildingFms", + "description": "Return building fms of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_fms", + "method": "createBuildingFm", + "httpMethod": "post", + "tag": "building_fms", + "typeScriptTag": "buildingFms", + "description": "Creates a building fm", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_fms/{building_fm_id}", + "method": "updateBuildingFm", + "httpMethod": "put", + "tag": "building_fms", + "typeScriptTag": "buildingFms", + "description": "Update building fm", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingFmId", + "schema": "string", + "required": true, + "description": "ID of the building fm to update", + "example": "BUILDING_FM_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retails", + "method": "list", + "httpMethod": "get", + "tag": "building_unit_retails", + "typeScriptTag": "buildingUnitRetails", + "description": "Return building unit retails of the building", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retails", + "method": "createRetailUnit", + "httpMethod": "post", + "tag": "building_unit_retails", + "typeScriptTag": "buildingUnitRetails", + "description": "Creates a building unit retail", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retails/{building_unit_retail_id}", + "method": "updateUnitRetail", + "httpMethod": "put", + "tag": "building_unit_retails", + "typeScriptTag": "buildingUnitRetails", + "description": "Update building unit retail", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingUnitRetailId", + "schema": "string", + "required": true, + "description": "ID of the building unit retail to update", + "example": "BUILDING_UNIT_RETAIL_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retail_metrics", + "method": "getBuildingUnitRetails", + "httpMethod": "get", + "tag": "building_unit_retail_metrics", + "typeScriptTag": "buildingUnitRetailMetrics", + "description": "Return building unit retails of the building unit retail", + "parameters": [ + { + "name": "buildingUnitRetailId", + "schema": "integer", + "required": true, + "description": "ID of the building unit retail unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retail_metrics", + "method": "createMetric", + "httpMethod": "post", + "tag": "building_unit_retail_metrics", + "typeScriptTag": "buildingUnitRetailMetrics", + "description": "Creates a building unit retail metric", + "parameters": [ + { + "name": "buildingUnitRetailId", + "schema": "integer", + "required": true, + "description": "ID of the building unit retail unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_retail_metrics/{building_unit_retail_metric_id}", + "method": "updateRetailBuildingUnit", + "httpMethod": "put", + "tag": "building_unit_retail_metrics", + "typeScriptTag": "buildingUnitRetailMetrics", + "description": "Update building unit retail", + "parameters": [ + { + "name": "buildingUnitRetailId", + "schema": "integer", + "required": true, + "description": "ID of the building unit retail", + "example": 0 + }, + { + "name": "buildingUnitRetailMetricId", + "schema": "string", + "required": true, + "description": "ID of the building unit retail metric to update", + "example": "BUILDING_UNIT_RETAIL_METRIC_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_waters", + "method": "getBuildingWaters", + "httpMethod": "get", + "tag": "building_waters", + "typeScriptTag": "buildingWaters", + "description": "Return building waters of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_waters", + "method": "createBuildingWater", + "httpMethod": "post", + "tag": "building_waters", + "typeScriptTag": "buildingWaters", + "description": "Creates a building water", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_waters/{building_water_id}", + "method": "updateBuildingWater", + "httpMethod": "put", + "tag": "building_waters", + "typeScriptTag": "buildingWaters", + "description": "Update building water", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingWaterId", + "schema": "string", + "required": true, + "description": "ID of the building water to update", + "example": "BUILDING_WATER_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/addtl_building_ids", + "method": "getBuildingIds", + "httpMethod": "get", + "tag": "addtl_building_ids", + "typeScriptTag": "addtlBuildingIds", + "description": "Return addtl building ids of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/addtl_building_ids", + "method": "createId", + "httpMethod": "post", + "tag": "addtl_building_ids", + "typeScriptTag": "addtlBuildingIds", + "description": "Creates a addtl building id", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/addtl_building_ids/{addtl_building_id_id}", + "method": "updateBuildingId", + "httpMethod": "put", + "tag": "addtl_building_ids", + "typeScriptTag": "addtlBuildingIds", + "description": "Update addtl building id", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "addtlBuildingIdId", + "schema": "string", + "required": true, + "description": "ID of the addtl building id to update", + "example": "ADDTL_BUILDING_ID_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/phases", + "method": "getBuildingPhases", + "httpMethod": "get", + "tag": "phases", + "typeScriptTag": "phases", + "description": "Return phases of the building", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/phases", + "method": "createPhase", + "httpMethod": "post", + "tag": "phases", + "typeScriptTag": "phases", + "description": "Creates a phase", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/phases/{phase_id}", + "method": "updatePhase", + "httpMethod": "put", + "tag": "phases", + "typeScriptTag": "phases", + "description": "Update phase", + "parameters": [ + { + "name": "phaseId", + "schema": "string", + "required": true, + "description": "ID of the phase to update", + "example": "PHASE_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_trackers", + "method": "getRentTrackers", + "httpMethod": "get", + "tag": "rent_trackers", + "typeScriptTag": "rentTrackers", + "description": "Return rent_trackers", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": true, + "description": "ID of the customer_account", + "example": "CUSTOMER_ACCOUNT_ID" + }, + { + "name": "organisationId", + "schema": "string", + "description": "ID of the organisation" + }, + { + "name": "unitIds", + "schema": "string", + "description": "IDs of the units", + "example": "1,2,3" + }, + { + "name": "contractIds", + "schema": "string", + "description": "IDs of the contracts", + "example": "1,2,3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_trackers", + "method": "createRentTracker", + "httpMethod": "post", + "tag": "rent_trackers", + "typeScriptTag": "rentTrackers", + "description": "Creates a rent_tracker", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": true, + "description": "ID of the customer_account", + "example": "CUSTOMER_ACCOUNT_ID" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_trackers/{rent_tracker_id}", + "method": "getRentTracker", + "httpMethod": "get", + "tag": "rent_trackers", + "typeScriptTag": "rentTrackers", + "description": "Return rent_tracker", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": true, + "description": "ID of the customer_account", + "example": "CUSTOMER_ACCOUNT_ID" + }, + { + "name": "rentTrackerId", + "schema": "string", + "required": true, + "description": "ID of the rent_tracker", + "example": "RENT_TRACKER_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_trackers/{rent_tracker_id}", + "method": "updateRentTracker", + "httpMethod": "put", + "tag": "rent_trackers", + "typeScriptTag": "rentTrackers", + "description": "Update rent_tracker", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": true, + "description": "ID of the customer_account", + "example": "CUSTOMER_ACCOUNT_ID" + }, + { + "name": "rentTrackerId", + "schema": "string", + "required": true, + "description": "ID of the rent_tracker to update", + "example": "RENT_TRACKER_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_parkings", + "method": "getBuildingParkings", + "httpMethod": "get", + "tag": "building_parkings", + "typeScriptTag": "buildingParkings", + "description": "Return building parkings of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_parkings", + "method": "createNewParking", + "httpMethod": "post", + "tag": "building_parkings", + "typeScriptTag": "buildingParkings", + "description": "Creates a building parking", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_parkings/{building_parking_id}", + "method": "updateParking", + "httpMethod": "put", + "tag": "building_parkings", + "typeScriptTag": "buildingParkings", + "description": "Update building parking", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingParkingId", + "schema": "string", + "required": true, + "description": "ID of the building parking to update", + "example": "BUILDING_PARKING_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_areas", + "method": "getBuildingAreas", + "httpMethod": "get", + "tag": "building_areas", + "typeScriptTag": "buildingAreas", + "description": "Return building areas of the building", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_areas", + "method": "createNewBuildingArea", + "httpMethod": "post", + "tag": "building_areas", + "typeScriptTag": "buildingAreas", + "description": "Creates a building area", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_areas/{building_area_id}", + "method": "updateArea", + "httpMethod": "put", + "tag": "building_areas", + "typeScriptTag": "buildingAreas", + "description": "Update building area", + "parameters": [ + { + "name": "buildingId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingAreaId", + "schema": "string", + "required": true, + "description": "ID of the building area to update", + "example": "BUILDING_AREA_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_areas", + "method": "getBuildingAreas", + "httpMethod": "get", + "tag": "building_unit_areas", + "typeScriptTag": "buildingUnitAreas", + "description": "Return building areas of the building", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_areas", + "method": "createArea", + "httpMethod": "post", + "tag": "building_unit_areas", + "typeScriptTag": "buildingUnitAreas", + "description": "Creates a building area", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_areas/{building_unit_area_id}", + "method": "updateArea", + "httpMethod": "put", + "tag": "building_unit_areas", + "typeScriptTag": "buildingUnitAreas", + "description": "Update building area", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + }, + { + "name": "buildingUnitAreaId", + "schema": "string", + "required": true, + "description": "ID of the building area to update", + "example": "BUILDING_UNIT_AREA_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places", + "method": "getUnitPlaces", + "httpMethod": "get", + "tag": "building_unit_places", + "typeScriptTag": "buildingUnitPlaces", + "description": "Return building unit places of the unit", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places", + "method": "createPlace", + "httpMethod": "post", + "tag": "building_unit_places", + "typeScriptTag": "buildingUnitPlaces", + "description": "Creates a building unit places", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places/{building_unit_place_id}", + "method": "updatePlace", + "httpMethod": "put", + "tag": "building_unit_places", + "typeScriptTag": "buildingUnitPlaces", + "description": "Update building unit place", + "parameters": [ + { + "name": "buildingUnitId", + "schema": "integer", + "required": true, + "description": "ID of the building unit", + "example": 0 + }, + { + "name": "buildingUnitPlaceId", + "schema": "string", + "required": true, + "description": "ID of the building unit place to update", + "example": "BUILDING_UNIT_PLACE_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_timeboxeds", + "method": "getBuildingEnergies", + "httpMethod": "get", + "tag": "building_unit_places_timeboxeds", + "typeScriptTag": "buildingUnitPlacesTimeboxeds", + "description": "Return building energies of the building", + "parameters": [ + { + "name": "buildingUnitPlaceId", + "schema": "integer", + "required": true, + "description": "ID of the building unit place", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_timeboxeds", + "method": "createTimeboxed", + "httpMethod": "post", + "tag": "building_unit_places_timeboxeds", + "typeScriptTag": "buildingUnitPlacesTimeboxeds", + "description": "Creates a building unit place timeboxed", + "parameters": [ + { + "name": "buildingUnitPlaceId", + "schema": "integer", + "required": true, + "description": "ID of the building unit place", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_timeboxeds/{building_unit_places_timeboxed_id}", + "method": "updateTimeboxed", + "httpMethod": "put", + "tag": "building_unit_places_timeboxeds", + "typeScriptTag": "buildingUnitPlacesTimeboxeds", + "description": "Update building unit place timeboxed", + "parameters": [ + { + "name": "buildingUnitPlaceId", + "schema": "integer", + "required": true, + "description": "ID of the building", + "example": 0 + }, + { + "name": "buildingUnitPlacesTimeboxedId", + "schema": "string", + "required": true, + "description": "ID of the building unit place timeboxed to update", + "example": "BUILDING_UNIT_PLACES_TIMEBOXED_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_properties", + "method": "returnProperties", + "httpMethod": "get", + "tag": "building_unit_places_properties", + "typeScriptTag": "buildingUnitPlacesProperties", + "description": "Return building unit place properties", + "parameters": [ + { + "name": "buildingUnitPlacesTimeboxedId", + "schema": "integer", + "required": true, + "description": "ID of the building unit place timeboxed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_properties", + "method": "createNew", + "httpMethod": "post", + "tag": "building_unit_places_properties", + "typeScriptTag": "buildingUnitPlacesProperties", + "description": "Creates a building unit place property", + "parameters": [ + { + "name": "buildingUnitPlacesTimeboxedId", + "schema": "integer", + "required": true, + "description": "ID of the building unit timeboxed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/building_unit_places_properties/{building_unit_places_property_id}", + "method": "updateProperty", + "httpMethod": "put", + "tag": "building_unit_places_properties", + "typeScriptTag": "buildingUnitPlacesProperties", + "description": "Update building unit place property", + "parameters": [ + { + "name": "buildingUnitPlacesTimeboxedId", + "schema": "integer", + "required": true, + "description": "ID of the timeboxed", + "example": 0 + }, + { + "name": "buildingUnitPlacesPropertyId", + "schema": "string", + "required": true, + "description": "ID of the building unit place property to update", + "example": "BUILDING_UNIT_PLACES_PROPERTY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/people", + "method": "getAllWithinOrganisation", + "httpMethod": "get", + "tag": "people", + "typeScriptTag": "people", + "description": "Returns all people within the given organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/people", + "method": "createPerson", + "httpMethod": "post", + "tag": "people", + "typeScriptTag": "people", + "description": "Creates a person.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": false, + "description": "The ID of the current organisation" + }, + { + "name": "contact", + "schema": "boolean", + "required": false, + "description": "Boolean check if the person is a contact" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/people/{person_id}", + "method": "deletePersonWithinOrganisation", + "httpMethod": "delete", + "tag": "people", + "typeScriptTag": "people", + "description": "Deletes the person within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "personId", + "schema": "integer", + "required": true, + "description": "The ID of the person to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/people/{person_id}", + "method": "showPerson", + "httpMethod": "get", + "tag": "people", + "typeScriptTag": "people", + "description": "Shows a person.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "personId", + "schema": "integer", + "required": true, + "description": "The ID of the person to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/people/{person_id}", + "method": "updatePerson", + "httpMethod": "put", + "tag": "people", + "typeScriptTag": "people", + "description": "Updates an person.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "personId", + "schema": "integer", + "required": true, + "description": "The ID of the person to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_templates", + "method": "getAllTemplates", + "httpMethod": "get", + "tag": "report_templates", + "typeScriptTag": "reportTemplates", + "description": "Returns all report template for current customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_templates", + "method": "createNewTemplate", + "httpMethod": "post", + "tag": "report_templates", + "typeScriptTag": "reportTemplates", + "description": "Create report template.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_templates/{report_template_id}", + "method": "deleteReportTemplate", + "httpMethod": "delete", + "tag": "report_templates", + "typeScriptTag": "reportTemplates", + "description": "Delete the report template.", + "parameters": [ + { + "name": "reportTemplateId", + "schema": "integer", + "required": true, + "description": "ID of the report template", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_templates/{report_template_id}", + "method": "showTemplate", + "httpMethod": "get", + "tag": "report_templates", + "typeScriptTag": "reportTemplates", + "description": "Shows a report template", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "reportTemplateId", + "schema": "integer", + "required": true, + "description": "ID of the report template", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_templates/{report_template_id}", + "method": "updateTemplate", + "httpMethod": "put", + "tag": "report_templates", + "typeScriptTag": "reportTemplates", + "description": "Update a report template.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "reportTemplateId", + "schema": "integer", + "required": true, + "description": "ID of the report template", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_account_schemas", + "method": "getAll", + "httpMethod": "get", + "tag": "report_account_schemas", + "typeScriptTag": "reportAccountSchemas", + "description": "Returns all report account schemas for current customer account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_account_schemas", + "method": "createNewReportAccountSchema", + "httpMethod": "post", + "tag": "report_account_schemas", + "typeScriptTag": "reportAccountSchemas", + "description": "Customer account users only 🔒", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_account_schemas/{report_account_schema_id}", + "method": "deleteSchema", + "httpMethod": "delete", + "tag": "report_account_schemas", + "typeScriptTag": "reportAccountSchemas", + "description": "Delete the report account schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "reportAccountSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the report account schema", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_account_schemas/{report_account_schema_id}", + "method": "showReportAccountSchema", + "httpMethod": "get", + "tag": "report_account_schemas", + "typeScriptTag": "reportAccountSchemas", + "description": "Shows a report account schema", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "reportAccountSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the report account schema", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/report_account_schemas/{report_account_schema_id}", + "method": "updateSchema", + "httpMethod": "put", + "tag": "report_account_schemas", + "typeScriptTag": "reportAccountSchemas", + "description": "Update a report account schema.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "reportAccountSchemaId", + "schema": "integer", + "required": true, + "description": "ID of the report account schema", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/person_memberships", + "method": "listWithinOrganisation", + "httpMethod": "get", + "tag": "person_memberships", + "typeScriptTag": "personMemberships", + "description": "Returns all person_memberships within the given organisation. ", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "The ID of the current organisation", + "example": 0 + }, + { + "name": "memberId", + "schema": "integer", + "required": true, + "description": "The ID of the member", + "example": 0 + }, + { + "name": "memberType", + "schema": "string", + "required": true, + "description": "The type of the member", + "example": "MEMBER_TYPE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/person_memberships", + "method": "createMembershipInPerson", + "httpMethod": "post", + "tag": "person_memberships", + "typeScriptTag": "personMemberships", + "description": "Creates a membership in person", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "person_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "role", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "label_id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "member_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "member_type", + "schema": "string", + "required": true, + "description": "", + "example": "MEMBER_TYPE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/person_memberships/{person_membership_id}", + "method": "destroyMembership", + "httpMethod": "delete", + "tag": "person_memberships", + "typeScriptTag": "personMemberships", + "description": "Destroys the person membership", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "personMembershipId", + "schema": "integer", + "required": true, + "description": "ID of the person membership to be destroyed", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/levels", + "method": "getAll", + "httpMethod": "get", + "tag": "levels", + "typeScriptTag": "levels", + "description": "Returns all levels within the given organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "buildingId", + "schema": "integer", + "required": false, + "description": "The ID of the building" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "The name of the level" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/levels", + "method": "createNewLevel", + "httpMethod": "post", + "tag": "levels", + "typeScriptTag": "levels", + "description": "Creates a level", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/levels/{level_id}", + "method": "deleteLevel", + "httpMethod": "delete", + "tag": "levels", + "typeScriptTag": "levels", + "description": "Deletes the level within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "levelId", + "schema": "integer", + "required": true, + "description": "The ID of the level to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/levels/{level_id}", + "method": "showLevel", + "httpMethod": "get", + "tag": "levels", + "typeScriptTag": "levels", + "description": "Shows a level.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "levelId", + "schema": "integer", + "required": true, + "description": "The ID of the level to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/levels/{level_id}", + "method": "updateLevel", + "httpMethod": "put", + "tag": "levels", + "typeScriptTag": "levels", + "description": "Updates an level", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "levelId", + "schema": "integer", + "required": true, + "description": "The ID of the level to update", + "example": 0 + }, + { + "name": "custom_id", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "comment", + "schema": "string", + "description": "" + }, + { + "name": "number", + "schema": "integer", + "description": "" + }, + { + "name": "category", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/room_and_zone_types", + "method": "getAll", + "httpMethod": "get", + "tag": "room_and_zone_types", + "typeScriptTag": "roomAndZoneTypes", + "description": "Returns all room and area types currently available", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rooms", + "method": "getAllWithinOrganisation", + "httpMethod": "get", + "tag": "rooms", + "typeScriptTag": "rooms", + "description": "Returns all rooms within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rooms", + "method": "createRoom", + "httpMethod": "post", + "tag": "rooms", + "typeScriptTag": "rooms", + "description": "Creates a room", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rooms/{room_id}", + "method": "deleteRoomWithinOrganisation", + "httpMethod": "delete", + "tag": "rooms", + "typeScriptTag": "rooms", + "description": "Deletes the room within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "roomId", + "schema": "integer", + "required": true, + "description": "The ID of the room to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rooms/{room_id}", + "method": "showRoom", + "httpMethod": "get", + "tag": "rooms", + "typeScriptTag": "rooms", + "description": "Shows a room", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "roomId", + "schema": "integer", + "required": true, + "description": "The ID of the room to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rooms/{room_id}", + "method": "updateRoom", + "httpMethod": "put", + "tag": "rooms", + "typeScriptTag": "rooms", + "description": "Updates an room", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "roomId", + "schema": "integer", + "required": true, + "description": "The ID of the room to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/zones", + "method": "createZone", + "httpMethod": "post", + "tag": "zones", + "typeScriptTag": "zones", + "description": "Creates a zone", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/zones/{zone_id}", + "method": "deleteZone", + "httpMethod": "delete", + "tag": "zones", + "typeScriptTag": "zones", + "description": "Deletes the zone within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "zoneId", + "schema": "integer", + "required": true, + "description": "The ID of the zone to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/zones/{zone_id}", + "method": "updateZone", + "httpMethod": "put", + "tag": "zones", + "typeScriptTag": "zones", + "description": "Updates an zone", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "zoneId", + "schema": "integer", + "required": true, + "description": "The ID of the zone to update", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/departments", + "method": "getAll", + "httpMethod": "get", + "tag": "departments", + "typeScriptTag": "departments", + "description": "Returns all departments within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/departments", + "method": "createNewDepartment", + "httpMethod": "post", + "tag": "departments", + "typeScriptTag": "departments", + "description": "Creates a department within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/departments/{department_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "departments", + "typeScriptTag": "departments", + "description": "Marks a department as deleted within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "departmentId", + "schema": "integer", + "required": true, + "description": "The ID of the department to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/departments/{department_id}", + "method": "updateDepartment", + "httpMethod": "put", + "tag": "departments", + "typeScriptTag": "departments", + "description": "Updates an department within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "departmentId", + "schema": "integer", + "required": true, + "description": "The ID of the department to update", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers", + "method": "getAll", + "httpMethod": "get", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Returns all manufacturers within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers", + "method": "createNewManufacturer", + "httpMethod": "post", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Creates a manufacturer within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}", + "method": "deleteManufacturer", + "httpMethod": "delete", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Deletes the manufacturer within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}", + "method": "updateManufacturer", + "httpMethod": "put", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Updates an manufacturer within the current organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer to update", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}/model_types", + "method": "listModelTypes", + "httpMethod": "get", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Returns all types of models within the given manufacturer", + "parameters": [ + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}/model_types", + "method": "createModelType", + "httpMethod": "post", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Creates a model_type", + "parameters": [ + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}/model_types/{id}", + "method": "deleteModelType", + "httpMethod": "delete", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Deletes the model_type", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the model_type to delete", + "example": 0 + }, + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/manufacturers/{manufacturer_id}/model_types/{id}", + "method": "updateModelType", + "httpMethod": "put", + "tag": "manufacturers", + "typeScriptTag": "manufacturers", + "description": "Updates an model_type", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "The ID of the model_type to update", + "example": 0 + }, + { + "name": "manufacturerId", + "schema": "integer", + "required": true, + "description": "The ID of the manufacturer", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facility_types", + "method": "getAll", + "httpMethod": "get", + "tag": "facility_types", + "typeScriptTag": "facilityTypes", + "description": "Returns all facility types.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facility_types/facility_types_with_schema", + "method": "getAll", + "httpMethod": "get", + "tag": "facility_types", + "typeScriptTag": "facilityTypes", + "description": "Returns all facility types.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facility_types/{facility_type_id}", + "method": "showType", + "httpMethod": "get", + "tag": "facility_types", + "typeScriptTag": "facilityTypes", + "description": "Shows a facility type", + "parameters": [ + { + "name": "facilityTypeId", + "schema": "integer", + "required": true, + "description": "The ID of the facility type to show", + "example": 0 + }, + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facilities", + "method": "getAllWithinOrganisation", + "httpMethod": "get", + "tag": "facilities", + "typeScriptTag": "facilities", + "description": "Returns all facilities within the given organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "customId", + "schema": "string", + "required": false, + "description": "Filter facilities by custom_id" + }, + { + "name": "inventoryNumber", + "schema": "string", + "required": false, + "description": "Filter facilities by inventory_number" + }, + { + "name": "serialNumber", + "schema": "string", + "required": false, + "description": "Filter facilities by serial_number" + }, + { + "name": "yearOfConstruction", + "schema": "string", + "required": false, + "description": "Filter facilities by year_of_construction" + }, + { + "name": "manufacturerId", + "schema": "string", + "required": false, + "description": "Filter facilities by manufacturer_id" + }, + { + "name": "departmentId", + "schema": "string", + "required": false, + "description": "Filter facilities by department_id" + }, + { + "name": "facilityTypeId", + "schema": "string", + "required": false, + "description": "Filter facilities by facility_type_id" + }, + { + "name": "propertyId", + "schema": "string", + "required": false, + "description": "Filter facilities by property_id" + }, + { + "name": "lotId", + "schema": "string", + "required": false, + "description": "Filter facilities by lot_id" + }, + { + "name": "buildingId", + "schema": "string", + "required": false, + "description": "Filter facilities by building_id" + }, + { + "name": "levelId", + "schema": "string", + "required": false, + "description": "Filter facilities by level_id" + }, + { + "name": "roomId", + "schema": "string", + "required": false, + "description": "Filter facilities by room_id" + }, + { + "name": "zoneId", + "schema": "string", + "required": false, + "description": "Filter facilities by zone_id" + }, + { + "name": "userId", + "schema": "string", + "required": false, + "description": "Filter facilities by user_id" + }, + { + "name": "page", + "schema": "number", + "required": false, + "description": "page for pagination by default 0" + }, + { + "name": "perPage", + "schema": "number", + "required": false, + "description": "number of items per page by default 50" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facilities", + "method": "createFacility", + "httpMethod": "post", + "tag": "facilities", + "typeScriptTag": "facilities", + "description": "Creates a facility", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "skipTypeDependentAttribute", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facilities/{facility_id}", + "method": "deleteFacility", + "httpMethod": "delete", + "tag": "facilities", + "typeScriptTag": "facilities", + "description": "Deletes the facility within the current organisation", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "facilityId", + "schema": "integer", + "required": true, + "description": "The ID of the facility to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facilities/{facility_id}", + "method": "showFacility", + "httpMethod": "get", + "tag": "facilities", + "typeScriptTag": "facilities", + "description": "Shows a facility", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "facilityId", + "schema": "integer", + "required": true, + "description": "The ID of the facility to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/facilities/{facility_id}", + "method": "updateFacility", + "httpMethod": "put", + "tag": "facilities", + "typeScriptTag": "facilities", + "description": "Updates an facility", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "facilityId", + "schema": "integer", + "required": true, + "description": "The ID of the facility to update", + "example": 0 + }, + { + "name": "skipTypeDependentAttribute", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities", + "method": "listWithFilters", + "httpMethod": "get", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Returns all activities within the given organisation.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "propertyId", + "schema": "string", + "required": false, + "description": "The ID property to filter the activities." + }, + { + "name": "buildingId", + "schema": "string", + "required": false, + "description": "The ID of building to filter activities" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities", + "method": "createActivity", + "httpMethod": "post", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Creates an activity", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities/{activity_id}", + "method": "removeActivity", + "httpMethod": "delete", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Delete the activity", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "activityId", + "schema": "string", + "required": true, + "description": "ID of the activity you want to delete", + "example": "ACTIVITY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities/{activity_id}", + "method": "showActivity", + "httpMethod": "get", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Shows a activity", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "activityId", + "schema": "integer", + "required": true, + "description": "The ID of the activity to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities/{activity_id}", + "method": "updateActivity", + "httpMethod": "put", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Update the activity", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "activityId", + "schema": "string", + "required": true, + "description": "ID of the activity you want to update", + "example": "ACTIVITY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activities/{external_id}/reference", + "method": "showActivity", + "httpMethod": "get", + "tag": "activities", + "typeScriptTag": "activities", + "description": "Shows a activity", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "externalId", + "schema": "string", + "required": true, + "description": "The External ID of the activity to show", + "example": "EXTERNAL_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activity_types", + "method": "getAll", + "httpMethod": "get", + "tag": "activity_types", + "typeScriptTag": "activityTypes", + "description": "Returns all activity types", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "The ID of the current account" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activity_types", + "method": "createActivity", + "httpMethod": "post", + "tag": "activity_types", + "typeScriptTag": "activityTypes", + "description": "Creates an activity type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "The ID of the current_account" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activity_types/{activity_type_id}", + "method": "deleteActivityType", + "httpMethod": "delete", + "tag": "activity_types", + "typeScriptTag": "activityTypes", + "description": "Delete the activity type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "The ID of the current_account" + }, + { + "name": "activityTypeId", + "schema": "integer", + "required": true, + "description": "The ID of the activity type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activity_types/{activity_type_id}", + "method": "showActivityType", + "httpMethod": "get", + "tag": "activity_types", + "typeScriptTag": "activityTypes", + "description": "Shows a activity type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "The ID of the current_account" + }, + { + "name": "activityTypeId", + "schema": "integer", + "required": true, + "description": "The ID of the activity type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/activity_types/{activity_type_id}", + "method": "updateType", + "httpMethod": "put", + "tag": "activity_types", + "typeScriptTag": "activityTypes", + "description": "Update the activity type", + "parameters": [ + { + "name": "activityTypeId", + "schema": "integer", + "required": true, + "description": "The ID of the activity type to show", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/attachments", + "method": "createNewAttachment", + "httpMethod": "post", + "tag": "attachments", + "typeScriptTag": "attachments", + "description": "Creates an attachment", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "parent_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "parent_type", + "schema": "string", + "required": true, + "description": "", + "example": "PARENT_TYPE" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "file_base64", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_BASE64" + }, + { + "name": "file_filename_with_extension", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_FILENAME_WITH_EXTENSION" + }, + { + "name": "category", + "schema": "string", + "required": true, + "description": "", + "example": "CATEGORY" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/attachments/copy", + "method": "duplicateAttachment", + "httpMethod": "post", + "tag": "attachments", + "typeScriptTag": "attachments", + "description": "Duplicate an attachment", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "copy_attachment_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "parent_id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/attachments/{attachment_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "attachments", + "typeScriptTag": "attachments", + "description": "Marks an attachment as deleted.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": true, + "description": "ID of the current organisation", + "example": 0 + }, + { + "name": "attachmentId", + "schema": "integer", + "required": true, + "description": "The ID of the attachment to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/images", + "method": "createImage", + "httpMethod": "post", + "tag": "images", + "typeScriptTag": "images", + "description": "Creates an image", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "parent_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "parent_type", + "schema": "string", + "required": true, + "description": "", + "example": "PARENT_TYPE" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "file_base64", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_BASE64" + }, + { + "name": "file_filename_with_extension", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_FILENAME_WITH_EXTENSION" + }, + { + "name": "cover", + "schema": "boolean", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/images/{image_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "images", + "typeScriptTag": "images", + "description": "Marks an image as deleted.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "imageId", + "schema": "integer", + "required": true, + "description": "The ID of the image to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/images/{image_id}", + "method": "updateImage", + "httpMethod": "put", + "tag": "images", + "typeScriptTag": "images", + "description": "Updates an image.", + "parameters": [ + { + "name": "currentOrganisationId", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "imageId", + "schema": "integer", + "required": true, + "description": "The ID of the image to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "file_base64", + "schema": "string", + "description": "" + }, + { + "name": "file_filename_with_extension", + "schema": "string", + "description": "" + }, + { + "name": "cover", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/time_dependent_attributes", + "method": "getAllWithinParent", + "httpMethod": "get", + "tag": "time_dependent_attributes", + "typeScriptTag": "timeDependentAttributes", + "description": "Returns all time_dependent_attributes within the given parent", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "Filter time_dependent_attributes by id." + }, + { + "name": "parentId", + "schema": "string", + "required": false, + "description": "Filter time_dependent_attributes by parent_id." + }, + { + "name": "parentType", + "schema": "string", + "required": false, + "description": "Filter time_dependent_attributes by parent_type.\nAllowed parent_types: Building, Building::Unit\n" + }, + { + "name": "attributeKey", + "schema": "string", + "required": false, + "description": "Filter time_dependent_attributes by attribute_key." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/time_dependent_attributes", + "method": "createAttribute", + "httpMethod": "post", + "tag": "time_dependent_attributes", + "typeScriptTag": "timeDependentAttributes", + "description": "Creates a time_dependent_attribute", + "parameters": [ + { + "name": "parent_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "customer_account_id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "required": true, + "description": "", + "example": "PARENT_TYPE" + }, + { + "name": "attribute_key", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_KEY" + }, + { + "name": "attribute_value", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_VALUE" + }, + { + "name": "attribute_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "attribute_timestamp", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_TIMESTAMP" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/time_dependent_attributes/{time_dependent_attribute_id}", + "method": "deleteTimeDependentAttribute", + "httpMethod": "delete", + "tag": "time_dependent_attributes", + "typeScriptTag": "timeDependentAttributes", + "description": "Deletes the specified time_dependent_attribute", + "parameters": [ + { + "name": "timeDependentAttributeId", + "schema": "integer", + "required": true, + "description": "The ID of the time_dependent_attribute to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/time_dependent_attributes/{time_dependent_attribute_id}", + "method": "updateAttribute", + "httpMethod": "put", + "tag": "time_dependent_attributes", + "typeScriptTag": "timeDependentAttributes", + "description": "Updates an time_dependent_attribute", + "parameters": [ + { + "name": "timeDependentAttributeId", + "schema": "integer", + "required": true, + "description": "The ID of the time_dependent_attribute to update", + "example": 0 + }, + { + "name": "parent_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "customer_account_id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "required": true, + "description": "", + "example": "PARENT_TYPE" + }, + { + "name": "attribute_key", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_KEY" + }, + { + "name": "attribute_value", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_VALUE" + }, + { + "name": "attribute_type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "attribute_timestamp", + "schema": "string", + "required": true, + "description": "", + "example": "ATTRIBUTE_TIMESTAMP" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/webhooks", + "method": "getAll", + "httpMethod": "get", + "tag": "webhooks", + "typeScriptTag": "webhooks", + "description": "Returns all webhooks", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/webhooks", + "method": "createNewWebhook", + "httpMethod": "post", + "tag": "webhooks", + "typeScriptTag": "webhooks", + "description": "Creates a webhook", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/webhooks/{webhook_id}", + "method": "deleteWebhookById", + "httpMethod": "delete", + "tag": "webhooks", + "typeScriptTag": "webhooks", + "description": "Deletes the webhook within the current organisation.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "webhookId", + "schema": "integer", + "required": true, + "description": "The ID of the webhook to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/webhooks/{webhook_id}", + "method": "showWebhook", + "httpMethod": "get", + "tag": "webhooks", + "typeScriptTag": "webhooks", + "description": "Shows a webhook", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "webhookId", + "schema": "integer", + "required": true, + "description": "The ID of the webhook (only shows the webhooks based on current_organisation_id)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/webhooks/{webhook_id}", + "method": "updateWebhook", + "httpMethod": "put", + "tag": "webhooks", + "typeScriptTag": "webhooks", + "description": "Updates a webhook", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "webhookId", + "schema": "integer", + "required": true, + "description": "The ID of the webhook (only shows the webhooks based on current_organisation_id)", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "url", + "schema": "string", + "description": "" + }, + { + "name": "mode", + "schema": "number", + "description": "" + }, + { + "name": "events", + "schema": "array", + "description": "" + }, + { + "name": "secret", + "schema": "string", + "description": "" + }, + { + "name": "organisation_ids", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags", + "method": "getAllTagsWithCounts", + "httpMethod": "get", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Returns all tags within the given customer account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + }, + { + "name": "label", + "schema": "string", + "required": false, + "description": "Search for the label" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags", + "method": "createTag", + "httpMethod": "post", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Creates a tag", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{tag_id}", + "method": "markAsDeleted", + "httpMethod": "delete", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Marks a tag as deleted.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + }, + { + "name": "tagId", + "schema": "integer", + "required": true, + "description": "The ID of the tag to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags/{tag_id}", + "method": "updateTag", + "httpMethod": "put", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Update the tag", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current customer account", + "example": 0 + }, + { + "name": "tagId", + "schema": "string", + "required": true, + "description": "ID of the tag you want to update", + "example": "TAG_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags/merge", + "method": "mergeMasterTags", + "httpMethod": "post", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Merges master tags with other tags", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the current_account", + "example": 0 + }, + { + "name": "master_tag", + "schema": "integer", + "description": "" + }, + { + "name": "other_tags", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/tags/assign_buildings", + "method": "assignBuildings", + "httpMethod": "put", + "tag": "tags", + "typeScriptTag": "tags", + "description": "Assign multiple tags to multiple buildings", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/imports", + "method": "getAllImports", + "httpMethod": "get", + "tag": "csv_imports", + "typeScriptTag": "csvImports", + "description": "Return all imports", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "isDemo", + "schema": "boolean", + "required": false, + "description": "Filter by is_demo" + }, + { + "name": "locationType", + "schema": "string", + "required": false, + "description": "Filter the imports by type" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/imports", + "method": "createByFile", + "httpMethod": "post", + "tag": "csv_imports", + "typeScriptTag": "csvImports", + "description": "Creates a import by file", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "organisationId", + "schema": "integer", + "required": true, + "description": "ID of the organisation", + "example": 0 + }, + { + "name": "location_type", + "schema": "string", + "required": true, + "description": "", + "example": "LOCATION_TYPE" + }, + { + "name": "is_demo", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "metadata", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "file_base64", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_BASE64" + }, + { + "name": "file_filename_with_extension", + "schema": "string", + "required": true, + "description": "", + "example": "FILE_FILENAME_WITH_EXTENSION" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/imports/{import_id}", + "method": "getInfo", + "httpMethod": "get", + "tag": "csv_imports", + "typeScriptTag": "csvImports", + "description": "Shows information for specific import", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "importId", + "schema": "integer", + "required": true, + "description": "ID of the csv import", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/imports/{import_id}", + "method": "updateImport", + "httpMethod": "put", + "tag": "csv_imports", + "typeScriptTag": "csvImports", + "description": "Update the import", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "importId", + "schema": "string", + "required": true, + "description": "ID of the import you want to update", + "example": "IMPORT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecards", + "method": "listAllScorecards", + "httpMethod": "get", + "tag": "scorecards", + "typeScriptTag": "scorecards", + "description": "Returns all scorecards", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecards", + "method": "createNewScorecard", + "httpMethod": "post", + "tag": "scorecards", + "typeScriptTag": "scorecards", + "description": "Creates a scorecard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecards/{scorecard_id}", + "method": "deleteWithinAccount", + "httpMethod": "delete", + "tag": "scorecards", + "typeScriptTag": "scorecards", + "description": "Deletes the scorecard within the current account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecards/{scorecard_id}", + "method": "showDetails", + "httpMethod": "get", + "tag": "scorecards", + "typeScriptTag": "scorecards", + "description": "Shows a scorecard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard (only shows the scorecards based on current_organisation_id)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecards/{scorecard_id}", + "method": "updateScorecard", + "httpMethod": "put", + "tag": "scorecards", + "typeScriptTag": "scorecards", + "description": "Updates a scorecard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard (only shows the scorecards based on current_organisation_id)", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_segments", + "method": "createNewSegment", + "httpMethod": "post", + "tag": "scorecard_segments", + "typeScriptTag": "scorecardSegments", + "description": "Creates a scorecard segment", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_segments/{scorecard_segment_id}", + "method": "deleteSegment", + "httpMethod": "delete", + "tag": "scorecard_segments", + "typeScriptTag": "scorecardSegments", + "description": "Deletes the scorecard segment within the current account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "scorecardSegmentId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard segment to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_segments/{scorecard_segment_id}", + "method": "updateSegment", + "httpMethod": "put", + "tag": "scorecard_segments", + "typeScriptTag": "scorecardSegments", + "description": "Updates a scorecard segment", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "scorecardSegmentId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard segment (only shows the scorecards based on current_organisation_id)", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "weight_type", + "schema": "string", + "description": "" + }, + { + "name": "position", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_topics", + "method": "createNewTopic", + "httpMethod": "post", + "tag": "scorecard_topics", + "typeScriptTag": "scorecardTopics", + "description": "Creates a scorecard topic", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_topics/{scorecard_topic_id}", + "method": "deleteTopic", + "httpMethod": "delete", + "tag": "scorecard_topics", + "typeScriptTag": "scorecardTopics", + "description": "Deletes the scorecard topic within the current segment.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardTopicId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard topic to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_topics/{scorecard_topic_id}", + "method": "updateTopic", + "httpMethod": "put", + "tag": "scorecard_topics", + "typeScriptTag": "scorecardTopics", + "description": "Updates a scorecard topic", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardTopicId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard topic (only shows the topic based on current account)", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "weight_type", + "schema": "string", + "description": "" + }, + { + "name": "weight_value", + "schema": "integer", + "description": "" + }, + { + "name": "position", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_subtopics", + "method": "createSubtopic", + "httpMethod": "post", + "tag": "scorecard_subtopics", + "typeScriptTag": "scorecardSubtopics", + "description": "Creates a scorecard subtopic", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_subtopics/{scorecard_subtopic_id}", + "method": "deleteSubtopic", + "httpMethod": "delete", + "tag": "scorecard_subtopics", + "typeScriptTag": "scorecardSubtopics", + "description": "Deletes the scorecard subtopic within the current segment.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "scorecardSubtopicId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard subtopic to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_subtopics/{scorecard_subtopic_id}", + "method": "updateSubtopic", + "httpMethod": "put", + "tag": "scorecard_subtopics", + "typeScriptTag": "scorecardSubtopics", + "description": "Updates a scorecard subtopic", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer account", + "example": 0 + }, + { + "name": "scorecardSubtopicId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard subtopic (only shows the subtopic based on current account)", + "example": 0 + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "weight_value", + "schema": "integer", + "description": "" + }, + { + "name": "scorecard_scores", + "schema": "array", + "description": "" + }, + { + "name": "attribute_type", + "schema": "string", + "description": "" + }, + { + "name": "attribute_id", + "schema": "string", + "description": "" + }, + { + "name": "position", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/de_assign", + "method": "deAssign", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "De-assigns scorecard memberships from scorecard", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships", + "method": "listAllScorecardMemberships", + "httpMethod": "get", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Returns all scorecard memberships within the given account. ", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardId", + "schema": "string", + "required": false, + "description": "The ID on other scorecard to filter memberships" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships", + "method": "createMembership", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Creates a scorecard membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/{scorecard_membership_id}", + "method": "deleteMembership", + "httpMethod": "delete", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Deletes the scorecard membership within the current account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard membership to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/{scorecard_membership_id}", + "method": "showMembership", + "httpMethod": "get", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Shows a scorecard membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard membership (only shows the scorecards based on current account)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/{scorecard_membership_id}/refresh", + "method": "refreshMembership", + "httpMethod": "get", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Refresh a scorecard membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardMembershipId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard membership (only shows the scorecards based on current account)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/refresh_by_scorecard", + "method": "refreshScores", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Refresh scores for specific scorecard/s", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/refresh_all_by_parent", + "method": "refreshAllByParent", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Refresh all scorecards by parent", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/calculated_costs", + "method": "calculateCosts", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Calculated costs of scorecard memberships", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "parent_id", + "schema": "number", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + }, + { + "name": "scorecard_id", + "schema": "number", + "description": "" + }, + { + "name": "scorecard_name", + "schema": "string", + "description": "" + }, + { + "name": "segment_id", + "schema": "number", + "description": "" + }, + { + "name": "segment_name", + "schema": "string", + "description": "" + }, + { + "name": "topic_id", + "schema": "number", + "description": "" + }, + { + "name": "topic_name", + "schema": "string", + "description": "" + }, + { + "name": "subtopic_id", + "schema": "number", + "description": "" + }, + { + "name": "subtopic_name", + "schema": "string", + "description": "" + }, + { + "name": "data_catalog_id", + "schema": "number", + "description": "" + }, + { + "name": "technical_key", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "realcube_price", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_memberships/count_buildings", + "method": "countBuildingsByScorecardIds", + "httpMethod": "post", + "tag": "scorecard_memberships", + "typeScriptTag": "scorecardMemberships", + "description": "Get number of buildings by providing scorecard ids", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "parent_id", + "schema": "number", + "description": "" + }, + { + "name": "parent_type", + "schema": "string", + "description": "" + }, + { + "name": "scorecard_id", + "schema": "number", + "description": "" + }, + { + "name": "scorecard_name", + "schema": "string", + "description": "" + }, + { + "name": "segment_id", + "schema": "number", + "description": "" + }, + { + "name": "segment_name", + "schema": "string", + "description": "" + }, + { + "name": "topic_id", + "schema": "number", + "description": "" + }, + { + "name": "topic_name", + "schema": "string", + "description": "" + }, + { + "name": "subtopic_id", + "schema": "number", + "description": "" + }, + { + "name": "subtopic_name", + "schema": "string", + "description": "" + }, + { + "name": "data_catalog_id", + "schema": "number", + "description": "" + }, + { + "name": "technical_key", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "realcube_price", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_assigners", + "method": "getAll", + "httpMethod": "get", + "tag": "scorecard_assigners", + "typeScriptTag": "scorecardAssigners", + "description": "Returns all scorecard assigners within the given account. ", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardId", + "schema": "string", + "required": false, + "description": "The ID on other scorecard to filter assigners" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_assigners", + "method": "createNewScorecardAssigner", + "httpMethod": "post", + "tag": "scorecard_assigners", + "typeScriptTag": "scorecardAssigners", + "description": "Creates a scorecard assigner", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_assigners/{scorecard_assigner_id}", + "method": "deleteScorecardAssigner", + "httpMethod": "delete", + "tag": "scorecard_assigners", + "typeScriptTag": "scorecardAssigners", + "description": "Deletes the scorecard assigner within the current account.", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardAssignerId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard assigner to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/scorecard_assigners/{scorecard_assigner_id}", + "method": "show", + "httpMethod": "get", + "tag": "scorecard_assigners", + "typeScriptTag": "scorecardAssigners", + "description": "Shows a scorecard assigner", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "scorecardAssignerId", + "schema": "integer", + "required": true, + "description": "The ID of the scorecard assigner (only shows the scorecards based on current account)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/data_catalogs", + "method": "getAll", + "httpMethod": "get", + "tag": "data_catalogs", + "typeScriptTag": "dataCatalogs", + "description": "Returns all data catalogs", + "parameters": [ + { + "name": "locale", + "schema": "string", + "required": false, + "description": "The locale for filtering the data catalogs." + }, + { + "name": "appIds", + "schema": "string", + "required": true, + "description": "The ids of the apps for filtering the data catalogs.", + "example": "APP_IDS" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/data_catalogs", + "method": "createNewCatalog", + "httpMethod": "post", + "tag": "data_catalogs", + "typeScriptTag": "dataCatalogs", + "description": "Creates a data catalog", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/data_catalogs/{data_catalog_id}", + "method": "deleteCatalog", + "httpMethod": "delete", + "tag": "data_catalogs", + "typeScriptTag": "dataCatalogs", + "description": "Deletes the data catalog within the current app.", + "parameters": [ + { + "name": "dataCatalogId", + "schema": "integer", + "required": true, + "description": "The ID of the data catalog to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/data_catalogs/{data_catalog_id}", + "method": "showDataCatalog", + "httpMethod": "get", + "tag": "data_catalogs", + "typeScriptTag": "dataCatalogs", + "description": "Shows a data catalog", + "parameters": [ + { + "name": "dataCatalogId", + "schema": "integer", + "required": true, + "description": "The ID of the data_catalog (only shows the data_catalogs based on current_organisation_id)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/data_catalogs/{data_catalog_id}", + "method": "updateCatalog", + "httpMethod": "put", + "tag": "data_catalogs", + "typeScriptTag": "dataCatalogs", + "description": "Updates a data_catalog", + "parameters": [ + { + "name": "dataCatalogId", + "schema": "integer", + "required": true, + "description": "The ID of the data catalog (only shows the data catalog)", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "technical_key", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "sku", + "schema": "string", + "description": "" + }, + { + "name": "source", + "schema": "string", + "description": "" + }, + { + "name": "country", + "schema": "string", + "description": "" + }, + { + "name": "locale", + "schema": "string", + "description": "" + }, + { + "name": "quality_indicator", + "schema": "string", + "description": "" + }, + { + "name": "category_l1", + "schema": "string", + "description": "" + }, + { + "name": "category_l2", + "schema": "string", + "description": "" + }, + { + "name": "category_l3", + "schema": "string", + "description": "" + }, + { + "name": "category_l4", + "schema": "string", + "description": "" + }, + { + "name": "category_l5", + "schema": "string", + "description": "" + }, + { + "name": "realcube_price", + "schema": "integer", + "description": "" + }, + { + "name": "realcube_currency", + "schema": "string", + "description": "" + }, + { + "name": "realcube_price_category", + "schema": "string", + "description": "" + }, + { + "name": "data_lifetime", + "schema": "integer", + "description": "" + }, + { + "name": "attribute_type", + "schema": "string", + "description": "" + }, + { + "name": "unit", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/raw_data_catalogs", + "method": "getAllRawdataCatalogs", + "httpMethod": "get", + "tag": "raw_data_catalogs", + "typeScriptTag": "rawDataCatalogs", + "description": "Returns all raw data catalogs", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "limit", + "schema": "integer", + "required": false, + "description": "Limit the number of results to return, if null then return all results" + }, + { + "name": "orderBy", + "schema": "string", + "required": false, + "description": "The ordering of the results returned, if null then will return not ordered results.\n Possible columns: app_id, status, version,\n Possible order: asc, desc", + "example": "app_id.desc, status.desc, version.desc" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/raw_data_catalogs/{raw_data_catalog_id}", + "method": "showDataCatalog", + "httpMethod": "get", + "tag": "raw_data_catalogs", + "typeScriptTag": "rawDataCatalogs", + "description": "Shows a data catalog", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "The ID of the customer_account", + "example": 0 + }, + { + "name": "rawDataCatalogId", + "schema": "integer", + "required": true, + "description": "The ID of the data_catalog (only shows the raw_data_catalogs based on current_organisation_id)", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_types", + "method": "getAllTypes", + "httpMethod": "get", + "tag": "rent_increase_types", + "typeScriptTag": "rentIncreaseTypes", + "description": "Return rent_increase_types", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_types", + "method": "createType", + "httpMethod": "post", + "tag": "rent_increase_types", + "typeScriptTag": "rentIncreaseTypes", + "description": "Creates a rent_increase_type (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "category", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_types/{rent_increase_type_id}", + "method": "delete", + "httpMethod": "delete", + "tag": "rent_increase_types", + "typeScriptTag": "rentIncreaseTypes", + "description": "Delete a rent_increase_type (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "rentIncreaseTypeId", + "schema": "integer", + "required": true, + "description": "The ID of the rent_increase_type to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_types/{rent_increase_type_id}", + "method": "getById", + "httpMethod": "get", + "tag": "rent_increase_types", + "typeScriptTag": "rentIncreaseTypes", + "description": "Return rent_increase_type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseTypeId", + "schema": "integer", + "required": true, + "description": "ID of the rent_increase_type", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_types/{rent_increase_type_id}", + "method": "updateType", + "httpMethod": "put", + "tag": "rent_increase_types", + "typeScriptTag": "rentIncreaseTypes", + "description": "Update rent_increase_type", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseTypeId", + "schema": "integer", + "required": true, + "description": "ID of the rent_increase_type to update", + "example": 0 + }, + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + }, + { + "name": "category", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_indices", + "method": "getIndexData", + "httpMethod": "get", + "tag": "rent_increase_indices", + "typeScriptTag": "rentIncreaseIndices", + "description": "Return rent_increase_indices", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseTypeId", + "schema": "integer", + "description": "ID of the rent_increase_type" + }, + { + "name": "date", + "schema": "string", + "description": "Date of the rent_increase_index" + }, + { + "name": "subtype", + "schema": "string", + "description": "Subtype (https://docs.realcube.com/ of the rent_increase" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_indices", + "method": "createIndex", + "httpMethod": "post", + "tag": "rent_increase_indices", + "typeScriptTag": "rentIncreaseIndices", + "description": "Creates a rent_increase_index (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "value", + "schema": "integer", + "description": "" + }, + { + "name": "date", + "schema": "string", + "description": "" + }, + { + "name": "rent_increase_type_id", + "schema": "string", + "description": "" + }, + { + "name": "subtype", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_indices/{rent_increase_index_id}", + "method": "deleteRentIncreaseIndex", + "httpMethod": "delete", + "tag": "rent_increase_indices", + "typeScriptTag": "rentIncreaseIndices", + "description": "Delete a rent_increase_index (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "rentIncreaseIndexId", + "schema": "integer", + "required": true, + "description": "The ID of the rent_increase_index to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_indices/{rent_increase_index_id}", + "method": "returnRentIncreaseIndex", + "httpMethod": "get", + "tag": "rent_increase_indices", + "typeScriptTag": "rentIncreaseIndices", + "description": "Return rent_increase_index", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseIndexId", + "schema": "integer", + "required": true, + "description": "ID of the rent_increase_index", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increase_indices/{rent_increase_index_id}", + "method": "updateRentIncreaseIndexById", + "httpMethod": "put", + "tag": "rent_increase_indices", + "typeScriptTag": "rentIncreaseIndices", + "description": "Update rent_increase_index", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseIndexId", + "schema": "integer", + "required": true, + "description": "ID of the rent_increase_index to update", + "example": 0 + }, + { + "name": "value", + "schema": "integer", + "description": "" + }, + { + "name": "date", + "schema": "string", + "description": "" + }, + { + "name": "rent_increase_type_id", + "schema": "string", + "description": "" + }, + { + "name": "subtype", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/task_memberships", + "method": "getAllTaskMemberships", + "httpMethod": "get", + "tag": "task_memberships", + "typeScriptTag": "taskMemberships", + "description": "Return task_memberships", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "taskIds", + "schema": "string", + "description": "IDs of the tasks", + "example": "1,2,3" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/task_memberships", + "method": "createMembership", + "httpMethod": "post", + "tag": "task_memberships", + "typeScriptTag": "taskMemberships", + "description": "Creates a task_membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "task_id", + "schema": "integer", + "description": "" + }, + { + "name": "place_id", + "schema": "integer", + "description": "" + }, + { + "name": "organisation_id", + "schema": "integer", + "description": "" + }, + { + "name": "place_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/task_memberships/{task_membership_id}", + "method": "deleteTaskMembership", + "httpMethod": "delete", + "tag": "task_memberships", + "typeScriptTag": "taskMemberships", + "description": "Delete the task_membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "taskMembershipId", + "schema": "string", + "required": true, + "description": "ID of the task_membership you want to delete", + "example": "TASK_MEMBERSHIP_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/task_memberships/{task_membership_id}", + "method": "updateMembership", + "httpMethod": "put", + "tag": "task_memberships", + "typeScriptTag": "taskMemberships", + "description": "Update task_membership", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "taskMembershipId", + "schema": "string", + "required": true, + "description": "ID of the task_membership to update", + "example": "TASK_MEMBERSHIP_ID" + }, + { + "name": "task_id", + "schema": "integer", + "description": "" + }, + { + "name": "place_id", + "schema": "integer", + "description": "" + }, + { + "name": "organisation_id", + "schema": "integer", + "description": "" + }, + { + "name": "place_type", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases", + "method": "getIncreases", + "httpMethod": "get", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Return rent's increases", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases", + "method": "createNewIncrease", + "httpMethod": "post", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Creates a rent's increase (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases/{rent_increase_id}/apply", + "method": "applyRentIncrease", + "httpMethod": "put", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Apply rent' increase", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseId", + "schema": "integer", + "required": true, + "description": "ID of the rent' increase to update", + "example": 0 + }, + { + "name": "apply", + "schema": "boolean", + "required": true, + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases/{rent_increase_id}", + "method": "deleteRentIncrease", + "httpMethod": "delete", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Delete a rent_increase (Admin only)", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "rentIncreaseId", + "schema": "integer", + "required": true, + "description": "The ID of the rent_increase to delete", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases/{rent_increase_id}", + "method": "returnIncrease", + "httpMethod": "get", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Return rent's increase", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseId", + "schema": "integer", + "required": true, + "description": "ID of the rent' increase", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/rent_increases/{rent_increase_id}", + "method": "updateRentIncrease", + "httpMethod": "put", + "tag": "rent_increases", + "typeScriptTag": "rentIncreases", + "description": "Update rent' increase", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer_account", + "example": 0 + }, + { + "name": "rentIncreaseId", + "schema": "integer", + "required": true, + "description": "ID of the rent' increase to update", + "example": 0 + }, + { + "name": "start_date", + "schema": "string", + "description": "" + }, + { + "name": "value", + "schema": "integer", + "description": "" + }, + { + "name": "recurring_increase_year", + "schema": "integer", + "description": "" + }, + { + "name": "recurring_increase_month", + "schema": "integer", + "description": "" + }, + { + "name": "recurring", + "schema": "boolean", + "description": "" + }, + { + "name": "status", + "schema": "integer", + "description": "" + }, + { + "name": "adjustment_percentage", + "schema": "number", + "description": "" + }, + { + "name": "max_increase_percentage", + "schema": "number", + "description": "" + }, + { + "name": "threshold", + "schema": "number", + "description": "" + }, + { + "name": "step_two_enabled", + "schema": "boolean", + "description": "" + }, + { + "name": "step_three_enabled", + "schema": "boolean", + "description": "" + }, + { + "name": "old_vpi_month", + "schema": "string", + "description": "" + }, + { + "name": "new_vpi_month", + "schema": "string", + "description": "" + }, + { + "name": "building_type", + "schema": "string", + "description": "" + }, + { + "name": "automatic_adjustment", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/emission_factor_settings/update", + "method": "updateEmissionFactorSetting", + "httpMethod": "post", + "tag": "emission_factor_settings", + "typeScriptTag": "emissionFactorSettings", + "description": "Updates an EmissionFactorSetting", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID on customer_account of the EmissionFactorSettings to show" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/emission_factor_settings", + "method": "getAllWithinAccount", + "httpMethod": "get", + "tag": "emission_factor_settings", + "typeScriptTag": "emissionFactorSettings", + "description": "Returns all EmissionFactorSettings within the given account", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID on customer_account of the EmissionFactorSettings to show" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/emission_factor_settings", + "method": "createEmissionFactorSetting", + "httpMethod": "post", + "tag": "emission_factor_settings", + "typeScriptTag": "emissionFactorSettings", + "description": "Creates an EmissionFactorSetting", + "parameters": [ + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID on customer_account of the EmissionFactorSettings to show" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/emission_factor_settings/{emission_factor_setting_id}", + "method": "deleteEmissionFactorSetting", + "httpMethod": "delete", + "tag": "emission_factor_settings", + "typeScriptTag": "emissionFactorSettings", + "description": "Deletes the EmissionFactorSetting within the account.", + "parameters": [ + { + "name": "emissionFactorSettingId", + "schema": "integer", + "required": true, + "description": "The ID of the emission_factor_setting to show", + "example": 0 + }, + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID on customer_account of the EmissionFactorSettings to show" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/emission_factor_settings/{emission_factor_setting_id}", + "method": "showEmissionFactorSetting", + "httpMethod": "get", + "tag": "emission_factor_settings", + "typeScriptTag": "emissionFactorSettings", + "description": "Shows a EmissionFactorSetting", + "parameters": [ + { + "name": "emissionFactorSettingId", + "schema": "integer", + "required": true, + "description": "The ID of the emission_factor_setting to show", + "example": 0 + }, + { + "name": "customerAccountId", + "schema": "string", + "required": false, + "description": "The ID on customer_account of the EmissionFactorSettings to show" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "404", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_category_configs", + "method": "createConfig", + "httpMethod": "post", + "tag": "customer_account_category_configs", + "typeScriptTag": "customerAccountCategoryConfigs", + "description": "Creates a customer account category config", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_category_configs/{customer_account_category_config_id}", + "method": "deleteConfig", + "httpMethod": "delete", + "tag": "customer_account_category_configs", + "typeScriptTag": "customerAccountCategoryConfigs", + "description": "Delete the customer account category config", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountCategoryConfigId", + "schema": "string", + "required": true, + "description": "ID of the customer account category config you want to delete", + "example": "CUSTOMER_ACCOUNT_CATEGORY_CONFIG_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + }, + { + "url": "/v1/customer_account_category_configs/{customer_account_category_config_id}", + "method": "updateConfig", + "httpMethod": "put", + "tag": "customer_account_category_configs", + "typeScriptTag": "customerAccountCategoryConfigs", + "description": "Update the customer account category config", + "parameters": [ + { + "name": "customerAccountId", + "schema": "integer", + "required": true, + "description": "ID of the customer account", + "example": 0 + }, + { + "name": "customerAccountCategoryConfigId", + "schema": "string", + "required": true, + "description": "ID of the customer account category config you want to update", + "example": "CUSTOMER_ACCOUNT_CATEGORY_CONFIG_ID" + }, + { + "name": "display", + "schema": "boolean", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "401", + "description": "" + }, + { + "statusCode": "403", + "description": "" + }, + { + "statusCode": "422", + "description": "" + }, + { + "statusCode": "500", + "description": "" + } + ] + } + ], + "repositoryDescription": "Realcube revolutionizes real estate management with its API-first platform, offering intelligent solutions tailored to individual needs. Ecosystem aggregates data from industry-leading partners, prioritizing customer data privacy. Consolidate and access information easily. Book a free demo now!", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/realcube/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/realcube/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/realcube/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/realcube/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/realcube/favicon.png", + "clientNameCamelCase": "realcube", + "lastUpdated": "2024-03-29T22:59:11.252Z", + "typescriptSdkUsageCode": "import { Realcube } from 'realcube-typescript-sdk';\n\nconst realcube = new Realcube({\n apiKey: \"X_API_KEY\",\n clientId: \"CLIENT_ID\",\n clientSecret: \"CLIENT_SECRET\",\n redirectUri: \"REDIRECT_URI\"\n})", + "typescriptSdkFirstRequestCode": "// Shows the platform_configs\nconst showAllConfigsResponse = realcube.platformConfigs.showAllConfigs()", + "fixedSpecFileName": "realcube-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_visier.com_TenantManagement.json b/sdks/db/published/from-custom-request_visier.com_TenantManagement.json index 99141f113..ecbf45ddf 100644 --- a/sdks/db/published/from-custom-request_visier.com_TenantManagement.json +++ b/sdks/db/published/from-custom-request_visier.com_TenantManagement.json @@ -59,7 +59,7 @@ }, "customRequestSpecFilename": "visier.com_TenantManagement.yaml", "difficultyScore": 38.25, - "difficulty": "Easy", + "difficulty": "Very Easy", "company": "Visier", "serviceName": "TenantManagement", "sdkName": "visier-tenant-management-{language}-sdk", @@ -653,7 +653,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/visier/tenant-management/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/visier/tenant-management/favicon.png", "clientNameCamelCase": "visierTenantManagement", - "lastUpdated": "2024-03-26T20:40:42.558Z", + "lastUpdated": "2024-03-29T22:55:31.557Z", "typescriptSdkUsageCode": "import { VisierTenantManagement } from 'visier-tenant-management-typescript-sdk';\n\nconst visierTenantManagement = new VisierTenantManagement({\n cookieAuth: \"VISIER_ASID_TOKEN\",\n apiKeyAuth: \"APIKEY\",\n bearerAuth: \"BEARER_AUTH\",\n username: \"USERNAME\",\n password: \"PASSWORD\"\n})", "typescriptSdkFirstRequestCode": "// Retrieve a list of all analytic tenants\nconst getTenantsResponse = visierTenantManagement.tenantManagementV1.getTenants()", "fixedSpecFileName": "visier-tenant-management-fixed-spec.yaml" diff --git a/sdks/db/published/postmarkapp.com_server_1.0.0.json b/sdks/db/published/postmarkapp.com_server_1.0.0.json index f23499557..44382acb8 100644 --- a/sdks/db/published/postmarkapp.com_server_1.0.0.json +++ b/sdks/db/published/postmarkapp.com_server_1.0.0.json @@ -22,7 +22,7 @@ "schemas": 75, "parameters": 214, "difficultyScore": 119, - "difficulty": "Medium", + "difficulty": "Easy", "company": "Postmark", "sdkName": "postmark-{language}-sdk", "clientName": "Postmark", @@ -2045,7 +2045,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/postmark/imagePreview.png", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/postmark/favicon.png", "clientNameCamelCase": "postmark", - "lastUpdated": "2024-03-24T21:41:22.682Z", + "lastUpdated": "2024-03-29T22:55:31.557Z", "typescriptSdkUsageCode": "import { Postmark } from 'postmark-typescript-sdk';\n\nconst postmark = new Postmark({\n serverToken: \"X_POSTMARK_SERVER_TOKEN\"\n})", "typescriptSdkFirstRequestCode": "// Get bounces\nconst listBouncesResponse = postmark.bouncesApi.listBounces({\n count: 0\n offset: 0\n})", "fixedSpecFileName": "postmark-fixed-spec.yaml" diff --git a/sdks/db/spec-data/domainsdb.info_1.0.json b/sdks/db/spec-data/domainsdb.info_1.0.json index 04522cea7..90bedbe84 100644 --- a/sdks/db/spec-data/domainsdb.info_1.0.json +++ b/sdks/db/spec-data/domainsdb.info_1.0.json @@ -16,5 +16,5 @@ "schemas": 9, "parameters": 59, "difficultyScore": 38.25, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_griffin.com.json b/sdks/db/spec-data/from-custom-request_griffin.com.json index 2a360f385..b36d3ac66 100644 --- a/sdks/db/spec-data/from-custom-request_griffin.com.json +++ b/sdks/db/spec-data/from-custom-request_griffin.com.json @@ -21,5 +21,5 @@ }, "customRequestSpecFilename": "griffin.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_measureone.com.json b/sdks/db/spec-data/from-custom-request_measureone.com.json index fe5fc520e..db358c890 100644 --- a/sdks/db/spec-data/from-custom-request_measureone.com.json +++ b/sdks/db/spec-data/from-custom-request_measureone.com.json @@ -37,5 +37,5 @@ }, "customRequestSpecFilename": "measureone.com.yaml", "difficultyScore": 118.75, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_packetfabric.com.json b/sdks/db/spec-data/from-custom-request_packetfabric.com.json new file mode 100644 index 000000000..052fa37a7 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_packetfabric.com.json @@ -0,0 +1,23 @@ +{ + "securitySchemes": { + "BearerAuth": { + "type": "http", + "scheme": "bearer" + } + }, + "apiBaseUrl": "https://api.packetfabric.com", + "apiVersion": "2.0.0", + "apiDescription": "Use [/v2/auth/login](https://api.packetfabric.com) endpoint to get the token.\n\n\nUse that token and \"Authorize\" button to authenticate your requests.\n\n\nYou can also use that token to authorize your `curl` request:\n\n```\ncurl -X GET \"https://api.packetfabric.com/v2/activity-logs\" -H \"accept: */*\" -H \"Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094\"\n```\n\nPython code to authenticate and utilize the\n[Bearer token](https://swagger.io/docs/specification/authentication/bearer-authentication/):\n\n```\nimport requests\nlogin_url = 'https://api.packetfabric.com/v2/auth/login'\nlogin_payload = {\n 'login': 'admin',\n 'password': 'p4ssw0rd'\n}\nr = requests.post(login_url, json=login_payload)\nauth_token = r.json()['token']\nrequest_header = {\n 'Authorization': f'Bearer {auth_token}'\n}\ncontacts_url = 'https://api.packetfabric.com/v2/contacts'\nr = requests.get(contacts_url, headers=request_header)\n```\n\n*For resellers only*:\n\nTo make the request on behalf of reseller's customer - add `On-Behalf: customer UUID` header to the request:\n\n```\ncurl -X GET \"https://api.packetfabric.com/v2/activity-logs\" -H \"accept: */*\" -H \"Authorization: Bearer 12a30d30-20c0-4f62-a982-eb1424631094\" -H \"On-Behalf: 11111111-2222-3333-4444-eb1424631094\"\n```\n\n*For API Key Authentication*\nTo utilize an API Key instead of login/password, you will need to generate a key and save the token.\nUsing that token, as the Bearer token, you can then login.\n\n```\napi_key = \nrequest_header = {\n 'Authorization': f'Bearer {api_key}'\n}\ncontacts_url = 'https://api.packetfabric.com/v2/contacts'\nr = requests.get(contacts_url, headers=request_header)\n```\n", + "apiTitle": "PacketFabric API", + "endpoints": 261, + "sdkMethods": 341, + "schemas": 0, + "parameters": 1267, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.packetfabric.com/openapi/specification/swagger.yaml" + }, + "customRequestSpecFilename": "packetfabric.com.yaml", + "difficultyScore": 657.75, + "difficulty": "Very Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_rated.network.json b/sdks/db/spec-data/from-custom-request_rated.network.json new file mode 100644 index 000000000..e4f676476 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_rated.network.json @@ -0,0 +1,19 @@ +{ + "securitySchemes": {}, + "apiBaseUrl": "https://api.rated.network", + "apiVersion": "0.0.1", + "apiDescription": "\nWelcome to Rated API Swagger doc for developers! This doc outlines the Rated API functionality and API architecture.\n\nIt is separated into seven categories:\n\n- **Validators**: Endpoints to query into individual validator indices or aggregations of validator indices.\n- **Operators**: Endpoints to query into pre-materialized operator groupings.\n- **Network**: Endpoints to query into network aggregate stats.\n- **Slashings**: Endpoints to query into network aggregate stats.\n- **Withdrawals (beta)**: Endpoints to query into when a withdrawal is expected to land.\n- **Self Report (beta)**: Endpoint to query into all slashed validators and individual slashed validator indices\n\n[Terms of Use](https://legal.rated.network/terms/api-terms-of-use)\n\n[API Access Form](https://bit.ly/ratedAPIkeys)\n\n[API Reference](https://api-docs.rated.network/rated-api/api-reference)\n", + "apiTitle": "Rated API Beta", + "endpoints": 77, + "sdkMethods": 80, + "schemas": 91, + "parameters": 408, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.rated.network/openapi.json", + "apiBaseUrl": "https://api.rated.network" + }, + "customRequestSpecFilename": "rated.network.yaml", + "difficultyScore": 227.5, + "difficulty": "Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_realcube.com.json b/sdks/db/spec-data/from-custom-request_realcube.com.json new file mode 100644 index 000000000..6855460e1 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_realcube.com.json @@ -0,0 +1,163 @@ +{ + "securitySchemes": { + "api_key": { + "type": "apiKey", + "name": "X-Api-Key", + "in": "header" + }, + "oauth": { + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "/oauth/authorize", + "tokenUrl": "/oauth/token", + "scopes": { + "app_category_read": "Get the app categories", + "app_config_read": "Get the app_configs", + "app_config_write": "Create or edit an app_config", + "app_config_destroy": "Delete the app_config", + "app_data_repository_read": "Get the app_data_repositories", + "app_data_repository_write": "Create or edit an app_data_repository", + "app_data_repository_destroy": "Delete the app_data_repository", + "app_subscription_read": "Get the app_subscriptions", + "app_subscription_write": "Create or edit an app_subscription", + "app_subscription_destroy": "Delete the app_subscription", + "app_read": "Get the apps", + "app_write": "Create or edit an app", + "app_destroy": "Delete the app", + "contract_addition_read": "Get the contract_additions", + "contract_addition_write": "Create or edit an contract_addition", + "contract_addition_destroy": "Delete the contract_addition", + "contract_grant_read": "Get the contract_grants", + "contract_grant_write": "Create or edit an contract_grant", + "contract_grant_destroy": "Delete the contract_grant", + "contract_membership_cost_read": "Get the contract_membership_costs", + "contract_membership_cost_write": "Create or edit an contract_membership_cost", + "contract_membership_cost_destroy": "Delete the contract_membership_cost", + "contract_membership_write": "Create or edit an contract_membership", + "contract_membership_destroy": "Delete the contract_membership", + "contract_read": "Get the contracts", + "contract_write": "Create or edit an contract", + "contract_destroy": "Delete the contract", + "cost_type_read": "Get the cost_types", + "cost_type_write": "Create or edit an cost_type", + "cost_type_destroy": "Delete the cost_type", + "security_deposit_write": "Create or edit an security_seposit", + "security_deposit_destroy": "Delete the security_seposit", + "report_account_schema_read": "Get the report_account_schemas", + "report_account_schema_write": "Create or edit an report_account_schema", + "report_account_schema_destroy": "Delete the report_account_schema", + "report_template_read": "Get the report_templates", + "report_template_write": "Create or edit the report_template", + "report_template_destroy": "Delete the report_template", + "department_read": "Get the departments", + "department_write": "Create or edit an department", + "department_destroy": "Delete the department", + "manufacturer_read": "Get the manufacturers", + "manufacturer_write": "Create or edit an manufacturer", + "manufacturer_destroy": "Delete the manufacturer", + "room_and_zone_type_read": "Get room_and_zone_types", + "room_read": "Get the rooms", + "room_write": "Create or edit an room", + "room_destroy": "Delete the room", + "zone_write": "Create or edit an zone", + "zone_destroy": "Delete the zone", + "level_read": "Get level", + "level_write": "Create or edit an facility_type", + "level_destroy": "Delete the facility_type", + "facility_read": "Get facility", + "facility_write": "Create or edit an facility_type", + "facility_destroy": "Delete the facility_type", + "facility_type_read": "Get the facility_types", + "plan_version_write": "Create or edit an plan_version", + "plan_version_destroy": "Delete the plan_version", + "plan_read": "Get the plans", + "plan_write": "Create or edit an plan", + "plan_destroy": "Delete the plan", + "plan_config_read": "Get the config of a plan", + "activity_read": "Fetch activities", + "activity_write": "Create and edit an activity", + "activity_destroy": "Delete the activity", + "attachment_write": "Create or edit an attachment", + "attachment_destroy": "Delete the attachment", + "building_filter_setting_read": "Get the building_filter_settings", + "building_filter_setting_write": "Create or edit an building_filter_setting", + "building_filter_setting_destroy": "Delete the building_filter_setting", + "building_save_filter_read": "Get the building_save_filters", + "building_save_filter_write": "Create or edit an building_save_filter", + "building_save_filter_destroy": "Delete the building_save_filter", + "building_type_read": "Get the building_types", + "building_unit_membership_write": "Create or edit an building_unit_membership", + "building_unit_membership_destroy": "Delete the building_unit_membership", + "building_unit_type_read": "Get the building_unit_types", + "building_unit_type_write": "Create or edit an building_unit_type", + "building_unit_type_destroy": "Delete the building_unit_type", + "building_unit_read": "Get the building_units", + "building_unit_write": "Create or edit an building_unit", + "building_unit_destroy": "Delete the building_unit", + "building_read": "Get the buildings", + "building_write": "Create or edit an building", + "building_destroy": "Delete the building", + "customer_account_config_read": "Get the customer_account_configs", + "customer_account_config_write": "Create or edit an customer_account_config", + "customer_account_schema_read": "Get the customer_account_schemas", + "customer_account_schema_write": "Create or edit an customer_account_schema", + "customer_attributes_schema_membership_read": "Get the customer_attributes_schema_memberships", + "customer_attributes_schema_membership_write": "Create or edit an customer_attributes_schema_membership", + "customer_attributes_schema_read": "Get the customer_attributes_schemas", + "customer_attributes_schema_write": "Create or edit an customer_attributes_schema", + "image_write": "Create or edit the image", + "image_destroy": "Delete the image", + "lot_read": "Get the lots", + "lot_write": "Create or edit an lot", + "lot_destroy": "Delete the lot", + "organisation_config_read": "Get the organisation_configs", + "organisation_config_write": "Create or edit an organisation_config", + "organisation_membership_read": "Get the organisation_memberships", + "organisation_membership_write": "Create or edit an organisation_membership", + "organisation_membership_destroy": "Delete the organisation_membership", + "organisation_read": "Get the organisations", + "organisation_write": "Create or edit an organisation", + "person_read": "Get the people", + "person_write": "Create or edit an person", + "person_destroy": "Delete the person", + "person_membership_write": "Create or edit an person_membership", + "person_membership_destroy": "Delete the person_membership", + "property_read": "Get the properties", + "property_write": "Create or edit an property", + "property_destroy": "Delete the property", + "property_type_read": "Get the property_types", + "user_write": "Log In or edit, or reset password for an user", + "user_destroy": "Log out", + "vpi_index_read": "Get the vpi_index", + "credential_read": "Get oauth credentials", + "dashboard_config_read": "Get dashboard config for an account", + "dashboard_config_write": "Add or edit the dashboard config for an account", + "dashboard_config_destroy": "Remove the dashboard config for an account", + "time_dependent_attribute_read": "Get time_dependent_attribute for an account", + "time_dependent_attribute_write": "Add or edit the time_dependent_attribute for an account", + "time_dependent_attribute_destroy": "Remove the time_dependent_attribute for an account", + "ep_code_combination_read": "Get the ep_code_combinations", + "customer_account_write": "" + } + } + } + } + }, + "apiBaseUrl": "api.realcube.com/api", + "apiVersion": "1.0.0", + "apiDescription": "This API allows developers to communicate with the REALCUBE platform. Admins can also access the [admin area](https://api.realcube.com).", + "apiTitle": "REALCUBE API", + "endpoints": 214, + "sdkMethods": 387, + "schemas": 438, + "parameters": 770, + "contactEmail": "uwe.forgber@realcube.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.realcube.com/api/v1/docs.json" + }, + "customRequestSpecFilename": "realcube.com.yaml", + "difficultyScore": 798.5, + "difficulty": "Very Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_visier.com_TenantManagement.json b/sdks/db/spec-data/from-custom-request_visier.com_TenantManagement.json index c0bbbc77b..69353c05a 100644 --- a/sdks/db/spec-data/from-custom-request_visier.com_TenantManagement.json +++ b/sdks/db/spec-data/from-custom-request_visier.com_TenantManagement.json @@ -59,5 +59,5 @@ }, "customRequestSpecFilename": "visier.com_TenantManagement.yaml", "difficultyScore": 38.25, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/microcks.local_1.7.0.json b/sdks/db/spec-data/microcks.local_1.7.0.json index 69c57189f..cd699c2b1 100644 --- a/sdks/db/spec-data/microcks.local_1.7.0.json +++ b/sdks/db/spec-data/microcks.local_1.7.0.json @@ -34,5 +34,5 @@ "contactUrl": "https://github.com/microcks", "contactEmail": "laurent@microcks.io", "difficultyScore": 119, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/postmarkapp.com_server_1.0.0.json b/sdks/db/spec-data/postmarkapp.com_server_1.0.0.json index 3323229d3..d46efcdff 100644 --- a/sdks/db/spec-data/postmarkapp.com_server_1.0.0.json +++ b/sdks/db/spec-data/postmarkapp.com_server_1.0.0.json @@ -17,5 +17,5 @@ "schemas": 45, "parameters": 214, "difficultyScore": 119, - "difficulty": "Medium" + "difficulty": "Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/sportsdata.io_nhl-v3-scores_1.0.json b/sdks/db/spec-data/sportsdata.io_nhl-v3-scores_1.0.json index 70dd44903..4f9609003 100644 --- a/sdks/db/spec-data/sportsdata.io_nhl-v3-scores_1.0.json +++ b/sdks/db/spec-data/sportsdata.io_nhl-v3-scores_1.0.json @@ -27,5 +27,5 @@ "schemas": 17, "parameters": 36, "difficultyScore": 38.5, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/vtex.local_Catalog-API-Seller-Portal_1.0.0.json b/sdks/db/spec-data/vtex.local_Catalog-API-Seller-Portal_1.0.0.json index 60675d39b..73dcfa1c4 100644 --- a/sdks/db/spec-data/vtex.local_Catalog-API-Seller-Portal_1.0.0.json +++ b/sdks/db/spec-data/vtex.local_Catalog-API-Seller-Portal_1.0.0.json @@ -25,5 +25,5 @@ "schemas": 0, "parameters": 90, "difficultyScore": 38.5, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/vtex.local_Giftcard-API_1.0.json b/sdks/db/spec-data/vtex.local_Giftcard-API_1.0.json index 15493c85a..ba1ca0269 100644 --- a/sdks/db/spec-data/vtex.local_Giftcard-API_1.0.json +++ b/sdks/db/spec-data/vtex.local_Giftcard-API_1.0.json @@ -25,5 +25,5 @@ "schemas": 24, "parameters": 60, "difficultyScore": 38, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/wowza.com_1.json b/sdks/db/spec-data/wowza.com_1.json index dbe599ca3..796399be2 100644 --- a/sdks/db/spec-data/wowza.com_1.json +++ b/sdks/db/spec-data/wowza.com_1.json @@ -30,5 +30,5 @@ "parameters": 170, "contactUrl": "https://www.wowza.com/contact", "difficultyScore": 200, - "difficulty": "Hard" + "difficulty": "Medium" } \ No newline at end of file diff --git a/sdks/publish.yaml b/sdks/publish.yaml index b165949d3..66b2bb0aa 100644 --- a/sdks/publish.yaml +++ b/sdks/publish.yaml @@ -8765,3 +8765,85 @@ publish: serviceName: false sdkName: goody-{language}-sdk clientName: Goody + from-custom-request_rated.network: + homepage: rated.network + company: Rated + developerDocumentation: api-docs.rated.network/rated-api/api-reference + apiStatusUrls: inherit + metaDescription: >- + We are building reputation for machines, starting with Ethereum + validators. Our mission is to instill greater transparency and rich + context in Web3 infrastructure data. + categories: + - blockchain + - cryptocurrency + - web_3 + serviceName: false + sdkName: rated-{language}-sdk + clientName: Rated + from-custom-request_realcube.com: + homepage: realcube.com + company: Realcube + developerDocumentation: docs.realcube.com/ + apiStatusUrls: inherit + metaDescription: >- + Realcube is the cloud solution for smart and flexible digitilization in + real estate management. Our API-first platform is here to revolutionize + the real estate industry. It is a one-stop-shop for intelligent solutions + which are adaptive to every client's individual needs. + + + Realcube's ecosystem offers a growing number of applications from our + valuable and industry-leading partners which aggregate the customer's + data. It is worth mentioning that we keep our customers' data privacy and + well-being as our top priority. + + At Realcube, we enable the real estate companies and their contractual + partners to consolidate their data in our state-of-the-art platform. This + creates a uniform database that gives access to asset managers and other + management levels to all relevant information at all times, just a click + away! + + + Have we grabbed your interest in our innovative solution for your real + estate management? + + Book a free demo today! + + + For more information feel free to visit our website or contact us at: + + info@realcube.com + categories: + - real_estate + serviceName: false + sdkName: realcube-{language}-sdk + clientName: Realcube + from-custom-request_packetfabric.com: + homepage: packetfabric.com + company: PacketFabric + developerDocumentation: docs.packetfabric.com/api/v2/ + apiStatusUrls: inherit + metaDescription: >- + PacketFabric is the Connectivity Cloud, designed from the ground up for + scale, performance, programmability, elasticity, and security without + compromise, enabling enterprises to build an agile cloud core that + delivers optimal digital business outcomes. PacketFabric's + Network-as-a-Service (NaaS) platform leverages a massively scalable + private optical network, the latest in packet switching technology, and + end-to-end automation. PacketFabric delivers on-demand, private, and + secure connectivity services between hundreds of premier colocation + facilities and cloud providers across the globe. IT, network, and DevOps + teams can deploy cloud-scale connectivity in minutes via an advanced + Application Program Interface (API) and web portal. PacketFabric was + recognized as the "2020 Fierce Telecom Innovation Award for Cloud + Services," named one of the "10 Hottest Networking Startups of 2020" by + CRN, a Futuriom 40 Top Private Company, and a "2020 Cool Vendor in + Enhanced Internet Services and Cloud Connectivity" by Gartner. + PacketFabric investors include NantWorks and Digital Alpha Advisors. For + more information, visit packetfabric.com. + categories: + - network + serviceName: false + sdkName: packet-fabric-{language}-sdk + clientName: PacketFabric diff --git a/sdks/src/assign-category-to-api.ts b/sdks/src/assign-category-to-api.ts index f5800be8d..81477230d 100644 --- a/sdks/src/assign-category-to-api.ts +++ b/sdks/src/assign-category-to-api.ts @@ -25,6 +25,7 @@ export const categoriesToMapTo = { "Reviews", "Compliance & Security", "Insurance", + "Real Estate", ], Commerce: [ "Accounting", diff --git a/sdks/src/collect-from-custom-requests.ts b/sdks/src/collect-from-custom-requests.ts index 18b11ee11..3acaff0e2 100644 --- a/sdks/src/collect-from-custom-requests.ts +++ b/sdks/src/collect-from-custom-requests.ts @@ -2338,6 +2338,19 @@ const customRequests: Record = { url: "https://api.marketdata.app/schema/", apiBaseUrl: "https://api.marketdata.app/", }, + "rated.network": { + type: "GET", + url: "https://api.rated.network/openapi.json", + apiBaseUrl: "https://api.rated.network", + }, + "realcube.com": { + type: "GET", + url: "https://api.realcube.com/api/v1/docs.json", + }, + "packetfabric.com": { + type: "GET", + url: "https://api.packetfabric.com/openapi/specification/swagger.yaml", + }, "melod.ie": { type: "GET", url: "https://api.melod.ie/openapi.yml",